step1: 配置 rac3 操作系統,保持與現有節點一致
step2: 配置 grid 和 oracle 用戶互信
step3: 檢測集群狀態和新節點配置
step4: 執行添加節點腳本
step5: 擴展 DB HOME
step6: 擴展實例
step7: 完成檢查
# systemctl stop firewall
# systemctl disable firewall
關閉selinux
# vi /etc/selinux/config
SELINUX=disabled
添加 rac3 的信息
172.16.70.170 rac1
172.16.70.171 rac2
172.16.70.190 rac3
10.0.0.100 rac1-priv
10.0.0.101 rac2-priv
10.0.0.102 rac3-priv
172.16.70.173 rac1-vip
172.16.70.174 rac2-vip
172.16.70.191 rac3-vip
172.16.70.175 cluster-scan-ip
# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 8589934591
kernel.shmmni = 4096
kernel.shmall = 2097152
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
使參數生效
# sysctl -p
# vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
( 1 )創建組
# groupadd -g 501 dba
# groupadd -g 50 2 oinstall
( 2 )創建用戶
# useradd -u 50 1 -g oinstall -G dba -d /home/oracle oracle
# useradd -u 600 -g oinstall -G dba -d /home/grid grid ( 3 ) 給oracle 和 grid 用戶設置密碼
# passwd oracle
# passwd grid
(4 )檢查
# id oracle
# id grid
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle /product/11.2.0/db_1
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/11.2.0/grid
# chown -R oracle:oinstall /u01
# 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
(grid 用戶) $ vi .bash_profile
export ORACLE_SID= +ASM 3
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
(oracle 用戶)
$ vi /home/oracle/.bash_profile
export ORACLE_SID= ORCL3
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
上傳iso 鏡像到 /u01/set/os 目錄
# mount -o loop /u01/setup/os/ rhel-server-7.2-x86_64-dvd.iso /mnt
# vi /etc/yum.repos.d/mnt.repo
[mnt]
name=Yum Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
# yum makecache
安裝 如下包:
# yum install -y binutils compat* elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC-devel libaio-devel ksh
# vi /etc/udev/rules.d/ 99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45524932494157712d763771782d30694f30 ", RUN+="/bin/sh -c 'mknod /dev/asm_ocr b $major $minor; chown grid:oinstall /dev/asm_ocr ; chmod 0660 /dev/asm_ocr '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45526d70325177442d616f33572d35686452 ", RUN+="/bin/sh -c 'mknod /dev/asm_data1 b $major $minor; chown grid:oinstall /dev/asm_data1 ; chmod 0660 /dev/asm_data1 '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c455251726b30676d2d337842312d55375278 ", RUN+="/bin/sh -c 'mknod /dev/asm_data2 b $major $minor; chown grid:oinstall /dev/asm_data2 ; chmod 0660 /dev/asm_data2 '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45527650634d78742d4a7664622d3276506e ", RUN+="/bin/sh -c 'mknod /dev/asm_arch b $major $minor; chown grid:oinstall /dev/asm_arch ; chmod 0660 /dev/asm_arch '"
啟動udev
# /sbin/udevadm trigger --type=devices --action=change
查看asm 磁盤
# ll /dev/asm*
brw-rw----. 1 grid oinstall 8, 64 Aug 6 10:54 /dev/asm_arch
brw-rw----. 1 grid oinstall 8, 32 Aug 6 10:54 /dev/asm_data1
brw-rw----. 1 grid oinstall 8, 48 Aug 6 10:54 /dev/asm_data2
brw-rw----. 1 grid oinstall 8, 16 Aug 6 10:54 /dev/asm_ocr
注:上面的1-9 步驟需要和 rac1&rac2 配置保持一致
(oracle 用戶)
$ $ ORACLE_HOME/oui/bin/runSSHSetup.sh -user oracle -hosts 'rac1 rac2 rac3' -advanced -exverify
(grid 用戶)
$ $ORACLE_HOME/oui/bin/runSSHSetup.sh -user grid -hosts 'rac1 rac2 rac3' -advanced -exverify
(grid 用戶)
1) 檢測rac3 的連通性及共享存儲訪問
$ cluvfy stage -post hwos -n rac3 -verbose
2) 比較節點2 和節點 3 屬性
$ cluvfy comp peer -refnode rac2 -n rac3 -verbose
3) 檢測集群和新加節點完整性
$ cluvfy stage -pre nodeadd -n rac3 -fixup -verbose
$ export IGNORE_PREADDNODE_CHECKS=Y
$ cd $ORACLE_HOME/oui/bin
$ ./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}"
最后需要在節點3 下, root 用戶執行以下兩個腳本
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/11.2.0/grid/root.sh
(oracle 用戶)
$ export IGNORE_PREADDNODE_CHECKS=Y
$ cd $ORACLE_HOME/oui/bin
$ ./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}"
最后需要root 用戶在 rac3 執行以下腳本:
# /u01/app/oracle/product/11.2.0/db_1/root.sh
(oracle 用戶)
方式一:靜默方式
執行以下命令:
$ dbca -silent -addInstance -nodeList rac3 -gdbName ORCL -instanceName ORCL3 -sysDBAUserName sys -sysDBAPassword oracle
命令參考:
$ dbca -silent -addInstance -nodeList node_name -gdbName gdb_name -instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password
參數說明:
node_name: 想要添加到的節點名
gdb_name: global database name
instance_name: 指定實例名
sysdba: 有 sysdba 權限的用戶
password: 密碼
方式二:DBCA 圖形界面方式
1) 檢查集群資源
$ crsctl status res -t
2) 實例檢查
SQL > select instance_number,instance_name,host_name from gv$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------- ----------
3 ORCL3 rac3
2 ORCL2 rac2
1 ORCL1 rac1
3) 日志檢查
檢查所有節點 asm alert 日志、 db alert 日志 。
---- end ----
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。