11.2.0.4 RAC生產環境刪除故障節點與增加新服務節點
11.2.0.4 RAC生產環境刪除節點與增加節點
場景:反欺詐業務系統為DB為雙活RAC,其中一個伺服器硬體損壞且無法修復。導致業務系統發生故障轉移,單節點RAC雖仍可以保證業務的系統正常執行。但是單節點風險依然存在,經團隊討論抽調一臺伺服器加入RAC中替換故障節點,進而恢復雙活的RAC結構。
具體解決方案評估與計劃思路如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
1.解決方案 1.1 儘快恢復雙活的RAC 1.2 刪除故障節點殘留RAC節點資訊,加入新伺服器成為替代故障節點的伺服器 1.3 應用測試 2.風險評估 1.1 單節點執行風險與執行時間評估 1.2 刪除故障節點2是否影響整個RAC風險評估 1.3 加入新節點是否影響整個RAC風險評估 1.4 應用測試與使用風險評估 3.測試 3.1 刪除殘留配置資訊 3.2 加入新節點對RAC影響 4.執行 備註:工作計劃內容:儲存,伺服器,網路,GI,DB,其他軟體,應用測試等等工作 |
RAC新增刪除節點
1、配置檔案檢查(新增節點配置與現執行節點配置一致)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
/etc/hosts /etc/fstab /etc/group /etc/security/limits
.conf /etc/security/limits
.d
/90-nproc
.conf /etc/selinux/config /etc/pam
.d
/login /etc/sysctl
.conf /etc/profile /etc/mulitipath
.conf /etc/udev/rules
.d/* /etc/default/grub /home/grid/
.bash_profile /home/oracle/
.bash_profile $ORACLE_HOME
/network/admin/
*(grid 使用者) $ORACLE_HOME
/network/admin/
*(oracle使用者) /etc/sysconfig/network-scripts/
* |
2、環境檢查
1
2
3
4
5 |
$ORACLE_HOME
/OPatch/opatch
lspatches df
-h crsctl stat res -t(grid使用者執行) ps
-ef |
grep
lsnr crontab
-l(所有使用者) |
3、刪除節點2(node2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 |
3.1 備份ocr(保留節點執行) #檢視OCR備份 [root@node2 bin]
# ./ocrconfig -showbackup #手動備份OCR [root@node2 bin]
# ./ocrconfig -manualbackup #如需檢視OCR內容,可轉儲OCR備份檔案 [root@node2 bin]
# ./ocrdump -backupfile OCR_backup_file_name #預設檔名OCRDUMPFILE 3.2 刪除例項 3.2.1 檢查資料庫引數設定 [grid@node2 ~]$ srvctl config database -d racdb 3.2.2 關閉刪除節點例項 #檢查例項對應的thread SQL>
select
instance_name ,THREAD
# from gv$instance; INSTANCE_NAME THREAD
# ---------------- ---------- racdb1 1 racdb2 2 <=故障節點 [grid@node2 ~]$ srvctl stop instance -d racdb -i racdb2 3.2.3 保留節點執行disable thread 命令 SQL> alter database disable thread 2; Database altered. 3.2.4 保留節點oracle使用者執行dbca靜默方式刪除例項 [oracle@node1 ~]$ dbca -silent -deleteInstance -nodeList node2 -gdbName racdb -instanceName racdb2 -sysDBAUserName sys -sysDBAPassword oracle 3.2.5 檢查刪除後的資源狀態並確認刪除成功 [grid@node2 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ... -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ... ora.racdb.db
1 ONLINE ONLINE node1 Open <=node2故障節點例項已刪除 ... #也可以使用srvctl命令來檢視當前RAC的例項情況 • [grid@node2 ~]$ srvctl config database -d racdb ... Database instances: racdb1 <=node2故障節點例項已刪除 ... 3.3 刪除oracle軟體 3.3.1 停止刪除節點監聽(保留節點執行) [grid@node1 ~]$ srvctl status listener [grid@node1 ~]$ srvctl stop listener -l listener -n node2 [grid@node1 ~]$ srvctl disable listener -l listener -n node2 [grid@node1 ~]$ srvctl status listener [grid@node1 ~]$ srvctl stop vip -n node2 3.3.2 更新節點清單(保留節點,oracle使用者執行)[oracle@node1 ~]$ $ORACLE_HOME
/oui/bin/runInstaller
-updateNodeList ORACLE_HOME=$ORACLE_HOME
"CLUSTER_NODES={node1}" 3.4 從clusters刪除節點 3.4.1 檢視執行狀態(保留節點,root執行) [root@node1 ~]
# cd /u01/app/grid/11.2.0/bin/ [root@node1 bin]
# ./olsnodes -s -t node1 Active Unpinned node2 Active Unpinned 注:如果狀態為Inactive為異常,官網建議執行.
/crsctl
unpin css 3.4.2 停止刪除節點叢集(刪除節點,root執行) [root@node2 bin]
# cd /u01/app/grid/11.2.0/bin/ [root@node2 bin]
# ./crsctl stop crs #故障節點2的CRS已經down無需STOP 3.4.3 檢查叢集資源 [root@node1 bin]
# ./crsctl stat res -t 注:只剩一個節點 3.4.4 刪除節點(保留節點,root執行) [root@node1 bin]
# cd /u01/app/grid/11.2.0/bin/ [root@node1 bin]
# ./crsctl delete node -n node2 CRS-4661: Node node2 successfully deleted. 3.4.5 更新節點資訊(保留節點,grid執行) [grid@node1 ~]$ $ORACLE_HOME
/oui/bin/runInstaller
-updateNodeList ORACLE_HOME=$ORACLE_HOME
"CLUSTER_NODES={node1}"
CRS=TRUE -silent 注:CLUSTER_NODES={node1}要包含所有保留節點的主機名,逗號隔開 3.4.6 檢查叢集資源資訊(保留節點) [grid@node1 ~]$
cd
/u01/oraInventory/ [grid@node1 oraInventory]$
more
ContentsXML
/inventory
.xml <!--?xml version=
"1.0"
standalone=
"yes"
?--> <!-- Copyright (c) 1999, 2013, Oracle and
/or
its affiliates. All rights reserved. --> <!-- Do not modify the contents of this
file
by hand. --> <inventory> <version_info>
<saved_with>11.2.0.4.0<
/saved_with
>
<minimum_ver>2.1.0.6.0<
/minimum_ver
> <
/version_info
> <home_list> <home name=
"ora11g_gridinfrahome1"
loc=
" u01="
" app="
" grid="
" 11.2.0"
type
=
"O"
idx=
"1"
crs=
"true"
>
<node_list>
<node name=
"node1"
> <=節點資訊
<
/node
name=
"node1"
><
/node_list
> <home name=
"oradb11g_home1"
loc=
" u01="
" oracle="
" product="
" 11.2.0="
" db_1"
type
=
"O"
idx=
"2"
>
<node_list>
<node name=
"node1"
>
<
/node
name=
"node1"
><
/node_list
> <
/home
name=
"oradb11g_home1"
loc=
"></home name="
ora11g_gridinfrahome1
" loc="
><
/home_list
> <compositehome_list> <
/compositehome_list
> <
/inventory
> 3.4.7 叢集節點刪除完畢 至此叢集2節點刪除完畢。 |
4、新增伺服器按節點1安裝系統與各種配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 |
4.1 系統管理員重灌系統 相同系統版本與補丁,安全基線等;更改主機名,配置網路卡、多路徑儲存等 4.2 按第一章中備份的內容恢復相關配置檔案 1、
/etc/hosts 2、
/etc/fstab 3、
/etc/security/limits
.conf 4、
/etc/security/limits
.d
/90-nproc
.conf 5、
/etc/selinux/config 6、
/etc/pam
.d
/login 7、
/etc/sysctl
.conf 8、
/etc/default/grub 9、
/etc/profile 10、建立grid和oracle使用者(具體根據實際情況修改) /usr/sbin/groupadd
-g 1000 oinstall /usr/sbin/groupadd
-g 1300 dba /usr/sbin/groupadd
-g 1301 oper /usr/sbin/groupadd
-g 1201 asmdba /usr/sbin/groupadd
-g 1200 asmadmin /usr/sbin/groupadd
-g 1202 asmoper /usr/sbin/useradd
-u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid /usr/sbin/useradd
-u 1101 -g oinstall -G dba,asmdba,oper oracle passwd
oracle passwd
grid 11、
/home/grid/
.bash_profile 12、
/home/oracle/
.bash_profile 13、配置udev檔案
/etc/udev/rules
.d/* 14、配置本地yum源,安裝lib包 15、根據1節點建立目錄並授權(具體根據實際情況) mkdir
-p
/u01/grid mkdir
-p
/u01/app/grid/11
.2.0 chown
-R grid:oinstall
/u01 mkdir
-p
/u01/oraInventory chown
-R grid:oinstall
/u01/oraInventory mkdir
-p
/u01/oracle chown
-R oracle:oinstall
/u01/oracle chmod
-R 775
/u01 重啟伺服器。 |
5、叢集軟體增加節點(保留節點,grid執行)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 |
5.1 grid使用者建立互信 新增節點執行: [grid@node2 ~]$
mkdir
~/.
ssh [grid@node2 ~]$
ssh
-keygen -t rsa [grid@node2 ~]$
ssh
-keygen -t dsa 保留節點執行: [grid@node1 ~]$
cp
-r ~/.
ssh
~/.ssh_bak [grid@node1 ~]$
ssh
node2
cat
~/.
ssh
/id_rsa
.pub >> ~/.
ssh
/authorized_keys [grid@node1 ~]$
ssh
node2
cat
~/.
ssh
/id_dsa
.pub >> ~/.
ssh
/authorized_keys [grid@node1 ~]$
scp
~/.
ssh
/authorized_keys
node2:~/.
ssh
/authorized_keys 注:由於保留節點中有源剔除節點的資訊,會報錯,將
/home/grid/
.
ssh
/known_hosts
中刪除節點主機的相關的刪除 所有節點驗證: [grid@node2 ~]$
ssh
node1
date
;
ssh
node2
date
;
ssh
node1-priv
date
;
ssh
node2-priv
date
; 增加叢集軟體前驗證
檢測叢集和新加節點(node1,grid使用者) #檢測node2的連通性及共享儲存訪問 $ cluvfy stage -post hwos -n node2 -verbose #比較節點1和節點2屬性 $ cluvfy comp peer -refnode node1 -n node2 -verbose #檢測叢集和新加節點完整性 $ cluvfy stage -pre nodeadd -n node2 -fixup -verbose 5.2 增加叢集軟體 [grid@node1 ~]$
export
IGNORE_PREADDNODE_CHECKS=Y [grid@node1 ~]$ $ORACLE_HOME
/oui/bin/addNode
.sh
"CLUSTER_NEW_NODES={node2}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip}"
"CLUSTER_NEW_PRIVATE_NODE_NAMES={node2-priv}" #PRKC-1025 error;解決辦法Increase JRE_MEMORY_OPTIONS=" -mx1024m" [root@node2 ~]
# /u01/oraInventory/orainstRoot.sh [root@node2 ~]
# /u01/app/grid/11.2.0/root.sh 注:redhat 7上有個bug,需做如下處理 [root@node2 ~]
# touch /usr/lib/systemd/system/ohas.service [root@node2 ~]
# vi /usr/lib/systemd/system/ohas.service [root@node2 ~]
# systemctl daemon-reload [root@node2 ~]
# systemctl enable ohas.service Created
symlink
from
/etc/systemd/system/multi-user
.target.wants
/ohas
.service to
/usr/lib/systemd/system/ohas
.service. [root@node2 ~]
# systemctl start ohas.service |
6、增加資料庫節點(保留節點,oracle使用者執行)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
6.1 oracle使用者建立互信 新增節點執行: [oracle@node2 ~]$
mkdir
~/.
ssh [oracle @node2 ~]$
ssh
-keygen -t rsa [oracle @node2 ~]$
ssh
-keygen -t dsa 保留節點執行: [oracle @node1 ~]$
cp
-r ~/.
ssh
~/.ssh_bak [oracle @node1 ~]$
ssh
node2
cat
~/.
ssh
/id_rsa
.pub >> ~/.
ssh
/authorized_keys [oracle @node1 ~]$
ssh
node2
cat
~/.
ssh
/id_dsa
.pub >> ~/.
ssh
/authorized_keys [oracle @node1 ~]$
scp
~/.
ssh
/authorized_keys
node2:~/.
ssh
/authorized_keys 注:由於保留節點中有源剔除節點的資訊,會報錯,將
/home/oracle/
.
ssh
/known_hosts
中刪除節點主機的相關的刪除 所有節點驗證: [oracle @node2 ~]$
ssh
node1
date
;
ssh
node2
date
;
ssh
node1-priv
date
;
ssh
node2-priv
date
; 6.2 增加資料庫節點 [oracle@node1 ~]$ $ORACLE_HOME
/oui/bin/addNode
.sh -silent
"CLUSTER_NEW_NODES={node2}" [root@node2 ~]
# /u01/oracle/product/11.2.0/db_1/root.sh |
7、資料庫增加例項(保留節點,oracle使用者執行)
[oracle@node1 ~]$ dbca -silent -addInstance -nodeList node2 -gdbName racdb -instanceName racdb2 -sysDBAUserName sys -sysDBAPassword oracle
8、檢查叢集狀態
[grid@node1 ~]$ crsctl stat res -t
附表:
addNode.sh執行過程中,會使用java遷移grid下的軟體,其中JRE_MEMORY_OPTIONS預設值一般過小,遷移過程中可適當增大。
報錯: java.lang.OutOfMemoryError: Java heap space
參考:Addnode.sh or Fresh Install Fails With PRKC-1025 and Java.Lang.OutOfMemoryError (Doc ID 1085893.1)
########################################################################################
版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!【QQ交流群:53993419】
QQ:14040928 E-mail:dbadoudou@163.com
本文連結: http://blog.itpub.net/26442936/viewspace-2747126/
########################################################################################
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-2747126/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Windows 11.2.0.4 RAC安裝配置以及RAC新增節點Windows
- oracle11g_RAC新增刪除節點Oracle
- 【RAC】Oracle10g rac新增刪除節點命令參考Oracle
- onnx 增刪改查,修改節點,刪除節點,修改input,output
- 3節點RAC資料庫夯故障分析資料庫
- XML DOM 刪除節點概述XML
- oracle 11.2.0.4 rac節點異常當機之ORA-07445Oracle
- Mysql增加節點MySql
- mongodb副本集新增刪除節點MongoDB
- redis cluster節點/新增刪除操作Redis
- DOM節點刪除方法小結
- ElasticSearch(單節點)環境配置Elasticsearch
- DM8 配置DMDSC主備環境(rac到單節點 )
- networkx基礎用法:新增節點、新增邊、刪除節點、刪除邊、計算度、賦權重
- Oracle RAC新增節點Oracle
- rac新增節點前之清除節點資訊
- [Kubernetes]node節點pod無法啟動/節點刪除網路重置
- JZ18刪除表的節點
- js中dom節點刪除remove方法JSREM
- kubernetes環境部署單節點redisRedis
- 2節點RAC安裝
- 一體機HDATA節點新增和刪除
- JavaScript刪除元素節點程式碼例項JavaScript
- rac二節點例項redo故障無法啟動修復
- ORACLE 11.2.0.4 rac for linux 鏈路宕導致的單節點異常當機OracleLinux
- oracle 11g rac新增節點前之清除節點資訊Oracle
- Hyperledger Fabric節點的動態新增和刪除
- leetcode----刪除連結串列中的節點LeetCode
- 二叉搜尋樹如何刪除節點
- 11.2.0.4 RAC CSSD服務無法啟動故障 unable to set priority to 4CSS
- RAC二節點啟動異常
- oracle11g RAC新增節點Oracle
- Redis服務之叢集節點管理Redis
- 牛客(刪除連結串列中重複節點)
- 基於minikube快速搭建kubernetes單節點環境
- JQuery2:節點選取與節點插入jQuery
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-生產環境切換Oracle資料庫Linux
- OpenResty + Lua 動態增加 Zuul 節點RESTZuul