阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Proxmox VE 6 部署Oracle 19C(单实例)

285次阅读
没有评论

共计 7474 个字符,预计需要花费 19 分钟才能阅读完成。

基本条件准备

  • 准备虚拟机,基本配置为:16G 内存、4core cpu、4 个磁盘(1 个系统盘、一个 /tmp 分区、一个数据分区、一个交换分区 swap)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

  • 准备操作系统,并使磁盘可用。

 Proxmox VE 6 部署 Oracle 19C(单实例)

建议正式环境为用户数据存储提供独立的磁盘或者分区。

  • 从 Oracle 官方网站下载 oracle 19c,文件名为  LINUX.X64_193000_db_home.zip。用 unzip 对其进行解压,备用。

[root@CentOS100 home]# unzip LINUX.X64_193000_db_home.zip  -d /home/oracle19c
 

[root@centos100 home]# unzip LINUX.X64_193000_db_home.zip  -d /home/oracle19c

 Proxmox VE 6 部署 Oracle 19C(单实例)

  • 准备安装环境,包括安装 oracle 所必需的依赖库、所需的用户及组、系统参数等修改。因为是单实例部署,因此未创建其它更多的用户。又由于步骤繁琐,为避免人为手工输入出错,提高效率,我写了个脚本 (centos 7,RedHat EL 7),参照了官方的文档,照搬运行即可!

[root@centos100 ~]# more preinstall.sh 
#!/bin/bash
#writen by sery(wx:formyz),2019-7-18

#install dependency package
yum install -y \
bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
glibc-devel \
kmod \
kmod-libs \
gcc-c++ \
ksh \
libaio \
libaio-devel \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
libgcc \
librdmacm-devel \
libstdc++ \
libstdc++-devel \
libxcb \
make \
net-tools \
nfs-utils \
Python \
python-configshell \
python-rtslib \
python-six \
targetcli \
smartmontools \
sysstat \
tigervnc-server

#install xwindow
yum groupinstall –y "X Window System"
yum groupinstall -y "GNOME Desktop" "Graphical Administration Tools"

#modify system parameter
cat << EOF > /etc/sysctl.d/98-oracle-kernel.conf
vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 8589934590 
kernel.shmall = 2147483648
kernel.shmmni = 4096
EOF
sysctl -p /etc/sysctl.d/98-oracle-kernel.conf

cat << EOF > /etc/security/limits.d/99-oracle-limits.conf
oracle soft nproc 2047

oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
EOF

#create groups and user
groupadd -g 1000 oinstall
groupadd -g 1001 dba
useradd -g oinstall -G dba oracle
echo "sery888"|passwd --stdin oracle

#create directory
mkdir -p /u01/app/oracle/product/19.3/db_01
chown -R oracle.oinstall /u01
chmod -R 755 /u01
 

[root@centos100 ~]# more preinstall.sh 

#!/bin/bash

#writen by sery(wx:formyz),2019-7-18

#install dependency package

yum install -y \

bc \

binutils \

compat-libcap1 \

compat-libstdc++-33 \

elfutils-libelf \

elfutils-libelf-devel \

fontconfig-devel \

glibc \

glibc-devel \

kmod \

kmod-libs \

gcc-c++ \

ksh \

libaio \

libaio-devel \

libX11 \

libXau \

libXi \

libXtst \

libXrender \

libXrender-devel \

libgcc \

librdmacm-devel \

libstdc++ \

libstdc++-devel \

libxcb \

make \

net-tools \

nfs-utils \

python \

python-configshell \

python-rtslib \

python-six \

targetcli \

smartmontools \

sysstat \

tigervnc-server

#install xwindow

yum groupinstall –y “X Window System”

yum groupinstall  -y “GNOME Desktop” “Graphical Administration Tools”

#modify system parameter

cat << EOF > /etc/sysctl.d/98-oracle-kernel.conf

vm.swappiness = 1

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

kernel.sem = 250 32000 100 128

fs.aio-max-nr = 1048576

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 8589934590 

kernel.shmall = 2147483648

kernel.shmmni = 4096

EOF

sysctl -p /etc/sysctl.d/98-oracle-kernel.conf

cat << EOF > /etc/security/limits.d/99-oracle-limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

EOF

#create groups and user

groupadd -g 1000 oinstall

groupadd -g 1001 dba

useradd -g oinstall -G dba oracle

echo “sery888″|passwd –stdin oracle

#create directory

mkdir -p /u01/app/oracle/product/19.3/db_01

chown -R oracle.oinstall /u01

chmod -R 755 /u01

此脚本执行完以后,再对 oracle 帐号设置环境变量。切换到用户 oracle,然后编辑文件 /home/oracle/.bash_profile。增加其内容为:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_01
export PATH=$ORACLE_HOME/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export ORACLE_SID=serydb
 

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_01

export PATH=$ORACLE_HOME/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

export ORACLE_SID=serydb

执行 source .bash_profile 使其生效。

如果是隔离环境,不能连接互联网进行安装的话,需要挂载操作系统 iso 镜像文件,手动创建 yum 源。

  • 启动 vncserver 服务,初次启动需要设置密码。如果是 root 启动的话,可以设置成系统 root 帐号相一致的密码。在客户端进行连接时,如果出现蓝屏(与 windows 蓝屏不可同日而语,仅仅是桌面上没有图标而已),需要检查桌面环境是否安装完整,特别是 gnome 及图形管理工具。

从 windows 的 vnc 客户端 vnc viewer 连接时,需要指定 ip 地址及带冒号的数字,这个数字在 vncserver 启动时,会有输出,不要想当然或者从网上拷贝下来随意乱输一通。

 Proxmox VE 6 部署 Oracle 19C(单实例)

启动的数字是 1,那么连接的时候,也要与之相一致。

 Proxmox VE 6 部署 Oracle 19C(单实例)

输入密码,如果正确,则出现远程图形界面,如果忘记密码或者密码错误,可用 vncpass 进行重新设定。

 Proxmox VE 6 部署 Oracle 19C(单实例)

远程图形方式进行安装

 

一、为安装目录赋予权限

Oracle 的安装,使用的是普通帐号 oracle,为了避免权限问题影响安装,需要把解压出来的目录赋予执行权限,具体操作就是改变目录属主(组)及给予读写权限。

-bash-4.2# chown -R oracle:oinstall /home/oracle19c/
-bash-4.2# chmod -R 755 /home/oracle19c/
-bash-4.2# mv /home/oracle19c/*  /u01/app/oracle/product/19.3/db_01
 

-bash-4.2# chown -R oracle:oinstall /home/oracle19c/

-bash-4.2# chmod -R 755 /home/oracle19c/

-bash-4.2# mv /home/oracle19c/*  /u01/app/oracle/product/19.3/db_01

尽可能把解压后的目录复制到设定好的 ORACLE_HOME 下,因为在安装过程中,只能指定 ORACLE_BASE。到这一步,我才明白为啥压缩包的名字是“LINUX.X64_193000_db_home”。

二、设置变量 DISPLAY

为了是描述更加清晰准备,我分两个步骤来描述。

(一)以 vnc 客户端登录系统,右键调出终端,然后以 root 帐号执行指令 xhost +。

 Proxmox VE 6 部署 Oracle 19C(单实例)

(二)再开一个终端,切换到 oracle 帐号,执行指令“export DISPLAY=:1”,此数字 1 来自 vncserver 启动时的输出,不要照网上别人的文章乱复制一通,否则下一步执行安装进行不下去。

 Proxmox VE 6 部署 Oracle 19C(单实例)

三、开始安装

(一)运行安装脚本

进入 oracle 安装脚本所在的目录,执行“sh runInstaller”。

 Proxmox VE 6 部署 Oracle 19C(单实例)

如果一切正常,就会弹出安装界面,如下图所示:

 Proxmox VE 6 部署 Oracle 19C(单实例)

(二)安装过程中的设置。

1、选择只安装软件(安装完软件,并且监听器正常以后,再创建数据库)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

2、选择单实例(有时间了再搞 oracle rac)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

3、选企业版(本人在以前来没选过标准版)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

4、选择 oracle 基础目录,默认目录可能与我开始的规划目录有差异,改正它。

 Proxmox VE 6 部署 Oracle 19C(单实例)

5、选定清单目录。

 Proxmox VE 6 部署 Oracle 19C(单实例)

6、选定属组。单实例默认就行。

 Proxmox VE 6 部署 Oracle 19C(单实例)

7、Root 脚本自动执行配置,可以把它选上,并输入系统 root 的密码。这样做的好处,是不用像以前的版本,执行过程中,需要单���切换到终端,以 root 帐号执行两个脚本。这个简化,能提高一点效率。

 Proxmox VE 6 部署 Oracle 19C(单实例)

8、必要条件检查,包括内存、依赖包、内核参数等等等等一大堆。看到不少文档,通不过就跳过了之。还是建议多点耐心,以全部满足条件为妙!

 Proxmox VE 6 部署 Oracle 19C(单实例)

9、第九步为信息汇总,可以大概了解一下。

 Proxmox VE 6 部署 Oracle 19C(单实例)

确认没有需要修改的项目后,点击按钮“Install”进行下一步。

10、执行文件复制、链接等操作。这个过程耗费时间比较长,可以暂时休息一会。

 Proxmox VE 6 部署 Oracle 19C(单实例)

在进度条进行到大概 63% 的时候,弹出确认一个确认的界面,通过阅读上面的文字,即可知道是怎么一回事情,直接选 yes 就完事(前边提到过)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

11、软件安装完成,

 Proxmox VE 6 部署 Oracle 19C(单实例)

配置网络监听器

继续在上述终端执行指令 netca,如果弹不出图形界面,则需要再设置 DISPLAY。

 Proxmox VE 6 部署 Oracle 19C(单实例)

接下来点若干个“Next”,最后一步点完成。

 Proxmox VE 6 部署 Oracle 19C(单实例)

一创建好监听器,它就自动起来了,通过指令 lsnrctl status 了解其运行状态:

[oracle@centos100 db_01]$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUL-2019 04:31:03

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=centos100)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                19-JUL-2019 04:22:25
Uptime                    0 days 0 hr. 8 min. 45 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.3/db_01/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/centos100/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=centos100)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
 

创建数据库

 

1、终端任意路径执行指令 dbca,弹出配置助手窗口。

 Proxmox VE 6 部署 Oracle 19C(单实例)

2、选择典型配置,不选择容器数据库(暂时不熟悉这个)。

 Proxmox VE 6 部署 Oracle 19C(单实例)

3、配置汇总。可拉滚动条,查看一下大概有哪些设置。

 Proxmox VE 6 部署 Oracle 19C(单实例)

4、确认没什么不妥以后,点“Finish”按钮。接下来,耐心等待。

 Proxmox VE 6 部署 Oracle 19C(单实例)

5、进度到 40% 左右的时候,通过详细按钮“detail”可知 oracle 实例已经开始启动。

 Proxmox VE 6 部署 Oracle 19C(单实例)

登录验证,看实例是否已经正常。

[oracle@centos100 db_01]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jul 19 04:51:19 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select count(*) from v$session;

  COUNT(*)
----------
        49
 

[oracle@centos100 db_01]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Fri Jul 19 04:51:19 2019

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.3.0.0.0

SQL> select count(*) from v$session;

  COUNT(*)

———-

        49

生产环境后续工作

如果是用于生产环境,再创建完数据库以后,还需要多系统表空间、临时表空间、redo 日志组、密码过期时间等等进行调整。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计7474字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中