你興趣所在的地方,也就是你能力所在的地方。------------卡耐基

環境:
雙節點RAC,其中一個節點因為本地盤損壞,導緻系統完全損壞,系統需要重新安裝
作業系統:OracleLinux 6.5 x86_64
1,重新安裝作業系統
2,重新配置伺服器環境
配置主機名
vi /etc/hosts
配置網絡
vi /etc/sysconfig/network
vi /etc/sysconfig/network-script/ifcfg-eth0和/ifcfg-eth1
修改參數
vi /etc/pam.d/login
vi /etc/security/limits.conf
vi /etc/sysctl.conf
關閉防火牆
service iptables off
chkconfig iptables off
關閉selinux
Selinux=disable
關閉NetWorkerManager
service NetworkerManager stop
chkconfig NetworkerManager off
配置使用者資訊
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper,asmadmin,asmoper oracle
passwd oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
passwd oracle
配置信任關系(保留節點和已損修複節點間進行)
oracle使用者和grid使用者都需要執行
a,生産公鑰和私鑰(兩個節點都執行)
su - oracle或者grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
b,在保留節點上執行以下操作
cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
c,在oracle和grid使用者下面分别執行檢驗操作
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date
3,備份OCR
root使用者下執行:
檢測備份
$GRID_HOME/bin/ocrconfig -showbackup
手工備份
# GRID_HOME/bin/ocrconfig -manualbackup
# GRID_HOME/bin/ocrdump /tmp/ocrdump_ocr.bak
4,删除執行個體
a,如果是正常删除節點,那麼在要删除的節點上執行操作
sqlplus / as sysdba
shutdown immediate
如果是節點損壞,則沒有必要進行該操作
在保留節點上執行:
alter database disable thread 2;
b,在保留節點上執行instance删除
如果有圖形界面支援,則可以運作dbca進行删除
如果沒有則采取靜默删除
dbca -silent -deleteInstance -nodeList db01 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword oracle
Deleting instance
1% complete
2% complete
6% complete
13% complete
20% complete
26% complete
33% complete
40% complete
46% complete
53% complete
60% complete
66% complete
Completing instance management.
100% complete
Look at the log file "/oracle/app/oracle/cfgtoollogs/dbca/orcl.log" for further details.
c,确認執行個體删除完成
su - grid
srvctl config -d newtbdb
5,RAC層面删除節點
a,保留節點上執行
srvctl status listener
srvctl disable listener -n db01
srvctl stop listener -n db01
b,移除oracle home
如果是正常删除節點,需要在被删除節點上執行一下操作,如果是損壞則不需要
su - oracle
cd $ORACLE_HOME/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={db01(代表要删除的節點)}" -local
解除安裝oracle db,删除oracle home
$ORACLE_HOME/deinstall/deinstall -local
保留節點上更新節點清單資訊
su - oracle
cd $ORACLE_HOME/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={db02(代表保留節點)}"
6,Grid Infrastructure層面删除節點(删除grid home)
a,确認節點狀态是否是Unpinned
su - grid
$olsnodes -s -t
如果是pinned,請設為Unpinned
crsctl unpin css -n db01
b,在被删除節點禁用clusterware的application and daemons
被删除節點上執行
su - root
cd $GRID_HOME/crs/install
#./rootcrs.pl -deconfig -force
c,在保留節點上進行節點删除
su - root
#crsctl delete node -n db01
d,被删除節點更新節點資訊
su - grid
cd $GRID_HOME/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES={zdnewtbdb01}" CRS=TRUE -silent -local
e,被删除節點上解除安裝GI,删除grid home
su - grid
cd $GRID_HOME/deinstall
./deinstall -local
f,保留節點更新節點資訊
su - grid
cd $GRID_HOME/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES={zdnewtbdb01}" CRS=TRUE -silent
g,在保留節點上确認節點是否删除
su - grid
cluvfy stage -post nodedel -n zdnewtbdb01
節點增加
注意點:删除節點後,如果新增加的節點主機名和删除節點一樣,可能會遇到如下錯誤:
SEVERE:由于無法從指令行或響應檔案中擷取CLUSTER_NEW_NODES。。。。。。。。。。。。。
該問題是由于可能配置資訊未完全清除,不能進行使用,可以換取另外一個nodename
7,確定環境是否一樣
a,確定所有節點使用者組,使用者id一緻
id oracle
id grid
b,檢查環境(使用者grid和oracle下面都執行)
cluvfy stage -pre nodeadd -n db03 -fixup -verbose
cluvfy stage -post hwos -n db03
cluvfy comp peer -refnode db02 -n db03 -orainv oinstall -osdba oinstall-verbose
8,Grid Infrastructure層面添加新節點
a,執行添加節點,拷貝軟體資訊
su - grid
cd $ORACLE_HOME/oui/bin
export IGNORE_PREADDNODE_CHECKS=Y
./addNode.sh -silent "CLUSTER_NEW_NODES={db03}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={db03-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={db03-priv}"
b,新增加節點上運作提示的腳本
su - root
sh /opt/oracle/app/oraInventory/oraInstRoot.sh
sh $ORACLE_HOME/root.sh
9,RAC層面添加節點
a,保留節點上執行添加節點,拷貝軟體資訊
su - oracle
cd $ORACLE_HOME/oui/bin
export IGNORE_PREADDNODE_CHECKS=Y
./addNode.sh -silent "CLUSTER_NEW_NODES={db03}"
b,新增加節點上運作提示的腳本
su - root
cd $ORACLE_HOME
sh root.sh
10,新節點添加執行個體
如果有圖形界面支援,則運作dbca進行添加,否則:
su - oracle
dbca -silent -addInstance -nodeList db03 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword 123456
11,檢查是否成功
select * from gv$instance;
喜歡的朋友可以掃描以下二維碼進行關注,公衆号将每天更新文章: