searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

基于分布式块存储(EDS)静默安装Oracle RAC 11g最佳实践

2024-08-19 09:30:10
50
0

1.    概述

1.1. 场景介绍

Oracle数据库位于企业数据中心核心位置,通常支撑着关键应用程序的运行,常见的Oracle数据库被应用于联机事务处理(OLTP)、联机分析处理(OLAP)或数据仓库(DSS)。然而很多企业的数据库系统往往会出现系统运行缓慢的问题,可能造成这种问题的原因通常来源于:上层应用、数据库、主机设备、网络参数、存储设备等环节的配置及部署方式不是最佳配置或规划与设计不合理。为了满足Oracle工作负载的独特需求,天翼云科技有限公司推出了基于分布式存储搭建Oracle RAC最佳实践。

本文主要聚焦如何高效利用云存储进行Oracle RAC数据库业务的部署,通过参考本篇最佳实践,可以获得更好的业务部署效率和业务运行治疗,有效保障存储及Oracle数据库的性能和可用性。

1.2. 组件介绍

内容的地方体现版本信息

本文主要是针对Oracle RAC 11g版本进行安装部署,在部署前,需要在官网下载对应的安装部署包,可以从下面官网地址进行下载对应版本的安装包https://www.oracle.com/database/technologies/,主要安装包如下表所示。

安装包

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip

2.    资源规划

2.1. 云网络资源规划

本节主要介绍Oracle RAC的网络规划,规划了两个网络平面,分别如下:

l  Oracle Public Network平面:数据库客户端通过Oracle Public Network网络平面访问数据库服务。本示例中云主机的第一张网卡所在的网络平面即为Oracle Public Network网络平面中。

为了保证高可用和故障恢复,Oracle RAC要求每个节点配置一个虚拟IP ( Virtual IP),当发生故障时,虚拟IP会在不同节点之间漂移,通过Oracle CRS(集群就绪服务,Oracle Cluster Ready Service)管理各节点的虚拟IP。另外,用户需要在Oracle Public Network子网中申请一个scan IP,该scan IP负责与数据库客户端通信,会把请求转到对应的虚拟IP,然后转到真实的Oracle RAC节点。

l  Oracle Private Network平面:Oracle RAC节点之间需要通过Oracle Private Network平面互相通信,通信内容包括网络心跳和Cache Fusion,该网络平面只负责节点之间的内部通信,并且不能被外部访问,所以需要单独规划一个子网。本示例中云主机的第二张网卡所在的网络平面即为Oracle Private Network网络平面中。

网络规划表如下表所示

Oracle RAC集群网络规划表

Oracle RAC网络

Network网络

VPC Network

10.10.0.0/16

Subnet-public

10.10.10.0/24

Subnet-private

10.10.8.0/24

Oracle RAC集群地址规划:

Oracle RAC节点名称

Public Network IP地址

Private Netwrk IP地址

虚拟IP地址

Scan IP地址

oraclenode1

10.10.10.78

10.10.8.186

10.10.10.50

10.10.10.52

oraclenode2

10.10.10.27

10.10.8.27

10.10.10.51

2.2. 云硬盘资源规划

除了创建云主机自带的系统盘,本示例中主要使用iSCSI共享云硬盘,并挂载至Oracle RAC节点1和节点2,即oraclenode1oraclenode2。通过共享盘创建Oracle ASM(

自动存储管理,Automatic Storage Management)磁盘组,其中磁盘组规划如下表所示。

 

 ASM磁盘组名称

磁盘容量

磁盘个数

ASM磁盘组冗余类型

GRID

10GB

3

Norml

DATA

500GB

8

Extend

REDO

100GB

4

Extend

3.    Oracle软件安装最佳实践

3.1. 环境准备

3.1.1. 修改Oracle RAC节点主机名

本节主要是修改2Oracle RAC节点的主机名称。修改步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,将节点1的主机名修改为oraclenode1,命令:hostnamectl set-hostname oraclenode1


3. 然后退出登录,再重新登录主机名已修改成功。

4. 参考步骤 1~3,配置 Oracle RAC 节点 2 的“HOSTNAME”为“oraclenode2”。

3.1.2. 配置hosts

本节根据2.1云网络资源规划,进行配置2Oracle RAC节点的hosts

操作步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,打开 Oracle RAC 节点 1 的“/etc/hosts”文件。在vi /etc/hosts的末尾添加以下内容:

#public ip

10.10.10.78 oraclenode1

10.10.10.27 oraclenode2

#private ip

10.10.8.186 oraclenode1-priv

10.10.8.27  oraclenode2-priv

#virtual ip

10.10.10.50 oraclenode1-vip

10.10.10.51 oraclenode2-vip

#scan ip

10.10.10.52 scanip

3. 查看hosts文件如下所示:


4. 节点2按照步骤1~3的方法进行配置,添加的内容不变。

3.1.3. 网络配置

DEVICE=eth1

TYPE=Ethernet

IPADDR=10.0.0.3

PREFIX=24

BOOTPROTO=none

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eth1

ONBOOT=yes

3.1.4. 关闭防火墙和SElinux

本节主要是配置2Oracle RAC节点的防火墙和SElinux

操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,永久关闭防火墙,重启云主机后也不会启动。

systemctl disable firewalld

systemctl stop firewalld

systemctl status firewalld


3. 执行以下命令,永久关闭 SElinux,重启云主机后也不会启动。

sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config

回显结果如下,SELINUX 参数值为 disabled 为正常。


4. 节点2按照步骤1~3的方法进行配置。

3.1.5. 关闭linuxNTP

本章节指导用户关闭2Oracle RAC节点的 NTP 服务,使用 Oracle 自带的 NTP。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,关闭操作系统自带的 NTP 服务。

systemctl stop ntpd.service
systemctl disable ntpd.service
mv /etc/ntp.conf /etc/ntp.conf.orig


3. 节点2按照步骤1~3的方法进行配置。

3.1.6. 扩展swap分区

本章节指导用户扩展 swap 分区大小。按照 Oracle 官方建议,当单节点内存总量大于 16GB 时,swap 分区需要设置为 16GB。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行如下命令生成 swap 分区使用的文件,大小为 16G

dd if=/dev/zero of=/home/swap bs=1G count=16


3. 执行如下命令将生成的文件制作成 swap 分区格式

mkswap /home/swap


4. 执行如下命令将生成的文件替换成 swap 分区

swapon /home/swap


5. 修改系统配置文件fstab,保证系统重启后仍然使用该 swap 分区 ,vi /etc/fstab ,在该文件末尾增加如下内容: /home/swap swap swap defaults 0 0 ,添加后查看回显如下所示:


6. 参考本章节步骤 1~5,配置 Oracle RAC 节点 2 swap 分区。

3.1.7. 修改Linux内核参数和资源限制文件

本章节指导用户修改2Oracle RAC节点的 Linux 内核参数。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 配置/etc/security/limits.d/20-nproc.conf文件,在20-nproc.conf文件末尾增加如下内容:

* - nproc 16384

添加后查看回显如下所示:


3. 配置/etc/security/limits.conf文件,在limits.conf文件末尾添加以下内容:

grid soft nproc 16384

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack  10240

oracle hard stack  32768

oracle hard memlock 4194304

oracle soft memlock 4194304

添加后查看回显如下所示:


4. 配置/etc/pam.d/login文件,在login文件的末尾添加以下内容:

session required pam_limits.so

添加后查看回显如下所示:


5. 配置/etc/sysctl.conf文件,在sysctl.conf文件的末尾添加以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 20142494
kernel.shmmax = 82463372083
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 = 1048576

说明:

• kernel.shmax 要大于数据库的 MEMORY_MAX_TARGET 的值,推荐的计

算公式为:机器内存总量(单位 B*60%。最小值为

• kernel.shmall 的计算公式为:kernel.shmax/4094,最小值为 2097152

添加后查看回显如下所示:


6. 修改完内核参数后,执行以下命令,使修改生效:sysctl -p /etc/sysctl.conf


7. 参考本章节步骤 1~6,配置Oracle RAC节点2Linux内核参数。

3.1.8. 创建GridOracle用户和组

本章节指导用户为2Oracle RAC节点创建gridoracle用户和组。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,创建gridoracle的用户和组:

groupadd -g 11001 oinstall  
groupadd -g 11002 dba  
groupadd -g 11003 oper  
groupadd -g 11004 backupdba  
groupadd -g 11005 dgdba  
groupadd -g 11006 kmdba  
groupadd -g 11007 asmdba  
groupadd -g 11008 asmoper  
groupadd -g 11009 asmadmin  
groupadd -g 11010 racdba  
useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

执行的回显如下所示:


3. 配置oraclegrid用户的密码,执行以下命令:

echo CStor@123 | passwd --stdin grid

echo CStor@123 | passwd --stdin oracle

执行的回显如下所示:


说明:

其中CStor@123grid用户和oracle用户的密码,设置的密码一定需要符合规则。

4. 参考本章节步骤 1~3,配Oracle RAC节点2gridOracle用户和组。

3.1.9. 创建数据库的目录和修改权限

本章节指导用户为2Oracle RAC节点创建数据库的安装目录,同时修改权限。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,创建数据库的目录和修改权限:

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory

3. 参考本章节步骤1~2,配置Oracle RAC节点2的目录和权限。

3.1.10. 互信配置

本章节指导用户为2Oracle RAC节点点的gridoracle用户配置互信,配置方法如下:

1. 使用 root用户登录节点1云主机,然后再登录grid用户

su - grid


2. 执行如下命令,配置节点1到节点2grid用户的互信。

ssh-keygen

说明:执行该命令时都默认配置。

ssh-copy-id oraclenode1

ssh-copy-id oraclenode2

ssh oraclenode1 date;ssh oraclenode2 date;ssh oraclenode1-priv date;ssh oraclenode2-priv date



3. 退出grid用户,然后登录oracle用户,配置节点1oracle用户到节点2的互信,执行命令如下:

su - oracle

ssh-keygen

ssh-copy-id oraclenode1

ssh-copy-id oraclenode2

ssh oraclenode1 date;ssh oraclenode2 date;ssh oraclenode1-priv date;ssh oraclenode2-priv date






4. 参考本章节步骤1~3,配置Oracle RAC节点2到节点1的互信。

3.1.11. 环境变量配置

本章节指导用户为2Oracle RAC节点点配置环境变量,配置方法如下:

1. 使用 root 用户登录云主机。

2. 编辑grid用户的/home/grid/.bash_profile文件,把.bash_profile的内容删除,添加以下信息:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

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

            umask 022

fi

# User specific environment and startup programs

#PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_SID=+ASM1;

export ORACLE_BASE=/u01/app/grid;

export ORACLE_HOME=/u01/app/11.2.0/grid;

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

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib:\$ORACLE_HOME/lib

添加内容后,回显如下:


3. 编辑oracle用户的/home/oracle/.bash_profile文件,把.bash_profile的内容删除,添加以下信息:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=oltpdb1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin

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

export TNS_ADMIN=/u01/app/11.2.0/grid/network/admin

添加完信息后,如下所示:


4. 参考本章节步骤1~3,配置Oracle RAC节点2gridoracle用户的环境变量。

3.1.12. yum源配置

本章节主要指导用户为2Oracle RAC节点点配置yum源,配置方法如下:

 

3.1.13. 安装Oracle RAC的依赖包

本章节指导用户为2Oracle RAC节点安装依赖包,数据库安装需要安装以下依赖包:bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree安装步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,安装 Oracle RAC 的依赖包。 yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree

执行后的回显如下所示:


3. 检查依赖包的安装情况,检查命令如下:

yum list installed bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree

回显如下所示:


4. 参考步骤1~3,为 Oracle RAC 节点 2 安装依赖包。

3.1.14. 关闭RemoveIPC

本章节只针对CentOS 7.2及之后的版本,关闭RemoveIPC,执行方法如下:

1. 使用root用户登录云主机。

2. 配置/etc/systemd/logind.conf文件,把RemoveIPC取消注释,如下所示:


3. 参考本章节步骤1~2,配置Oracle RAC节点2 RemoveIPC

3.1.15. 配置磁盘UDEV规则

本章节指导用户使用UDEV配置磁盘,以符合Oracle ASM磁盘组的要求。

1. 使用root用户登录Oracle RAC节点1

2. 执行以下命令,查询所有共享云硬盘的UUID值,执行命令如下所示:

/lib/udev/scsi_id -g -u -d /dev/vdb

3. 执行以下步骤,在“/etc/udev/rules.d/”目录中创建一个名称为“99-oracleasmdevices.rules”UDEV规则文件,在对应的文件内添加以下内容,每个盘对应一行。

iscsi盘的绑定规则:

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="33000000035230a3a",SYMLINK+="oracle/rac-grid1",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="330000000da136123",SYMLINK+="oracle/rac-grid2" ,OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="330000000da136123",SYMLINK+="oracle/rac-grid2" ,OWNER="grid", GROUP="asmadmin", MODE="0660"

rbd盘的绑定规则:

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="4074ac14-6c69-4509-a",SYMLINK+="oracle/rac_vde",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="5d2dd6d1-5bc8-4a7c-b",SYMLINK+="oracle/rac_vdf",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="71cdfafc-c785-43ef-8",SYMLINK+="oracle/rac_vdg",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="ea7438a4-f98a-4def-b",SYMLINK+="oracle/rac_vdh",OWNER="grid", GROUP="asmadmin", MODE="0660"

4. 配置完成后,执行以下命令生效,可以在对应的目录下查看到绑定的磁盘。

udevadm control --reload

udevadm trigger


5. 参考本章节步骤1~3,配置Oracle RAC节点2udev绑定。

备注:查看serial的方法如下:

cat /sys/class/block/nvme0n1/device/serial

3.2. Oracle Grid安装

3.2.1. 安装前环境检查

本章节指导用户进行grid集群安装前环境准备,以符合Oracle Grid集群的要求。

1.  在节点1上进行解压集群的安装包,解压步骤如下:

1) 节点1进入到软件的目录下,然后进行解压:

unzip p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip p13390677_112040_Linux-x86-64_3of7.zip

2) 对解压后的文件修改权限

chown -R grid:oinstall grid/

chown -R oracle:oinstall database/

2. 安装cvuqdisk,把对应的rpm包传到节点2rpm的路径在$ORACLE_HOME/cv/rpm下,在节点1和节点2上安装,安装步骤如下:

1) 节点进入到root用户下;

2) 进入到对应的目录下,节点1grid目录下的rpm目录,节点2根据拷贝的目录来安装,安装rpm包:cvuqdisk-1.0.9-1.rpm

进行环境检查,执行命令:./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -verbose > /home/grid/grid_check.log

注意:如果在检查过程中,有failed需要进行修改。除了pdksh的可以忽略


检查结果最后项无failed的相关内容,如下所示:


3.2.2. Oracle Grid软件安装

1. 使用root用户登录Oracle RAC节点1,然后切换到grid用户,执行命令su - grid

2. 根据环境信息修改grid_install.rsp中相关参数

3. 修改完成后,进行静默安装集群,执行如下命令:

./runInstaller -responseFile /software/grid/response/grid_install.rsp -silent -ignorePrereq -showProgress

注:如果在执行root.sh脚本时,遇到如下错误,执行完成后再继续在节点1上执行root.sh脚本,同样在节点2执行root.sh脚本前,也要先启动该进程。

Adding Clusterware entries to inittab
ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow: 
2022-07-20 15:55:08.065: 
[client(6137)]CRS-2101:The OLR was formatted using version 3.

请启动ohas进程:

1. 以root用户创建服务文件

 

#touch /usr/lib/systemd/system/ohas.service

 

#chmod 777 /usr/lib/systemd/system/ohas.service

 

2. 将以下内容添加到新创建的ohas.service文件中

 

[root@rac1 init.d]# cat /usr/lib/systemd/system/ohas.service

[Unit]

Description=Oracle High Availability Services

After=syslog.target

 

[Service]

ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Restart=always

 

[Install]

WantedBy=multi-user.target

 

3. 以root用户运行下面的命令

 

systemctl daemon-reload

systemctl enable ohas.service

systemctl start ohas.service

4. 查看运行状态

 

[root@rac1 init.d]# systemctl status ohas.service

ohas.service - Oracle High Availability Services

   Loaded: loaded (/usr/lib/systemd/system/ohas.service; enabled)

   Active: failed (Result: start-limit) since Fri 2015-09-11 16:07:32 CST; 1s ago

  Process: 5734 ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple (code=exited, status=203/EXEC)

 Main PID: 5734 (code=exited, status=203/EXEC)

4. 脚本执行完成后,在节点1运行以下命令,完成集群的安装:

/u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/software/grid/response/grid_install.rsp

3.2.3. 验证

安装完集群后,可以查询集群状态,su - grid

运行以下命令:crsctl status res -t

3.3. Oracle Database软件安装

3.3.1. 安装前环境配置

安装数据库软件前,请先进入到/u01/app/oraInventory/ContentsXML目录下,修改inventory.xml文件中,添加标红的部分,否则在安装数据库软件时会上报集群未安装错误。


3.3.2. 安装数据库软件

1. 修改db_install.rsp中相关参数的配置

2. 修改完参数后,执行数据库软件安装,运行以下命令:

./runInstaller -ignorePrereq -waitforcompletion -silent -responseFile /software/database/response/db_install.rsp

 

3.4. 磁盘组配置

3.4.1. 磁盘组配置

在安装数据库实例前,先配置磁盘组,步骤如下:

1. 节点 1和节点2参考3.1.15进行udev绑定;

绑定完成后,节点1进入到grid用户下,sqlplus / as sysasm执行如下命令(根据绑定的盘符进行修改):CREATE DISKGROUP OLTPDATA external REDUNDANCY disk '/dev/oracle/rac_data1','/dev/oracle/rac_data2','/dev/oracle/rac_data3','/dev/oracle/rac_data4' ATTRIBUTE 'au_size'='1M','compatible.asm'='11.2.0';

2. 节点2执行:alter diskgroup OLTPDATA mount;

3.4.2. 验证

节点1进入到grid用户下,asmcmd下查看磁盘组的状态

3.5. 创建Oracle数据库

1. 在安装数据库实例前,先启动监听服务,可运行:netca -silent -responsefile /software/grid/response/netca.rsp,查看监听服务状态

2. 创建数据库实例:dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname oltpdb -characterSet ZHS16GBK -sysPassword Oracle798 -SYSTEMPASSWORD Oracle798 -sysDBAPassword  Oracle798 -nodelist racnode1,racnode2 -STORAGETYPE ASM -DISKGROUPNAME OLTPDATA 

单机的监听命令:

netca -silent -responsefile /software/database/response/netca.rsp

单机的命令:

dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname oltpdb -characterSet ZHS16GBK -sysPassword YPYPypyp@2006 -SYSTEMPASSWORD YPYPypyp@2006 -sysDBAPassword  YPYPypyp@2006 -nodelist oraclenode -STORAGETYPE FS -DISKGROUPNAME /oracledata

 

 

 

 

 

0条评论
0 / 1000
沈****军
19文章数
1粉丝数
沈****军
19 文章 | 1 粉丝
原创

基于分布式块存储(EDS)静默安装Oracle RAC 11g最佳实践

2024-08-19 09:30:10
50
0

1.    概述

1.1. 场景介绍

Oracle数据库位于企业数据中心核心位置,通常支撑着关键应用程序的运行,常见的Oracle数据库被应用于联机事务处理(OLTP)、联机分析处理(OLAP)或数据仓库(DSS)。然而很多企业的数据库系统往往会出现系统运行缓慢的问题,可能造成这种问题的原因通常来源于:上层应用、数据库、主机设备、网络参数、存储设备等环节的配置及部署方式不是最佳配置或规划与设计不合理。为了满足Oracle工作负载的独特需求,天翼云科技有限公司推出了基于分布式存储搭建Oracle RAC最佳实践。

本文主要聚焦如何高效利用云存储进行Oracle RAC数据库业务的部署,通过参考本篇最佳实践,可以获得更好的业务部署效率和业务运行治疗,有效保障存储及Oracle数据库的性能和可用性。

1.2. 组件介绍

内容的地方体现版本信息

本文主要是针对Oracle RAC 11g版本进行安装部署,在部署前,需要在官网下载对应的安装部署包,可以从下面官网地址进行下载对应版本的安装包https://www.oracle.com/database/technologies/,主要安装包如下表所示。

安装包

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip

2.    资源规划

2.1. 云网络资源规划

本节主要介绍Oracle RAC的网络规划,规划了两个网络平面,分别如下:

l  Oracle Public Network平面:数据库客户端通过Oracle Public Network网络平面访问数据库服务。本示例中云主机的第一张网卡所在的网络平面即为Oracle Public Network网络平面中。

为了保证高可用和故障恢复,Oracle RAC要求每个节点配置一个虚拟IP ( Virtual IP),当发生故障时,虚拟IP会在不同节点之间漂移,通过Oracle CRS(集群就绪服务,Oracle Cluster Ready Service)管理各节点的虚拟IP。另外,用户需要在Oracle Public Network子网中申请一个scan IP,该scan IP负责与数据库客户端通信,会把请求转到对应的虚拟IP,然后转到真实的Oracle RAC节点。

l  Oracle Private Network平面:Oracle RAC节点之间需要通过Oracle Private Network平面互相通信,通信内容包括网络心跳和Cache Fusion,该网络平面只负责节点之间的内部通信,并且不能被外部访问,所以需要单独规划一个子网。本示例中云主机的第二张网卡所在的网络平面即为Oracle Private Network网络平面中。

网络规划表如下表所示

Oracle RAC集群网络规划表

Oracle RAC网络

Network网络

VPC Network

10.10.0.0/16

Subnet-public

10.10.10.0/24

Subnet-private

10.10.8.0/24

Oracle RAC集群地址规划:

Oracle RAC节点名称

Public Network IP地址

Private Netwrk IP地址

虚拟IP地址

Scan IP地址

oraclenode1

10.10.10.78

10.10.8.186

10.10.10.50

10.10.10.52

oraclenode2

10.10.10.27

10.10.8.27

10.10.10.51

2.2. 云硬盘资源规划

除了创建云主机自带的系统盘,本示例中主要使用iSCSI共享云硬盘,并挂载至Oracle RAC节点1和节点2,即oraclenode1oraclenode2。通过共享盘创建Oracle ASM(

自动存储管理,Automatic Storage Management)磁盘组,其中磁盘组规划如下表所示。

 

 ASM磁盘组名称

磁盘容量

磁盘个数

ASM磁盘组冗余类型

GRID

10GB

3

Norml

DATA

500GB

8

Extend

REDO

100GB

4

Extend

3.    Oracle软件安装最佳实践

3.1. 环境准备

3.1.1. 修改Oracle RAC节点主机名

本节主要是修改2Oracle RAC节点的主机名称。修改步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,将节点1的主机名修改为oraclenode1,命令:hostnamectl set-hostname oraclenode1


3. 然后退出登录,再重新登录主机名已修改成功。

4. 参考步骤 1~3,配置 Oracle RAC 节点 2 的“HOSTNAME”为“oraclenode2”。

3.1.2. 配置hosts

本节根据2.1云网络资源规划,进行配置2Oracle RAC节点的hosts

操作步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,打开 Oracle RAC 节点 1 的“/etc/hosts”文件。在vi /etc/hosts的末尾添加以下内容:

#public ip

10.10.10.78 oraclenode1

10.10.10.27 oraclenode2

#private ip

10.10.8.186 oraclenode1-priv

10.10.8.27  oraclenode2-priv

#virtual ip

10.10.10.50 oraclenode1-vip

10.10.10.51 oraclenode2-vip

#scan ip

10.10.10.52 scanip

3. 查看hosts文件如下所示:


4. 节点2按照步骤1~3的方法进行配置,添加的内容不变。

3.1.3. 网络配置

DEVICE=eth1

TYPE=Ethernet

IPADDR=10.0.0.3

PREFIX=24

BOOTPROTO=none

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eth1

ONBOOT=yes

3.1.4. 关闭防火墙和SElinux

本节主要是配置2Oracle RAC节点的防火墙和SElinux

操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,永久关闭防火墙,重启云主机后也不会启动。

systemctl disable firewalld

systemctl stop firewalld

systemctl status firewalld


3. 执行以下命令,永久关闭 SElinux,重启云主机后也不会启动。

sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config

回显结果如下,SELINUX 参数值为 disabled 为正常。


4. 节点2按照步骤1~3的方法进行配置。

3.1.5. 关闭linuxNTP

本章节指导用户关闭2Oracle RAC节点的 NTP 服务,使用 Oracle 自带的 NTP。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,关闭操作系统自带的 NTP 服务。

systemctl stop ntpd.service
systemctl disable ntpd.service
mv /etc/ntp.conf /etc/ntp.conf.orig


3. 节点2按照步骤1~3的方法进行配置。

3.1.6. 扩展swap分区

本章节指导用户扩展 swap 分区大小。按照 Oracle 官方建议,当单节点内存总量大于 16GB 时,swap 分区需要设置为 16GB。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行如下命令生成 swap 分区使用的文件,大小为 16G

dd if=/dev/zero of=/home/swap bs=1G count=16


3. 执行如下命令将生成的文件制作成 swap 分区格式

mkswap /home/swap


4. 执行如下命令将生成的文件替换成 swap 分区

swapon /home/swap


5. 修改系统配置文件fstab,保证系统重启后仍然使用该 swap 分区 ,vi /etc/fstab ,在该文件末尾增加如下内容: /home/swap swap swap defaults 0 0 ,添加后查看回显如下所示:


6. 参考本章节步骤 1~5,配置 Oracle RAC 节点 2 swap 分区。

3.1.7. 修改Linux内核参数和资源限制文件

本章节指导用户修改2Oracle RAC节点的 Linux 内核参数。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 配置/etc/security/limits.d/20-nproc.conf文件,在20-nproc.conf文件末尾增加如下内容:

* - nproc 16384

添加后查看回显如下所示:


3. 配置/etc/security/limits.conf文件,在limits.conf文件末尾添加以下内容:

grid soft nproc 16384

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack  10240

oracle hard stack  32768

oracle hard memlock 4194304

oracle soft memlock 4194304

添加后查看回显如下所示:


4. 配置/etc/pam.d/login文件,在login文件的末尾添加以下内容:

session required pam_limits.so

添加后查看回显如下所示:


5. 配置/etc/sysctl.conf文件,在sysctl.conf文件的末尾添加以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 20142494
kernel.shmmax = 82463372083
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 = 1048576

说明:

• kernel.shmax 要大于数据库的 MEMORY_MAX_TARGET 的值,推荐的计

算公式为:机器内存总量(单位 B*60%。最小值为

• kernel.shmall 的计算公式为:kernel.shmax/4094,最小值为 2097152

添加后查看回显如下所示:


6. 修改完内核参数后,执行以下命令,使修改生效:sysctl -p /etc/sysctl.conf


7. 参考本章节步骤 1~6,配置Oracle RAC节点2Linux内核参数。

3.1.8. 创建GridOracle用户和组

本章节指导用户为2Oracle RAC节点创建gridoracle用户和组。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,创建gridoracle的用户和组:

groupadd -g 11001 oinstall  
groupadd -g 11002 dba  
groupadd -g 11003 oper  
groupadd -g 11004 backupdba  
groupadd -g 11005 dgdba  
groupadd -g 11006 kmdba  
groupadd -g 11007 asmdba  
groupadd -g 11008 asmoper  
groupadd -g 11009 asmadmin  
groupadd -g 11010 racdba  
useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

执行的回显如下所示:


3. 配置oraclegrid用户的密码,执行以下命令:

echo CStor@123 | passwd --stdin grid

echo CStor@123 | passwd --stdin oracle

执行的回显如下所示:


说明:

其中CStor@123grid用户和oracle用户的密码,设置的密码一定需要符合规则。

4. 参考本章节步骤 1~3,配Oracle RAC节点2gridOracle用户和组。

3.1.9. 创建数据库的目录和修改权限

本章节指导用户为2Oracle RAC节点创建数据库的安装目录,同时修改权限。操作步骤如下:

1. 使用 root 用户登录节点1云主机。

2. 执行以下命令,创建数据库的目录和修改权限:

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory

3. 参考本章节步骤1~2,配置Oracle RAC节点2的目录和权限。

3.1.10. 互信配置

本章节指导用户为2Oracle RAC节点点的gridoracle用户配置互信,配置方法如下:

1. 使用 root用户登录节点1云主机,然后再登录grid用户

su - grid


2. 执行如下命令,配置节点1到节点2grid用户的互信。

ssh-keygen

说明:执行该命令时都默认配置。

ssh-copy-id oraclenode1

ssh-copy-id oraclenode2

ssh oraclenode1 date;ssh oraclenode2 date;ssh oraclenode1-priv date;ssh oraclenode2-priv date



3. 退出grid用户,然后登录oracle用户,配置节点1oracle用户到节点2的互信,执行命令如下:

su - oracle

ssh-keygen

ssh-copy-id oraclenode1

ssh-copy-id oraclenode2

ssh oraclenode1 date;ssh oraclenode2 date;ssh oraclenode1-priv date;ssh oraclenode2-priv date






4. 参考本章节步骤1~3,配置Oracle RAC节点2到节点1的互信。

3.1.11. 环境变量配置

本章节指导用户为2Oracle RAC节点点配置环境变量,配置方法如下:

1. 使用 root 用户登录云主机。

2. 编辑grid用户的/home/grid/.bash_profile文件,把.bash_profile的内容删除,添加以下信息:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

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

            umask 022

fi

# User specific environment and startup programs

#PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_SID=+ASM1;

export ORACLE_BASE=/u01/app/grid;

export ORACLE_HOME=/u01/app/11.2.0/grid;

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

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib:\$ORACLE_HOME/lib

添加内容后,回显如下:


3. 编辑oracle用户的/home/oracle/.bash_profile文件,把.bash_profile的内容删除,添加以下信息:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=oltpdb1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin

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

export TNS_ADMIN=/u01/app/11.2.0/grid/network/admin

添加完信息后,如下所示:


4. 参考本章节步骤1~3,配置Oracle RAC节点2gridoracle用户的环境变量。

3.1.12. yum源配置

本章节主要指导用户为2Oracle RAC节点点配置yum源,配置方法如下:

 

3.1.13. 安装Oracle RAC的依赖包

本章节指导用户为2Oracle RAC节点安装依赖包,数据库安装需要安装以下依赖包:bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree安装步骤如下:

1. 使用 root 用户登录云主机。

2. 执行以下命令,安装 Oracle RAC 的依赖包。 yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree

执行后的回显如下所示:


3. 检查依赖包的安装情况,检查命令如下:

yum list installed bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli gcc-c++ nfs-utils iscsi-initiator-utils-iscsiuio iscsi-initiator-utils pciutils rdma-core libibverbs libibumad ibacm librdmacm libtool-ltdl unixODBC libarchive cmake unixODBC-devel rdma-core-devel gdb unzip nslookup bind java tmux tree

回显如下所示:


4. 参考步骤1~3,为 Oracle RAC 节点 2 安装依赖包。

3.1.14. 关闭RemoveIPC

本章节只针对CentOS 7.2及之后的版本,关闭RemoveIPC,执行方法如下:

1. 使用root用户登录云主机。

2. 配置/etc/systemd/logind.conf文件,把RemoveIPC取消注释,如下所示:


3. 参考本章节步骤1~2,配置Oracle RAC节点2 RemoveIPC

3.1.15. 配置磁盘UDEV规则

本章节指导用户使用UDEV配置磁盘,以符合Oracle ASM磁盘组的要求。

1. 使用root用户登录Oracle RAC节点1

2. 执行以下命令,查询所有共享云硬盘的UUID值,执行命令如下所示:

/lib/udev/scsi_id -g -u -d /dev/vdb

3. 执行以下步骤,在“/etc/udev/rules.d/”目录中创建一个名称为“99-oracleasmdevices.rules”UDEV规则文件,在对应的文件内添加以下内容,每个盘对应一行。

iscsi盘的绑定规则:

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="33000000035230a3a",SYMLINK+="oracle/rac-grid1",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="330000000da136123",SYMLINK+="oracle/rac-grid2" ,OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="330000000da136123",SYMLINK+="oracle/rac-grid2" ,OWNER="grid", GROUP="asmadmin", MODE="0660"

rbd盘的绑定规则:

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="4074ac14-6c69-4509-a",SYMLINK+="oracle/rac_vde",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="5d2dd6d1-5bc8-4a7c-b",SYMLINK+="oracle/rac_vdf",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="71cdfafc-c785-43ef-8",SYMLINK+="oracle/rac_vdg",OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="vd*", SUBSYSTEM=="block", ATTR{serial}=="ea7438a4-f98a-4def-b",SYMLINK+="oracle/rac_vdh",OWNER="grid", GROUP="asmadmin", MODE="0660"

4. 配置完成后,执行以下命令生效,可以在对应的目录下查看到绑定的磁盘。

udevadm control --reload

udevadm trigger


5. 参考本章节步骤1~3,配置Oracle RAC节点2udev绑定。

备注:查看serial的方法如下:

cat /sys/class/block/nvme0n1/device/serial

3.2. Oracle Grid安装

3.2.1. 安装前环境检查

本章节指导用户进行grid集群安装前环境准备,以符合Oracle Grid集群的要求。

1.  在节点1上进行解压集群的安装包,解压步骤如下:

1) 节点1进入到软件的目录下,然后进行解压:

unzip p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip p13390677_112040_Linux-x86-64_3of7.zip

2) 对解压后的文件修改权限

chown -R grid:oinstall grid/

chown -R oracle:oinstall database/

2. 安装cvuqdisk,把对应的rpm包传到节点2rpm的路径在$ORACLE_HOME/cv/rpm下,在节点1和节点2上安装,安装步骤如下:

1) 节点进入到root用户下;

2) 进入到对应的目录下,节点1grid目录下的rpm目录,节点2根据拷贝的目录来安装,安装rpm包:cvuqdisk-1.0.9-1.rpm

进行环境检查,执行命令:./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -verbose > /home/grid/grid_check.log

注意:如果在检查过程中,有failed需要进行修改。除了pdksh的可以忽略


检查结果最后项无failed的相关内容,如下所示:


3.2.2. Oracle Grid软件安装

1. 使用root用户登录Oracle RAC节点1,然后切换到grid用户,执行命令su - grid

2. 根据环境信息修改grid_install.rsp中相关参数

3. 修改完成后,进行静默安装集群,执行如下命令:

./runInstaller -responseFile /software/grid/response/grid_install.rsp -silent -ignorePrereq -showProgress

注:如果在执行root.sh脚本时,遇到如下错误,执行完成后再继续在节点1上执行root.sh脚本,同样在节点2执行root.sh脚本前,也要先启动该进程。

Adding Clusterware entries to inittab
ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow: 
2022-07-20 15:55:08.065: 
[client(6137)]CRS-2101:The OLR was formatted using version 3.

请启动ohas进程:

1. 以root用户创建服务文件

 

#touch /usr/lib/systemd/system/ohas.service

 

#chmod 777 /usr/lib/systemd/system/ohas.service

 

2. 将以下内容添加到新创建的ohas.service文件中

 

[root@rac1 init.d]# cat /usr/lib/systemd/system/ohas.service

[Unit]

Description=Oracle High Availability Services

After=syslog.target

 

[Service]

ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Restart=always

 

[Install]

WantedBy=multi-user.target

 

3. 以root用户运行下面的命令

 

systemctl daemon-reload

systemctl enable ohas.service

systemctl start ohas.service

4. 查看运行状态

 

[root@rac1 init.d]# systemctl status ohas.service

ohas.service - Oracle High Availability Services

   Loaded: loaded (/usr/lib/systemd/system/ohas.service; enabled)

   Active: failed (Result: start-limit) since Fri 2015-09-11 16:07:32 CST; 1s ago

  Process: 5734 ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple (code=exited, status=203/EXEC)

 Main PID: 5734 (code=exited, status=203/EXEC)

4. 脚本执行完成后,在节点1运行以下命令,完成集群的安装:

/u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/software/grid/response/grid_install.rsp

3.2.3. 验证

安装完集群后,可以查询集群状态,su - grid

运行以下命令:crsctl status res -t

3.3. Oracle Database软件安装

3.3.1. 安装前环境配置

安装数据库软件前,请先进入到/u01/app/oraInventory/ContentsXML目录下,修改inventory.xml文件中,添加标红的部分,否则在安装数据库软件时会上报集群未安装错误。


3.3.2. 安装数据库软件

1. 修改db_install.rsp中相关参数的配置

2. 修改完参数后,执行数据库软件安装,运行以下命令:

./runInstaller -ignorePrereq -waitforcompletion -silent -responseFile /software/database/response/db_install.rsp

 

3.4. 磁盘组配置

3.4.1. 磁盘组配置

在安装数据库实例前,先配置磁盘组,步骤如下:

1. 节点 1和节点2参考3.1.15进行udev绑定;

绑定完成后,节点1进入到grid用户下,sqlplus / as sysasm执行如下命令(根据绑定的盘符进行修改):CREATE DISKGROUP OLTPDATA external REDUNDANCY disk '/dev/oracle/rac_data1','/dev/oracle/rac_data2','/dev/oracle/rac_data3','/dev/oracle/rac_data4' ATTRIBUTE 'au_size'='1M','compatible.asm'='11.2.0';

2. 节点2执行:alter diskgroup OLTPDATA mount;

3.4.2. 验证

节点1进入到grid用户下,asmcmd下查看磁盘组的状态

3.5. 创建Oracle数据库

1. 在安装数据库实例前,先启动监听服务,可运行:netca -silent -responsefile /software/grid/response/netca.rsp,查看监听服务状态

2. 创建数据库实例:dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname oltpdb -characterSet ZHS16GBK -sysPassword Oracle798 -SYSTEMPASSWORD Oracle798 -sysDBAPassword  Oracle798 -nodelist racnode1,racnode2 -STORAGETYPE ASM -DISKGROUPNAME OLTPDATA 

单机的监听命令:

netca -silent -responsefile /software/database/response/netca.rsp

单机的命令:

dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname oltpdb -characterSet ZHS16GBK -sysPassword YPYPypyp@2006 -SYSTEMPASSWORD YPYPypyp@2006 -sysDBAPassword  YPYPypyp@2006 -nodelist oraclenode -STORAGETYPE FS -DISKGROUPNAME /oracledata

 

 

 

 

 

文章来自个人专栏
云备份 云容灾
19 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
4
3