实操篇:Oracle 19c的安装部署

网友投稿 1812 2022-10-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

实操篇:Oracle 19c的安装部署

【引言】

oracle19c的Autonomous自治布局越来越明朗,19c力求稳定运行,这正是Oracle一直在倡导大力推行的云自治、云管理策略相吻合,且也提供了本地安装,向下兼容性,可谓雄心勃勃;另也侧面反映,传统DBA们要开始投钱武装大脑了,平时会的那点东西不怎么够用了,为了美好生活的向往,两条路走:要么在Oracle这条路上学深它;要么多学点其他DB啥的,找棵其他树吊吊看,争取被pass掉还有口饭吃。

智能自治、云时代、人工智能时代到来,这太可怕了;各位亲,看清大局,找坑坐好。

先简单介绍19c的重要性:

Oracle Database 19c ,也就是12.2.0.3,是Oracle Database 12c和18c系列产品的最终版本。 19c提供4年的高级支持(截止到2023年1月底)和至少3年的延长支持(截至2026年1月底)。有关最新的Oracle支持计划,请参阅My Oracle Support上的文档ID 742060.1。

重要提示:

《干货:RHEL7.2生产环境下双节点12c RAC搭建实操》

这里简单展示下:

Oracle12c版本对应关系:

Oracle12cR2=12.2.0.1

Oracle18C=12.2.0.2

Oracle19c=12.2.0.3

在Linux上安装Oracle Database 19c,需要OL7、RHEL7、SLES12及以上的更高版本。

下面的内容来自官方文档。

The following Linux x86-64 kernels are supported:

1. Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4: 4.1.12-112.16.7.el7uek.x86_64 or later

2. Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 5: 4.14.35-1818.1.6.el7uek.x86_64 or later

3. Oracle Linux 7.4 with the Red Hat Compatible kernel: 3.10.0-693.5.2.0.1.el7.x86_64 or later

4. Red Hat Enterprise Linux 7.4: 3.10.0-693.5.2.0.1.el7.x86_64 or later

5. SUSE Linux Enterprise Server 12 SP3: 4.4.103-92.56-default or later

注意:

Oracle Enterprise Linux6和RedHat Linux6并没有出现在官方给的列表中。

目前,自己有个生产系统做19c 的HA高可用搭建部署,所以有了此文。

本文为19c的non-cdb安装,其实和cdb安装大同小异,大家可借鉴参考。

重要提示:

19c也就是12.2.0.3,是12c系列的终极、稳定版本!

广告插播:“生产就上19c,稳定运行妥妥的”。

本文大纲:

1. 环境变量设置(重点)

2. 软件安装(简述)

3. 实例安装(简述)

文章将重点讲述环境变量的设置,软件安装和实例安装因和11g、12c相似,本文将不做过多讲述。

【软件下载】

Oracle网址:https://oracle.com/cn/downloads/

19.3的下载地址:

https://oracle.com/database/technologies/oracle19c-linux-downloads.html

一、 环境变量设置

节点命名规划

主机的节点名称规划为group-db01。

备机的节点名称规划为group-db02。

ADG的节点名称规划为group-adg

192.168.0.161  group-db01

192.168.0.162  group-db02

192.168.0.163  group-adg

1) 创建用户

三台服务器,分别建立用户和组:

[root@group-db01 ]# groupadd dba[root@group-db01 ]# useradd -g dba oracle[root@group-db01 ]# passwd oracle

分配目录及权限设置:

[oracle@group-db01 ~]$ mkdir -p oracle/oracle/product/19.3.0/db_1[oracle@group-db01 ~]$ chmod -R 775 oracle

2) /ETC/HOSTS

# more etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#primary database192.168.0.161 group-db01#second database192.168.0.162 group-db02#adg database192.168.0.163 group-adg

注意:

这里面 127.0.0.1 一定要这么写,不然2节点root.sh可能出 ctss错误,ctss 超时默认是10分钟。

3) 配置内核参数

参考

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/database-installation-guide-linux.pdf

中A-4页

vi >> /etc/sysctl.conf <

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 18446744073692774399kernel.shmmax = 922337203684638kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576

Confirm that the values are set correctly:

# sbin/sysctl -a

To check the current TCP buffer size, enter the following command:

[root@group-db01 ~]# sysctl -a |grep -e net.ipv4.tcp_[rw]memnet.ipv4.tcp_rmem = 4096 87380 6291456net.ipv4.tcp_wmem = 4096 16384 4194304

4)Set shell limits for the oracle user

1. Add the following lines to the etc/security/limits.conf file:

[root@group-db01 ~]# vi etc/security/limits.conf# add limits for oracleoracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536

设置ulimit

验证当前的ulimits,在/etc/profile添加如下内容是

if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -u 16384 ulimit -n 65536 elseulimit -u 16384 -n 65536 fifi

# source etc/profile

5) 配置用户环境变量

----oracle 用户参数设置

[oracle@group-db01 ~]$ vi ~/.bash_profile# Oracle SettingsORACLE_BASE=/oracle/oracle; export ORACLE_BASEORACLE_HOME=/oracle/oracle/product/19.3.0/db_1; export ORACLE_HOMEORACLE_TERM=xterm; export ORACLE_TERMORACLE_SID=group; export ORACLE_SID PATH=$ORACLE_HOME/bin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATHLANG=en_US;export LANG

6) 检查需要的包

操作系统包安装及配置

Packages for Oracle Linux 7 and Red Hat Enterprise Linux 7

The following packages (or later versions) must be installed:

binutils-2.23.52.0.1-12.el7.x86_64compat-libcap1-1.10-3.el7.x86_64gcc-4.8.2-3.el7.x86_64gcc-c++-4.8.2-3.el7.x86_64glibc-2.17-36.el7.i686glibc-2.17-36.el7.x86_64glibc-devel-2.17-36.el7.i686glibc-devel-2.17-36.el7.x86_64kshlibaio-0.3.109-9.el7.i686libaio-0.3.109-9.el7.x86_64libaio-devel-0.3.109-9.el7.i686libaio-devel-0.3.109-9.el7.x86_64libgcc-4.8.2-3.el7.i686libgcc-4.8.2-3.el7.x86_64libstdc++-4.8.2-3.el7.i686libstdc++-4.8.2-3.el7.x86_64libstdc++-devel-4.8.2-3.el7.i686libstdc++-devel-4.8.2-3.el7.x86_64libXi-1.7.2-1.el7.i686libXi-1.7.2-1.el7.x86_64libXtst-1.2.2-1.el7.i686libXtst-1.2.2-1.el7.x86_64make-3.82-19.el7.x86_64sysstat-10.1.5-1.el7.x86_64

综上所述,执行以下命令将安装所需要的rpm包

[root@group-db01 ~]#yum -y install binutils compat-libstdc++-33 elfutils-libelf \elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common \glibc-devel kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel \make numactl-devel sysstat unixODBC unixODBC-devel pdksh compat-libcap1

7) 关闭防火墙

禁止防火墙和selinux

# systemctl disable firewalld# systemctl stop firewalld

8) 关闭SELINUX

# 修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效

最小配置,将SElinux设置为PERMISSIVE模式:

# vi etc/selinux/config

SELINUX=disable

# setenforce 0

# getenforce

Disabled

9) 禁用透明巨页

临时关闭

Disabling Transparent HugePages

# echo never> /sys/kernel/mm/transparent_hugepage/enabled# cat /sys/kernel/mm/transparent_hugepage/enabledalways madvise [never]

永久关闭:

修改/etc/default/grub,文末追加如下:

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg_root/lv_root rd.lvm.lv=vg_root/lv_swap rhgb quiet transparent_hugepage=never"

使修改生效:

#grub2-mkconfig -o /boot/grub2/grub.cfg

如上面的方法重启之后没生效,可用以下方法:

或:Add the following lines in /etc/rc.local and reboot the server:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabledfiif test -f /sys/kernel/mm/transparent_hugepage/defrag; thenecho never > /sys/kernel/mm/transparent_hugepage/defragfi

10) 防止实例异常宕掉

在RHEL7.2中,systemd-logind 服务引入了一个新特性,该新特性是:当一个user 完全退出os之后,remove掉所有的IPC objects。该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。默认设置了RemoveIPC=yes 的RHEL7.2  会crash掉Oracle asm 实例和Oracle database实例,该问题也会在使用Shared Memory Segment (SHM) or Semaphores (SEM)的应用程序中发生。

如何防止?

#vi /etc/systemd/logind.conf将RemoveIPC=yes 修改为no

重启生效或者运行如下命令使之生效

# systemctl daemon-reload# systemctl restart systemd-logind

《What:ASM自动脱落了》

注意:因此次RHEL7.3,故不用修改/etc/systemd/logind.conf配置。

11) 配置互信(练手,可跳过)

三个节点分别执行 :

# ssh-keygen -t rsa[root@vehi_mondb2 .ssh~]# scp id_rsa.pub 192.168.0.161:~/.ssh/id_rsa.pub1 [root@vehi_mondb3 .ssh~]# scp id_rsa.pub 192.168.0.161:~/.ssh/id_rsa.pub2 [root@vehi_mondb1 .ssh~]# cat id_rsa.pub id_rsa.pub1 id_rsa.pub2 > authorized_keys[root@vehi_mondb1 .ssh~]# scp authorized_keys 192.168.0.162:~/.ssh/ [root@vehi_mondb1 .ssh~]# scp authorized_keys 192.168.0.163:~/.ssh/

shell > chmod 600 authorized_keys (三个节点都执行)

验证ssh配置是否正确

以oracle用户在所有节点分别执行:

$ ssh group-db01 date$ ssh group-db02 date$ ssh group-adg date

如果不需要输入密码就可以输出时间,说明ssh验证配置成功。必须把以上命令在两个节点都运行,每一个命令在第一次执行的时候需要输入yes。如下框文处:

[oracle@group-db02 .ssh]$ ssh group-db01 dateThe authenticity of host 'group-db01 (192.168.0.161)' can't be established.ECDSA key fingerprint is 3d:90:b0:64:bc:95:07:fc:ba:e1:e3:90:11:f3:3a:14.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'group-db01' (ECDSA) to the list of known hosts.Tue Sep 17 14:10:32 CST 2019

如果不运行这些命令,即使ssh验证已经配好,安装clusterware的时候也会出现错误:

The specified nodes are not clusterable

因为,配好ssh后,还需要在第一次访问时输入yes,才算是真正的无障碍访问其他服务器。

12) 配置MobaXtem

安装MobaXtem9.0 以上版本,进行图形化安装

设置环境变量:export DISPLAY=IP:0.0

说明:此IP为MobaXtem本地客户端电脑的IP地址。

二、 Oracle软件安装(简述)

使用yum istall 方式安装上述所显示所需packages;

三、实例安装(简述)

1. 配置监听

使用dbca安装实例

至此,全部安装介绍。

【结语】

1. 在Linux上安装Oracle Database 19c,需要OL7、RHEL7、SLES12及以上的更高版本;

2. 19c也就是12.2.0.3,是12c系列的终极、稳定版本;

3. “生产就上19c,稳定运行妥妥的”;

4. 智能自治、云时代、人工智能时代到来,这太可怕了;各位亲,看清大局,危机意识,找坑坐好。

5. 近代史告诉我们“落后就要挨打”,要有危机意识,规划好少烦恼。

【参考】

https://oracle.com/database/technologies/oracle19c-linux-downloads.html

【参考】

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/database-installation-guide-linux.pdf

往期精彩文章

========================================

干货:RHEL7.2生产环境下双节点12c RAC搭建实操干货:RHEL7.1环境下双节点Oracle RAC搭建实操LINUX环境:MySQL和Oracle开机自启动,咋搞?What:ASM自动脱落了实操:12C RAC环境下的ADG同步库搭建Oracle Rac:关闭透明大页的原因及方法Oracle ADG同步技术,DBA必备的一种“后悔药”Logminer:oracle人为误操作之恢复神器“神器”:Oracle日志采集分析工具——TFA技术八卦篇:Oracle云时代下的一个不再默认存在账号:Scott

上一篇:华为openGauss 区域和格式化
下一篇:UXDB优炫数据库产品优势
相关文章

 发表评论

暂时没有评论,来抢沙发吧~