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,即oraclenode1和oraclenode2。通过共享盘创建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节点主机名
本节主要是修改2台Oracle 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云网络资源规划,进行配置2台Oracle 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
本节主要是配置2台Oracle 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. 关闭linux的NTP
本章节指导用户关闭2台Oracle 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内核参数和资源限制文件
本章节指导用户修改2台Oracle 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节点2的Linux内核参数。
3.1.8. 创建Grid和Oracle用户和组
本章节指导用户为2台Oracle RAC节点创建grid、oracle用户和组。操作步骤如下:
1. 使用 root 用户登录节点1云主机。
2. 执行以下命令,创建grid和oracle的用户和组:
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. 配置oracle和grid用户的密码,执行以下命令:
echo CStor@123 | passwd --stdin grid
echo CStor@123 | passwd --stdin oracle
执行的回显如下所示:
说明:
其中CStor@123是grid用户和oracle用户的密码,设置的密码一定需要符合规则。
4. 参考本章节步骤 1~3,配置Oracle RAC节点2的grid和Oracle用户和组。
3.1.9. 创建数据库的目录和修改权限
本章节指导用户为2台Oracle 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. 互信配置
本章节指导用户为2台Oracle RAC节点点的grid和oracle用户配置互信,配置方法如下:
1. 使用 root用户登录节点1云主机,然后再登录grid用户
su - grid
2. 执行如下命令,配置节点1到节点2的grid用户的互信。
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用户,配置节点1的oracle用户到节点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. 环境变量配置
本章节指导用户为2台Oracle 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节点2的grid和oracle用户的环境变量。
3.1.12. yum源配置
本章节主要指导用户为2台Oracle RAC节点点配置yum源,配置方法如下:
3.1.13. 安装Oracle RAC的依赖包
本章节指导用户为2台Oracle 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节点2的udev绑定。
备注:查看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包传到节点2,rpm的路径在$ORACLE_HOME/cv/rpm下,在节点1和节点2上安装,安装步骤如下:
1) 节点进入到root用户下;
2) 进入到对应的目录下,节点1在grid目录下的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