龙空技术网

部署Oracle 19C RAC

王啸皓月山巅 1446

前言:

眼前姐妹们对“oracleasmlib更该权限”大概比较关切,咱们都想要分析一些“oracleasmlib更该权限”的相关知识。那么小编也在网摘上收集了一些对于“oracleasmlib更该权限””的相关内容,希望各位老铁们能喜欢,朋友们快快来了解一下吧!

Oracle 19C RAC是一个具有高稳定性、高可用性、可扩展、高安全性的数据库实现方式,可以满足业务的发展需要。

Oracle 19C RAC环境在数据库和实例之间存在一对多的关系,Oracle 19C RAC环境可以有多个实例,这些实例访问共享存储上的一组存储文件。集群的每个节点都本地安装了网格基础设施GI(Grid),Oracle Clusterware和Oracle 自动存储管理(ASM)一起构成了Oracle 的网格基础结构。Oracle 19C RAC的实例是一组处理数据库文件的进程和内存,缓存融合Cache Fusion是ORACLE RAC(Real Application Cluster)集群中的一种无磁盘缓存一致性机制,它直接把数据库的副本从持有实例的内存缓存提供给请求实例的内存缓存。缓存融合和集群接口都使用专用网络互连进行集群节点间的通信。

Oracle 19C RAC安装步骤如下:

1.软件下载:

从Oracle官网下载软件:LINUX.X64_193000_grid_homeLINUX.X64_193000_db_homeLINUX.X64_193000_examplesjdk-8u261-linux-x64.tar下载完成后放入创建出来的相应目录中。jdk解压放入/usr/local/,并重命名成java目录。LINUX.X64_193000_grid_home 放到创建后的$GRID_HOME变量设置的目录中。LINUX.X64_193000_db_home放入之后设置的Oracle安装目录$ORACLE_HOME变量的目录中。注意:下载后的安装软件只需放入一个Oracle节点即可。一般我是放置到racnode1的节点相应目录。

2.主机规划及网络、网口规划:

操作系统:CentOS7.6 (7.6.1810)Oraclerac1: 192.168.163.149 (ens33) 192.168.239.149(ens34) 用户名:root,密码:(实验暂时用简单密码,生产需更换成复杂密码)Oraclerac2: 192.168.163.150 (ens33) 192.168.239.150(ens34) 用户名:root,密码:(实验暂时用简单密码,生产需更换成复杂密码)ens33(NAT) 设置成仅NAT网络地址转换模式,设置成Public公共网络的IP地址。客户端连接的时候直接连接、对外提供服务访问公共网络IP地址。客户端软件一般连接SCAN(Single Client Access Network)的地址。ens37(仅主机)设置成仅主机模式,设置成Private 私有网络的IP地址,用来提供内网节点间通信、集群管理和Cache Fusion缓存融合、Oracle Auto Storage Manage(ASM)自动存储管理的功能。Openfiler1:共享存储设备,这里采用openfiler软件模拟的共享存储。192.168.163.151 (eth0) (关闭外网) 192.168.239.151(eth1) 用户名:root,密码:(实验暂时使用简单密码,生产需更换成复杂密码)

3.网络规划:

网卡ens33 连接公共网络,使用IP地址段是192.168.163.128/24 网关使用192.168.163.2 模拟的Windows10 电脑客户端使用192.168.163.1的IP地址。网卡 ens34 用于oracle rac专用互连和网络存储服务器以便进行共享iscsi访问。供Oracle用来传输cluster manager 和cache fusion 的相关数据,使用的IP地址段是192.168.239.128/24 网关使用192.168.239.2。

4.存储规划:

存储(openfiler): 192.168.239.151 (eth1)(仅主机) 用户名:root,密码:自己设置。Web administrator GUI URL: 用户名:openfiler 密码:password(这个WEB UI界面的用户名和密码是默认的)

5.IP规划:

其中2个节点的RAC,分成racnode1和racnode2。

还有一个存储节点是openfiler1。以下文件是/etc/hosts的内容:

192.168.163.149 racnode1.876long.com racnode1

192.168.163.150 racnode2.876long.com racnode2

192.168.239.149 racnode1-priv.876long.com racnode1-priv

192.168.239.150 racnode2-priv.876long.com racnode2-priv

192.168.163.151 openfiler1.876long.com openfiler1

192.168.239.151 openfiler1-vip.876long.com openfiler1-priv

192.168.163.152 racnode1-vip.876long.com racnode1-vip

192.168.163.153 racnode2-vip.876long.com racnode2-vip

192.168.163.154 racnode-cluster-scan.876long.com racnode-cluster-scan

192.168.163.155 racnode-cluster-scan.876long.com racnode-cluster-scan

192.168.163.156 racnode-cluster-scan.876long.com racnode-cluster-scan

注意:

节点配置:

节点racnode1和racnode2都是2核心8G内存2000G(不立即分配磁盘)的配置。

数据库集群名称是racdb,实例名是racdb1和racdb2。

网络配置:

racnode1节点 公网IP:192.168.163.149 私网IP:192.168.239.149 虚拟IP:192.168.163.152

racnode2节点 公网IP:192.168.163.150 私网IP:192.168.239.150 虚拟IP:192.168.163.153

openfiler1节点 公网IP:192.168.163.151 私网IP:192.168.239.151 虚拟IP:不需要。 openfiler1 一般网卡eth1公网IP地址可以设置ONBOOT=no。 存储走内部网络,可以提高网络传输速度和稳定性,公网关闭即可。

SCAN 名称是:racnode-cluster-scan IP地址是:192.168.163.154~156。

6.Oracle 软件组件规划:

软件组件分成两种:Grid Infrastructure和Oracle RAC组件。

Grid Infrastructure 组件:操作系统用户是grid,主组是oinstall,辅助组是asmadmin、asmdba、asmoper。主目录路径是/home/grid。Oracle基目录设置是/u01/app/grid,Oracle主目录设置是/u01/app/19.3.0.0/grid。

Oracle RAC组件:操作系统用户是oracle,主组是oinstall,辅助组是dba、oper、asmdba。Oracle主目录是/home/oracle。Oracle 基目录是/u01/app/oracle,Oracle 主目录设置是/u01/app/oracle/product/19.3.0.0/dbhome_1。

7.存储组件规划:

存储组件分成3种:OCR/VT(集群注册表/表决磁盘Voting Disk) 、数据库文件、快速恢复区(FRA)。

存储组件文件系统采用ASM(Oracle Auto Storage Manager)自动存储管理。

卷大小OCR/VT设置3块100G的卷大小,ASM卷组名是+CRS,ASM冗余级别是Normal。在Openfiler中的卷组名分别是racdb-crs1、racdb-crs2、racdb-crs3。

卷大小数据文件设置3块400G的卷大小,ASM卷组名是+DATA,ASM冗余级别是Normal。在Openfiler中的卷组名分别是racdb-data1、racdb-data2、racdb-data3。

卷大小快速恢复区设置3块100G的卷大小,ASM卷组名是+FRA,ASM冗余级别是Normal。在Openfiler中的卷组名分别是racdb-fra1、racdb-fra2、racdb-fra3。

Oracle中冗余方式分成External、Normal、High等。三种模式需要的磁盘组中磁盘分别为1、3、5。

其中External代表使用外部共享存储设备或者是磁盘的系统底层RAID实现数据高可用。

其中Normal代表正常的冗余模式。提供2份镜像来保护数据(镜像数据一次),有效磁盘空间是所有磁盘设备空间总和的1/2。

其中High代表高安全性的冗余模式。提供3份镜像来保护数据(镜像数据2次),用来提高性能和数据的安全,最少需要3块硬盘。有效磁盘空间是所有磁盘设备空间总和的1/3。冗余级别提高了,是以牺牲硬件的代价来保证的。

本次安装我采用openfiler软件虚拟出9个iscsi-target中划分的LUN分区,分别3块磁盘充当CRS、DATA数据库文件、FRA快速恢复区文件。

CRS的磁盘是racdb-crs1~3,DATA数据库文件的磁盘是racdb-data1~3、快速恢复区FRA的磁盘是racdb-fra1~3。

8.网卡IP配置如下:

[root@racnode1 ~]# more /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

#BOOTPROTO=dhcp

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

#IPV6INIT=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=6768ea13-74d6-47b3-8b97-ff1ca3f65461

DEVICE=ens33

#ONBOOT=no

ONBOOT=yes

IPADDR=192.168.163.149

NETMASK=255.255.255.0

GATEWAY=192.168.163.2

#DNS1=114.114.114.114

#DNS2=202.106.46.151

DNS1=192.168.163.149

DNS2=192.168.163.150

[root@racnode1 ~]# more /etc/sysconfig/network-scripts/ifcfg-ens34

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

#BOOTPROTO=dhcp

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

#IPV6INIT=yes

IPV6INIT=no

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens34

UUID=4e096506-0195-4dad-9c38-484983010f1d

DEVICE=ens34

#ONBOOT=no

ONBOOT=yes

IPADDR=192.168.239.149

NETMASK=255.255.255.0

DNS1=192.168.163.149

DNS2=192.168.163.150

9.关闭网卡IPV6设置:

# vim /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1

#sysctl -p

# systemctl stop NetworkManager

# systemctl disable NetworkManager

10.用户和组的说明:

安装过程中涉及到10个用户组和用户,说明如下:

组 角色 权限

oinstall 安装和升级ORACLE 软件

dba sysdba 创建、删除、修改、启动、关闭数据库,切换日志归档模式,备份恢复数据库

oper sysoper 启动、关闭、修改、备份、恢复数据库,修改归档模式

asmdba sysdba自动存储管理 管理ASM实例

asmoper sysoper自动存储管理 启动、停止ASM实例

asmadmin sysadmin 挂载、卸载磁盘组,管理其他存储设备

backupdba sysbackup 启动关闭和执行备份恢复(19c)

dgdba sysdg 管理Data Guard(19c)

kmdba syskm syskm 加密管理相关操作

racdba rac管理

11.用户创建和密码设置:

/usr/sbin/groupadd -g 50001 oinstall

/usr/sbin/groupadd -g 50002 dba

/usr/sbin/groupadd -g 50003 oper

/usr/sbin/groupadd -g 50004 backupdba

/usr/sbin/groupadd -g 50005 dgdba

/usr/sbin/groupadd -g 50006 kmdba

/usr/sbin/groupadd -g 50007 asmdba

/usr/sbin/groupadd -g 50008 asmoper

/usr/sbin/groupadd -g 50009 asmadmin

/usr/sbin/groupadd -g 50010 racdba

/usr/sbin/useradd -u 50011 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid

/usr/sbin/useradd -u 50012 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmadmin,racdba oracle

echo "oracle" | passwd --stdin oracle (实验暂时用简单密码,生产需更换成复杂密码)

echo "oracle" | passwd --stdin grid (实验暂时用简单密码,生产需更换成复杂密码)

#chage -M -1 oracle

#chage -M -1 grid

12.RAC两个节点和存储节点都需要设置主机名进行/etc/hosts文件修改:

注意:不能出现环回(loopback)地址。

#vim /etc/hosts:

192.168.163.149 racnode1.876long.com racnode1

192.168.163.150 racnode2.876long.com racnode2

192.168.239.149 racnode1-priv.876long.com racnode1-priv

192.168.239.150 racnode2-priv.876long.com racnode2-priv

192.168.163.152 racnode1-vip.876long.com racnode1-vip

192.168.163.153 racnode2-vip.876long.com racnode2-vip

192.168.163.154 racnode-cluster-scan.876long.com racnode-cluster-scan

192.168.163.155 racnode-cluster-scan.876long.com racnode-cluster-scan

192.168.163.156 racnode-cluster-scan.876long.com racnode-cluster-scan

192.168.163.151 openfiler1.876long.com openfiler1

192.168.239.151 openfiler1-priv.876long.com openfiler1-priv

# vim /etc/resolv.conf:

nameserver 192.168.163.149

nameserver 192.168.163.150

nameserver 114.114.114.114

search 876long.com

#chattr +i /etc/resolv.conf

13.两个节点(racnode1和racnode2)配置主辅DNS:

注意:racnode2节点把DNS1的地址设置成192.168.163.150,解析使用本机进行解析。

安装DNS服务器软件

# yum install bind* bind-utils bind-chroot -y

# cp -rp /usr/share/doc/bind-9.11.4/sample/etc/* /var/named/chroot/etc/

# cp -rp /usr/share/doc/bind-9.11.4/sample/var/* /var/named/chroot/var/

编辑主配置文件,添加876long.com的zone参数

# cp -p /var/named/chroot/etc/named.conf{,.bak}

# vim /var/named/chroot/etc/named.conf:

options

{

directory "/var/named";

listen-on port 53 { any; };

allow-query { any; };

};

zone "876long.com" {

type master;

file "876long.com.zone";

};

zone "163.168.192.in-addr.arpa" {

type master;

file "192.168.163.ptr";

};

zone "239.168.192.in-addr.arpa" {

type master;

file "192.168.239.ptr";

};

新建876long.com.zone的域名解析文件

# cp -p /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/876long.com.zone:

编辑876long.com的域名解析文件

# vim /var/named/chroot/var/named/876long.com.zone

$TTL 1D

@ IN SOA 876long.com. root.876long.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 192.168.163.149

racnode1 IN A 192.168.163.149

racnode2 IN A 192.168.163.150

openfiler1 IN A 192.168.163.151

racnode1-vip IN A 192.168.163.152

racnode2-vip IN A 192.168.163.153

racnode-cluster-scan IN A 192.168.163.154

racnode-cluster-scan IN A 192.168.163.155

racnode-cluster-scan IN A 192.168.163.156

racnode1-priv IN A 192.168.239.149

racnode2-priv IN A 192.168.239.150

openfiler1-priv IN A 192.168.239.151

配置DNS反向解析

拷贝配置文件模板,新建域名解析反向解析文件

#cp -p /var/named/chroot/var/named/named.loopback /var/named/chroot/var/named /192.168.163.ptr

#cp -p /var/named/chroot/var/named/named.loopback /var/named/chroot/var/named /192.168.239.ptr

# vim 192.168.163.ptr:

$TTL 1D

@ IN SOA 876long.com. root.876long.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

@ IN NS racnode1.876long.com.

149 IN PTR racnode1.876long.com.

150 IN PTR racnode2.876long.com.

151 IN PTR openfiler1.876long.com.

152 IN PTR racnode1-vip.876long.com.

153 IN PTR racnode2-vip.876long.com.

154 IN PTR racnode-cluster-scan.876long.com.

155 IN PTR racnode-cluster-scan.876long.com.

156 IN PTR racnode-cluster-scan.876long.com.

# vim 192.168.239.ptr:

$TTL 1D

@ IN SOA 876long.com. root.876long.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

@ IN NS racnode1-priv.876long.com.

149 IN PTR racnode1-priv.876long.com.

150 IN PTR racnode2-priv.876long.com.

151 IN PTR openfiler1-priv.876long.com.

禁用bind默认启动方式,改用bind-chroot方式启动

# /usr/libexec/setup-named-chroot.sh /var/named/chroot on

# systemctl stop named

# systemctl disable named

# systemctl start named-chroot

# systemctl enable named-chroot

# systemctl restart named-chroot

14.两个节点(racnode1和racnode2)和存储节点关闭selinux和系统防火墙:

#vim /etc/selinux/config

SELINUX=disabled

#systemctl stop firewalld

#systemctl disable firewalld

15.两个节点(racnode1和racnode2)关闭时钟同步:

# mv /etc/ntp.conf /root

# mv /etc/chrony.conf /root

16.两个节点(racnode1和racnode2)修改SSH等待时长为无限制:

#vim /etc/ssh/sshd.conf:

UseDNS no

LoginGraceTime 0

#systemctl enable sshd

#systemctl restart sshd

17.配置共享存储openfiler:

openfiler汉化:

使用Vmware workstations 软件创建虚拟机,添加另外的磁盘设备。

下载openfileresa-2.99.1-x86_64-disc1.ISO的安装包和

CN.Openfiler.ESA.2.99.2.4d1fb58-1-1.rar汉化包,并且按照需要进行共享存储模拟软件的汉化。

登录图形界面:

浏览器地址栏中输入

输入账号:openfiler

输入密码:password

配置openfiler存储过程,需要有openfiler使用经验。只要映射出9个LUN分区即可。

18.两个节点(racnode1和racnode2)设置开机自动登录和挂载:

# chmod +x /etc/rc.d/rc.local

#vim /etc/rc.d/rc.local,在文件末尾添加以下内容:

/usr/bin/systemctl enable iscsid

/usr/bin/systemctl enable iscsi

/usr/bin/systemctl daemon-reload

/usr/bin/systemctl start iscsid

/usr/bin/systemctl start iscsi

/usr/sbin/iscsiadm -m discovery -t sendtargets -p 192.168.239.151:3260

/usr/bin/systemctl start iscsid

/usr/bin/systemctl start iscsi

/usr/bin/systemctl enable iscsid

/usr/bin/systemctl enable iscsi

if [ `/usr/bin/ping 192.168.239.151 -c 3|grep 'received'|awk -F ' ' '{print $4}'` = 3 ]&&[ `/usr/sbin/iscsiadm -m discovery -t sendtargets -p 192.168.239.151

:3260|wc -l` = 9 ];then

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.c6498a7225b1 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.e665e713a252 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.53d04d8af4e3 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.a4b819047624 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.a92d6d8c3b85 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.babad5998876 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.817575554b67 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.3c0a29755e08 -p 192.168.239.151:3260 -l;

/usr/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.e1d531018b29 -p 192.168.239.151:3260 -l;

else

exit 0;

fi

/usr/sbin/oracleasm scandisks

/usr/sbin/oracleasm listdisks

# chmod +x /etc/rc.d/rc.local

# vim /usr/lib/systemd/system/rc-local.service,末尾添加上:

[Install]

WantedBy=multi-user.target

# systemctl enable rc-local

19.两个节点(racnode1和racnode2)修改iscsid.conf文件:

# vim /etc/iscsi/iscsid.conf

node.startup = manual

# vim /usr/lib/systemd/system/iscsid.service:

在[Service]中加入

ExecStartPost=/bin/sleep 0.1

20.两个节点(racnode1和racnode2)修改操作系统版本标识(把CentOS 8.0改成RHEL7.6)

# cp -p /etc/redhat-release{,.bak}

# vim /etc/redhat-release

把CentOS Linux release 8.0.1905 (Core) 替换为RHEL7.6

#wq! 保存退出

21.两个节点(racnode1和racnode2)引用兼容性系统变量

# export CV_ASSUME_DISTID=RHEL7.6

22.两个节点(racnode1和racnode2)停止avahi-daemon服务

# systemctl stop avahi-daemon

# systemctl disable avahi-daemon

23.两个节点(racnode1和racnode2)添加NOZEROCONF=yes参数

# cp -p /etc/sysconfig/network{,.bak}

# vim /etc/sysconfig/network

NOZEROCONF=yes

24.两个节点(racnode1和racnode2)禁用透明大页(THP)

# cp -p /etc/default/grub

# vim /etc/default/grub 添加transparent_hugepage=never到GRUB_CMDLINE_LINUX尾部

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never numa=off"

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

#reboot

25.两个节点(racnode1和racnode2)关闭时钟NTP服务

#systemctl stop ntpd

#systemctl disable ntpd

#systemctl stop chronyd

#systemctl disable chronyd

#rm -rf /etc/chronyd.conf

26.两个节点(racnode1和racnode2)依赖包配置及固定屏幕分辨率

# yum install gcc gcc-c++ autoconf make binutils compat-libcap glibc glibc-devel ksh libX11 libXaw libXft libXi libXmu libXp libXtst libaio libaio-devel libattr-devel libgcc libgfortran libstdc++ libstdc++-devel pam pam-devel sysstat compat-libcap1 compat-libstdc++-33 nmap telnet kmod-oracleasm -y

27.两个节点(racnode1和racnode2)修改limits.conf配置文件

# cp -p /etc/security/limits.conf{,.bak}

# vim /etc/security/limits.conf,末尾添加上:

grid soft nproc 16384

grid hard nproc 65536

grid soft nofile 32768

grid hard nofile 65536

grid soft stack 32768

grid hard stack 65536

oracle soft nproc 16384

oracle hard nproc 65536

oracle soft nofile 32768

oracle hard nofile 65536

oracle soft stack 32768

oracle hard stack 65536

oracle hard memlock 3145728

oracle soft memlock 3145728

28.两个节点(racnode1和racnode2)修改/etc/pam.d/login配置文件

# cp -p /etc/pam.d/login{,.bak}

# vim /etc/pam.d/login,文件末尾添加:

session required /usr/lib64/security/pam_limits.so

29.两个节点(racnode1和racnode2)修改sysctl.conf配置文件

# cp -p /etc/sysctl.conf{,.bak}

#vim /etc/sysctl.conf:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 15461882265

kernel.shmall = 3774873

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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 = 1048586

激活系统内的所有内核参数:

# sysctl -p

30.两个节点(racnode1和racnode2)扩容swap空间

#cd /home/oracle

#dd if=/dev/zero of=/home/oracle/swapfile bs=1M count=8192

# mkswap /home/oracle/swapfile

# chmod 0644 /home/oracle/swapfile

# swapon /home/oracle/swapfile

查看状态

#swapon -s

31.两个节点(racnode1和racnode2)设置swap文件开机自启动

设置开机自启动

# cp -p /etc/fstab{,.bak}

# blkid /home/oracle/swapfile

# vim /etc/fstab

/home/oracle/swapfile swap swap defaults 0 0

32.两个节点(racnode1和racnode2)安装JDK

# chmod 777 jdk-8u261-linux-x64.tar.gz

# tar -zxvf jdk-8u261-linux-x64.tar.gz

# mv jdk1.8.0_261/ java

# mv java /usr/local/

33.两个节点(racnode1和racnode2)设置jdk的环境变量

# cp -p /etc/profile{,.bak}

# vim /etc/profile:

export JAVA_HOME=/usr/local/java

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

34.两个节点(racnode1和racnode2)引用环境变量

# source /etc/profile

35.两个节点(racnode1和racnode2)创建grid用户登录脚本

# su – grid

# cp -p .bash_profile{,.bak}

# vim ~/.bash_profile,添加下列内容:

alias ls="ls -Fa"

export PS1="[`whoami`@`hostname`:"'$PWD]$'

export ORACLE_SID=+ASM1

export JAVA_HOME=/usr/local/java

export ORACLE_HOSTNAME=racnode1.876long.com

export ORACLE_BASE=/u01/app/grid

export GRID_HOME=/u01/app/19.3.0.0/grid

export ORACLE_HOME=/u01/app/19.3.0.0/grid

export ORACLE_PATH=/u01/app/oracle/common/sql

export SQLPATH=/u01/app/common/oracle/sql

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS11=$ORACLE_HOME/nls/data

export PATH=.:$PATH:$JAVA_HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/local/bin:/u01/app/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

注意:其他节点把$ORACLE_SID和$ORACLE_HOSTNAME改成相应节点的值。

# source ~/.bash_profile

36.两个节点(racnode1和racnode2)创建oracle用户登录脚本

# su – oracle

# cp -p .bash_profile{,.bak}

# vim ~/.bash_profile,添加下列内容:

alias ls="ls -Fa"

export PS1="[`whoami`@`hostname`:"'$PWD]$'

export ORACLE_SID=racdb1

export ORACLE_UNQNAME=racdb.876long.com

export JAVA_HOME=/usr/local/java

export ORACLE_HOSTNAME=racnode1.876long.com

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.3.0.0/dbhome_1

export ORACLE_PATH=/u01/app/common/oracle/sql

export SQLPATH=/u01/app/common/oracle/sql

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS11=$ORACLE_HOME/nls/data

export PATH=.:$PATH:$JAVA_HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/usr/sbin:/u01/app/common/oracle/bin

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else ulimit -u 16384 -n 65536

fi

umask 022

fi

注意:其他节点把$ORACLE_SID和$ORACLE_HOSTNAME改成相应节点的值。

# source ~/.bash_profile

37.两个节点(racnode1和racnode2)创建Oracle 基目录路径

# mkdir -p /u01/app/grid

# mkdir -p /u01/app/19.3.0.0/grid

# mkdir -p /u01/app/oraInventory

# chown -R grid:oinstall /u01/app/oraInventory

# chown -R grid:oinstall /u01

# mkdir -p /u01/app/oracle/product/19.3.0.0/dbhome_1

# chown -R oracle:oinstall /u01/app/oracle

# chmod -R 775 /u01

38.两个节点(racnode1和racnode2)更改所有Oracle安装所有者的ulimit设置

# cp -p /etc/profile{,.bak}

# vim /etc/profile,添加以下内容:

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

# source /etc/profile

39.两个节点(racnode1和racnode2)关闭自动锁定屏幕

系统工具—设置—隐私—锁屏—自动锁屏—关闭。

系统工具—设置—电源—空白屏幕—从不。

40.两个节点(racnode1和racnode2)配置SSH用户等效性(主机SSH互信)

禁用SSH X11 Forwarding:

# vim /etc/ssh/sshd_config

X11Forwarding no

# systemctl restart sshd

两个节点(racnode1和racnode2)创建SSH目录并且生成SSH秘钥

# su - grid

# mkdir ~/.ssh

# chmod -R 700 ~/.ssh

# /usr/bin/ssh-keygen -t rsa

# touch ~/.ssh/authorized_keys

# ssh racnode1.876long.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# ssh racnode2.876long.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# chmod 600 ~/.ssh/authorized_keys

# scp ~/.ssh/authorized_keys racnode2.876long.com:~/.ssh/authorized_keys

#chmod 600 ~/.ssh/authorized_keys

41.两个节点(racnode1和racnode2)在集群节点上启用SSH用户等效性

# su – grid

# ssh racnode1 “date;hostname”

# ssh racnode2 “date;hostname”

# ssh racnode1.876long.com “date;hostname”

# ssh racnode2.876long.com “date;hostname”

注意:root和oracle用户需要做SSH互信。

42.两个节点(racnode1和racnode2)安装Oracle ASMLib软件包

上传oracleasm-support-2.1.11-2.el7.x86_64.rpm

# rpm -ivh oracleasm-support-2.1.11-2.el7.x86_64.rpm

# yum install oracleasm -y(相当于安装的是yum install -y kmod-oracleasm)

上传oracleasmlib-2.0.12-1.el7.x86_64.rpm

# rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm

43.两个节点(racnode1和racnode2)使用configure选项运行oracleasmlib初始化脚本

# /usr/sbin/oracleasm configure -i

依次输入grid asmadmin y y

44.两个节点(racnode1和racnode2)加载oracleasm内核模块

# /usr/sbin/oracleasm init

45.两个节点(racnode1和racnode2)映射ASM磁盘

# /usr/sbin/oracleasm createdisk CRSVOL1 /dev/sdb1

# /usr/sbin/oracleasm createdisk CRSVOL2 /dev/sdc1

# /usr/sbin/oracleasm createdisk CRSVOL3 /dev/sdd1

# /usr/sbin/oracleasm createdisk DATAVOL1 /dev/sde1

# /usr/sbin/oracleasm createdisk DATAVOL2 /dev/sdf1

# /usr/sbin/oracleasm createdisk DATAVOL3 /dev/sdg1

# /usr/sbin/oracleasm createdisk FRAVOL1 /dev/sdh1

# /usr/sbin/oracleasm createdisk FRAVOL2 /dev/sdi1

# /usr/sbin/oracleasm createdisk FRAVOL3 /dev/sdj1

46.两个节点(racnode1和racnode2)扫描和查看ASM磁盘

# /usr/sbin/oracleasm scandisks

# /usr/sbin/oracleasm listdisks

47.两个节点(racnode1和racnode2)上传并解压Oracle 软件

# mkdir -p /home/grid/software/oracle

# mv LINUX.X64_193000_grid_home.zip /home/grid/software/oracle/

# mkdir -p /home/oracle/software/oracle

# mv LINUX.X64_193000_db_home.zip /home/oracle/software/oracle/

# mv LINUX.X64_193000_examples.zip /home/oracle/software/oracle/

# cd /home/grid

# chown -R grid:oinstall software

# unzip LINUX.X64_193000_grid_home.zip

# cd /home/oracle

# chown -R oracle:oinstall software

# unzip LINUX.X64_193000_db_home.zip

48.两个节点(racnode1和racnode2)运行集群验证程序CVU

拷贝操作系统程序包cvuqdisk:

# cp -p /home/grid/software/oracle/cv/rpm/cvuqdisk-1.0.10-1.rpm /root/

# export CVUQDISK_GRP=oinstall

# rpm -ivh cvuqdisk-1.0.10-1.rpm

# scp cvuqdisk-1.0.10-1.rpm racnode2:~/

# export CVUQDISK_GRP=oinstall

# rpm -ivh cvuqdisk-1.0.10-1.rpm

生成修复脚本:

$ cd /home/grid/software/oracle/

$ export CVUQDISK_GRP=oinstall

$ ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -fixup -verbose

$ ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -method root

49.两个节点(racnode1和racnode2)关闭libvirtd服务

# systemctl stop libvirtd

# systemctl disable libvirtd

关闭libvirtd的意义是防止出现virbr0的网络接口,执行CVU验证的时候不会报racnode1、racnode2到192.168.122.1的网段不通。

50.两个节点(racnode1和racnode2)设置nozeroconf=yes

# cp -p /etc/sysconfig/network{,.bak}

# vim /etc/sysconfig/network

NOZEROCONF=yes

配置nozeroconf=yes的意义是执行# route -n防止路由表中出现169.254.0.0的网段。

51.两个节点(racnode1和racnode2)修改自动挂载文件

# vim /etc/fstab

tmpfs /dev/shm tmpfs defaults 0 0

# vim /usr/lib/dracut/modules.d/99base/init.sh:

mount -t tmpfs -o mode=1777,noexec,nosuid,nodev,strictatime,size=3.9G tmpfs /dev/shm >/dev/null

注意:这个是为了解决PRVE-0421 /etc/fstab 中不存在用于装载 /dev/shm 的条目提示。

52.两个节点(racnode1和racnode2)修改resolv.conf文件解决验证/etc/resolv.conf完整性DNS超时PRVF-5636问题

# cp -p /etc/resolv.conf

# vim /etc/resolv.conf:

search 876long.com

nameserver 192.168.163.149

nameserver 192.168.163.150

53.两个节点(racnode1和racnode2)系统时间校时

时钟date设置:

# date -s 20200927;ssh racnode2 "date -s 20200927"

# date -s 23:18:30;ssh racnode2 "date -s 23:18:30"

# date; ssh racnode2 “date”

54.两个节点(racnode1和racnode2)关闭屏保程序

# setterm -blank 0

55.两个节点(racnode1和racnode2)运行CVU手动检测集群配置

# su – grid

# cd /home/grid/software/oracle

# ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -fixup -verbose > /home/grid/123.txt

# ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -method root 输入root密码

56.两个节点(racnode1和racnode2)使用CVU验证硬件和操作系统设置

# su – grid

# cd /home/grid/software/oracle

# ./runcluvfy.sh stage -post hwos -n racnode1,racnode2 -verbose > /home/grid/456.txt

57.两个节点(racnode1和racnode2)安装Oracle GRID

设置环境变量:

# su – root

# xhost +

# export DISPLAY=192.168.163.149:0.0

# su – grid

#export DISPLAY=192.168.163.149:0.0

58.两个节点(racnode1和racnode2)进入安装目录

# cd /home/grid/software/oracle

# mv LINUX.X64_193000_grid_home.zip /u01/app/19.3.0.0/grid

# cd /u01/app/19.3.0.0/grid

# unzip LINUX.X64_193000_grid_home.zip

# chmod -R 775 *

# chown -R grid:oinstall *

# oracleasm scandisks

# oracleasm listdisks

# ln -s /usr/bin/ssh /usr/local/bin/ssh

# ln -s /usr/bin/scp /usr/local/bin/scp

59.两个节点(racnode1和racnode2)安装GRID

# ./gridSetup.sh

#选择为新集群配置Oracle Grid Infrastructure(C)

#配置Oracle 独立集群

#网格即插即用选择:

创建本地SCAN

集群名称:racnode-cluster

SCAN名称:racnode-cluster-scan

SCAN 端口: 1521

60.两个节点(racnode1和racnode2)添加集群节点信息

选择添加—添加单个节点

公共主机名:racnode2.876long.com

虚拟主机名:racnode2-vip.876long.com

点击SSH连接

输入grid用户的操作系统口令

点击设置

当出现:已在所选节点间成功建立无口令SSH连接后,点击确定。

点击测试。

注意:

出现INS-06006错误提示的时候,处理方法:

# su – grid

# cd /home/grid/.ssh

# rm -rf *

61.两个节点(racnode1和racnode2)网络接口使用情况

#ens33 公用

#ens34 ASM和专用

62.两个节点(racnode1和racnode2)存储选项

选择将ORACLE Flex ASM用于存储。

63.两个节点(racnode1和racnode2)配置网格基础架构管理资料档案库(Grid Infrastructure Management Repository)

选择NO

64.两个节点(racnode1和racnode2)创建ASM磁盘组

默认ASM磁盘创建完成后的位置是/dev/oracleasm/disks

需要更改探索路径为/dev/oracleasm/disks

磁盘组名:CRS

冗余:普通normal

分配单元大小:16MB

更改探索路径:/dev/oracleasm/disks

选择磁盘(勾选):

/dev/oracleasm/disks/CRSVOL1

/dev/oracleasm/disks/CRSVOL2

/dev/oracleasm/disks/CRSVOL3

65.两个节点(racnode1和racnode2)设置ASM口令

选择对这些账户使用同一个密码。

66.两个节点(racnode1和racnode2)设置故障隔离支持

选择不使用IPMI智能平台管理接口

67.两个节点(racnode1和racnode2)设置操作系统组

OSASM:asmadmin

OSDBA:asmdba

OSOPER:asmoper

68.两个节点(racnode1和racnode2)选择安装位置

Oracle 基目录:/u01/app/grid

Oracle 软件位置:/u01/app/19.3.0.0/grid

69.两个节点(racnode1和racnode2)创建产品清单组

产品清单目录:

/u01/app/oraInventory

oraInventory 组名:oinstall

注意:产品清单目录不能非空,如果安装过会有logs目录,执行rm -rf logs删除掉日志文件目录。

70.两个节点(racnode1和racnode2)使用root身份执行脚本

勾选自动运行配置脚本,并且输入root用户密码。

71.两个节点(racnode1和racnode2)进行先决条件检查

不用选择,自动完成。

如果racnode2.876long.com出现ASMLib的告警,需要执行:

# oracleasm scandisks

# oracleasm listdisks

72.两个节点(racnode1和racnode2)显示概要信息

选择保存响应文件,然后点击安装。

73.两个节点(racnode1和racnode2)安装过程中的询问

安装程序生成的配置脚本需要以授权用户root身份运行,安装程序将使用先前提供的授权用户身份运行这些脚本,选择是。

74.两个节点(racnode1和racnode2)安装完验证

检查CRS状态:

# su - grid

$crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

状态是ONLINE。

75.两个节点(racnode1和racnode2)使用asmca创建ASM磁盘组

# xhost +

# export DISPLAY=:0.0

# su – grid

$ export DISPLAY=:0.0

$ asmca

选择创建磁盘组,命名为RACDB_DATA和FRA。冗余方式选择正常Normal。

76.两个节点(racnode1和racnode2)安装Oracle RAC

设置安装变量:

# xhost +

# export DISPLAY=:0.0

# cd $ORACLE_HOME

# unzip LINUX.X64_193000_db_home.zip

#./runInstaller

配置选项:

选择仅安装软件

数据库安装选项:

选择Oracle Real Application Clusters 数据库安装。

节点选择:

全选

数据库版本:

选择企业版。

安装位置:

基目录选择:/u01/app/oracle

软件位置:/u01/app/oracle/product/19.3.0.0/dbhome_1

77.两个节点(racnode1和racnode2)设置操作系统组

数据库管理员OSDBA组:dba

数据库操作员OSOPER组:oper

数据库备份和恢复(OSBACKUPDBA)组:backupdba

Data Guard管理(OSDGDBA)组: dgdba

加密秘钥管理(OSKMDBA)组:kmdba

Real Application Cluster管理(OSRACDBA)组:racdba

78.两个节点(racnode1和racnode2)使用root身份执行脚本

勾选自动运行配置脚本,并且输入root用户密码。

79.两个节点(racnode1和racnode2)保存响应文件

直接保存好响应文件后,点击安装。

80.两个节点(racnode1和racnode2)确认root身份认证

安装过程中会确认是否使用root身份执行安装脚本,选择确定。

81.两个节点(racnode1和racnode2)查看服务状态

$su - grid -c "crsctl stat res -t"

82.两个节点(racnode1和racnode2)使用dbca命令创建数据库

$ dbca

数据库操作:

选择创建数据库

部署类型:

选择高级配置

数据库类型选择:Oracle Real Application Cluster(RAC)数据库

配置类型:管理员管理的

数据库选择模板:一般用途或者事务处理

节点选择:

全选节点

83.两个节点(racnode1和racnode2)设置数据库标识

全局数据库名:racdb.876long.com

SID前缀:racdb

勾选创建为容器数据库PDB

勾选将本地还原表空间用于PDB

选择创建包含一个或者多个的容器数据库

PDB数量选1

PDB名称选择pdb

84.两个节点(racnode1和racnode2)选择存储选项

数据库文件存储类型选择:自动存储管理ASM

数据文件位置:+RACDB_DATA/{DB_UNIQUE_NAME}

勾选使用Oracle-Managed Files(OMF)

85.两个节点(racnode1和racnode2)快速恢复选项

勾选指定快速恢复区

恢复文件存储类型选择:自动存储管理ASM

快速恢复区选择:+FRA

勾选启用归档,并且勾选自动归档

归档日志文件格式:%t_%s_%r.dbf

86.两个节点(racnode1和racnode2)配置选项

内存:

内存 使用自动共享内存管理

系统总内存大小:7800(8G)

SGA:2340MB

PGA:780MB

即SGA+PGA占内存总大小的40%。并且SGA占75%,PGA占25%。

进程数:

默认块大小是8192BYTE,进程数是300。

字符集:

数据库字符集选择:ZHS16GBK

国家字符集选:AL16UTF16通用字符集

默认语言:简体中文

默认地区:中国

连接模式: 共享服务器模式 进程数1

87.两个节点(racnode1和racnode2)设置管理选项

勾选定期运行集群验证实用程序CVU检查

配置Enterprise Manager(EM) Database Express

EM Database Express端口:5500

勾选将EM Database Express端口配置为全局端口

88.两个节点(racnode1和racnode2)使用用户身份证明

所有账户使用同一管理口令,输入数据库用户的密码。

89.两个节点(racnode1和racnode2)选择创建数据库选项

勾选创建数据库

勾选生成数据库创建脚本。

90.两个节点(racnode1和racnode2)进行先决条件检查

选择下一步

91.两个节点(racnode1和racnode2)显示概要信息

选择保存响应文件—重命名响应文件,选择完成,进入数据库安装过程。

92. 两个节点(racnode1和racnode2)Finish完成数据库Oracle 19C RAC安装

数据库RAC建库完成后,点击close关闭安装窗口。

93.客户端修改本地解析

Windows+x打开cmd管理员模式

notepad %windir%\system32\drivers\etc\hosts

添加DNS本地解析:

192.168.163.149 racnode1.876long.com

192.168.163.150 racnode2.876long.com

192.168.163.151 openfiler1.876long.com

192.168.163.152 racnode1-vip.876long.com

192.168.163.153 racnode2-vip.876long.com

192.168.163.154 racnode-cluster-scan.876long.com

192.168.163.155 racnode-cluster-scan.876long.com

192.168.163.156 racnode-cluster-scan.876long.com

192.168.239.149 racnode1-priv.876long.com

192.168.239.150 racnode2-priv.876long.com

192.168.239.151 openfiler1-priv.876long.com

94.Oracle 19C RAC客户端配置tnsname.ora

在本地tnsnames.ora文件中加入下列内容:

RACDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = racnode-cluster-scan.876long.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = SHARED)

(SERVICE_NAME = racdb.876long.com)

)

)

95.客户端使用PL/SQL连接

Windows+X打开命令提示符(管理员)

输入tnsping RACDB ,确保结果为OK!

打开Oracle PL/SQL客户端软件

选择用户名为sys

密码选择设置好的sys用户密码

数据库选择RACDB

角色选择sysdba

96.后记

佛为心,道为骨,儒为表,大度看世界;

技在手,能在身,思在脑,从容过生活。

三千年读史,不外功名利禄;

九万里悟道,终归诗酒田园!

走多远,不问双脚,问志向;看多远,不看眼睛,问胸襟!

标签: #oracleasmlib更该权限