【RAC】RAC更換心跳地址和RAC更換儲存主要步驟

xysoul_雲龍發表於2021-03-31
本文件主要分為以下兩項,以供參考:
  1. RAC更換IP地址
  2. RAC更換儲存(儲存複製)

1.RAC 更換IP地址和埠號
#根據網路卡名及ip地址為叢集新增網路卡資訊
#檢視叢集安裝目錄
su - grid
echo $ORACLE_HOME/bin
#root使用者執行檢視當前叢集ip資訊
 ./oifcfg getif
 #計算ip地址網路斷,eg
 ipcalc -bnm 10.1.1.1 255.255.255.0  #需設定network 地址
 #新增新的ip地址
 ./oifcfg setif -global bond0/192.168.8.1:public
 ./oifcfg setif -global bond1/10.1.1.1:cluster_interconnect 
 ./oifcfg getif
 
 #新增完成確認,停止叢集 #每個節點都執行
 ./crsctl stop crs #-f
 
 #調整網路,修改/etc/hosts檔案  每個節點執行
 vi /etc/hosts
 
 #啟動叢集
 ./crsctl start crs
 
 #刪除無用的網路資訊
 ./oifcfg getif
 ./oifcfg delif -global eth0/192.168.1.0
  ./oifcfg delif -global eth1/10.1.1.0
  
  #檢查叢集狀態
  su - grid
  crsctl stat res -t
  
  #修改監聽埠號 or 建立監聽
  netca #命令修改
  #修改叢集配置
  srvctl config scan_listener
  srvctl modify scan_listener -p 11521
  
  #vip修改
  srvctl modify nodeapps -n rac01 -A rac01-vip/255.255.255.0/eth0
  srvctl modify nodeapps -n rac02 -A rac02-vip/255.255.255.0/eth0
  
  #調整asm及資料庫例項埠號
  show parameter listener
  alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.53)(PORT = 11521))' sid='+ASM1';
  alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.54)(PORT = 11521))' sid='+ASM2';
  alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.53)(PORT = 11521))' sid='racdb1';
  alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.54)(PORT = 11521))' sid='racdb2';
2.更換儲存(儲存複製)
2.1 確認磁碟,設定多路徑繫結
#根據需求,檢查磁碟,繫結多路徑
#多路徑命令參考
yum install device-mapper-multipath*
modprobe dm-multipath  #載入模組
modprobe dm-round-robin #載入模組 
service multipathd restart #重啟
multipath -F #刪除現有路徑 
multipath -v2 #格式化路徑 
multipath -ll #檢視多路徑
#多路徑配置檔案 參考
multipath -ll #檢視多路徑
#根據查詢結果配置多路徑引數
# cat   /etc/multipath.conf
 defaults {
       polling_interval        5
       path_grouping_policy    multibus
       prio                    const
       path_checker            directio
       rr_min_io               1000
       rr_weight               uniform
       failback                manual
       no_path_retry           fail
       user_friendly_names     yes
}
 
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss!c[0-9]d[0-9]*"
}
 
multipaths {
multipath {
                wwid    14f504e46494c45525743714d4f6a2d6437466f2d30435362
                alias   fra
                path_grouping_policy multibus
        }
        multipath {
                wwid    14f504e46494c4552664857314b622d576f63582d6f324743
                alias   data
                path_grouping_policy multibus
        }
        multipath {
                wwid    14f504e46494c45524f616d324a4f2d463255562d42764747
                alias   ocr1
                path_grouping_policy multibus
        }
        multipath {
                wwid    14f504e46494c455230336f4738382d684268682d66306a32
                alias   ocr2
                path_grouping_policy multibus
        }
}
#rhel7
systemctl start multipathd.service
systemctl status multipathd.service
#磁碟繫結
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
ENV{DM_NAME}=="ocr1", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="ocr2", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="ocr3", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="ocr4", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="ocr5", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="data", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="fra", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
#生效
star_udev
#rhle7
/sbin/udevadm control --reload-rules
/sbin/udevadm trigger --type=devices --action=change
2.2 重新配置,或重新安裝叢集軟體
#確認原叢集磁碟路徑,可依據原有磁碟情況,設定路徑,嘗試啟動叢集,如若無法啟動。可嘗試如下方式:
#為避免ssh互信問題,建議先測試,或者重新執行root.sh即可
ssh rac1 date
ssh rac2 date
#手動執行ssh互信
#配置ssh 
ssh-keygen -t rsa
ssh-keygen -t dsa
#執行後測試
ssh rac01 cat /home/grid/.ssh/id_rsa.pub >>authorized_keys
ssh rac01 cat /home/grid/.ssh/id_dsa.pub >>authorized_keys
ssh rac02 cat /home/grid/.ssh/id_rsa.pub >>authorized_keys
ssh rac02 cat /home/grid/.ssh/id_dsa.pub >>authorized_keys
scp authorized_keys rac02:/home/grid/.ssh/
#執行root.sh  $ORACLE_HOME/crs/install
./rootcrs.pl -verbose -deconfig -force 
# gpnp目錄 修改引數檔案
vi crsconfig_params #eg 磁碟資訊,ip地址等
ASM_DISK_GROUP=ocr
ASM_DISCOVERY_STRING=/u01/asm-disk/*
ASM_DISKS=/u01/asm-disk/ocr1,/u01/asm-disk/ocr2,/u01/asm-disk/ocr3
#清理 dd
dd if=/dev/zero of=/dev/mapper/crs1 bs=1024 count=2
dd if=/dev/zero of=/dev/mapper/crs2 bs=1024 count=2
dd if=/dev/zero of=/dev/mapper/crs3 bs=1024 count=2
#root.sh  $ORACLE_HOME
./root.sh
#執行完成後,確認監聽是否正常,如沒有監聽服務,建立監聽
netca
##重新安裝軟體,根據現有軟體版本,重新安裝
#建立使用者
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1100 asmadmin
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/groupadd -g 1201 oper
/usr/sbin/groupadd -g 1300 asmdba
/usr/sbin/groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 1200 -g oinstall -G dba,oper,asmdba oracle
#設定使用者密碼
passwd grid 
passwd oracle
echo oracle | passwd oracle --stdin
echo oracle | passwd grid --stdin
mkdir -p  /u01/app/11.2.0/grid
chown grid:oinstall /u01/  -R
chmod 775 /u01/ -R
mkdir -p  /u02/app/oracle/product/11.2.0/db_home  
chown oracle:oinstall /u02/ -R
chmod  775 /u02/ -R
#grid配置環境變數
su - grid
vi .bash_profile 
ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
umask 022
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:$ORACLE_PATH
export PATH
#配置Oracle環境變數
su - oracle
vi .bash_profile
export ORACLE_SID=mydb
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=/u02/app/oracle/product/11.2.0/db_home  
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
umask 022
export PATH
#驗證asm磁碟組
kfod asm_diskstring='/dev/mapper/*' disks=all
kfed read /dev/mapper/data1 |grep grpname
#確認oracle許可權
 $GRID_HOME/bin/setasmgidwrap o=/u01/app/product/11.2.0/dbhome_1/bin/oracle
 
 chmod 6751 oracle
 ls -l oracle
#測試心跳
netstat -in
ping -s 1500 -c 2 -I <源ip地址> <目標ip地址>
traceroute -s <源ip地址> -r -F <目標ip地址>  <包大小>
#掛在資料磁碟組
su - grid
sqlplus / as sysasm
alter diskgroup data mount;
#檢查資料庫初始化引數檔案位置
asmcmd
lsdg
cd data
cd 
#編輯啟動引數檔案
su - oracle
cd $ORACLE_HOME/dbs
vi initracdb1.ora
spfile='+data/xxx/parameter/spfile000.ora'
#啟動資料庫
startup
#新增到叢集服務
su - oracle
srvctl add database -d racdb -o /u02/app/oracle/11.2.0/product/db_home -p data/xxx/spfile.ora
srvctl add instance -d racdb -i racdb1 -n rac01
srvctl add instance -d racdb -i racdb2 -n rac02
#檢查叢集狀態,監聽狀態等,重啟測試
crsctl stat res -t
lsnrctl stat
sqlplus / as sysdba
select instance_name,status from gv$instance;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2765905/,如需轉載,請註明出處,否則將追究法律責任。

相關文章