oracle rac 安裝驗收測試
對於一個客戶安裝完oracle rac,客戶不知道測試什麼,但是如果沒有經過一個嚴格測試,又不知道安裝的是否存在問題,下面是我們給一個客戶做rac後的安裝測試驗收報告,大家可以進行參考:
TEST# |
測試項 |
測試過程 |
期待結果 |
測試結果 |
Test1 |
一個節點重啟 |
1. 連線客戶端 2. 確認客戶端連線例項 3. 重啟連線的節點 |
重啟節點所有資源例項和叢集資源offline; Vip、scan Ip、scan listener故障遷移至存活節點; 現存DML語句將中斷; 客戶端重新連線至存活節點。 |
1. 客戶端連線在例項2 2. 重啟後,客戶端連線到例項1 |
Test2 |
OCR的Master節點失敗 |
1. 連線客戶端 2. 檢視master的連線例項 3. 關閉master節點 |
另一節點繼續對外提供服務 |
1. 客戶端連線在例項1 2. 例項1為master 3. 關閉例項1後,客戶端連線到例項2資源漂移到例項2 |
Test 3 |
重啟失敗節點 |
重啟失敗節點 |
節點啟動,叢集恢復 |
3. 重啟例項1後,資源漂移到例項2 |
Test 4 |
同時重啟所有節點 |
1. 在兩個節點上同時執行reboot 2. 兩個節點重啟後,執行crsctl stat res –t”. |
叢集狀態恢復正常 |
|
Test 5 |
例項計劃外宕掉 |
# ps –ef | greppmon kill the pmon process: # kill –9 <pmonpid> |
殺掉程序後例項down掉,之後自動重啟 |
1. 客戶端連線在例項2 2. 例項2宕掉自動重啟 |
Test 6 |
例項計劃內宕掉 |
執行 shutdown abort |
Shutdown的例項停止對外服務,直至手動啟動資料庫例項 |
1. 客戶端連線在例項1 2. 例項1宕掉,不進行自動重啟 |
Test 7 |
重啟失敗節點 |
執行startup |
Shutdown的例項啟動,叢集恢復 |
1,叢集恢復正常 |
Test 8 |
ASM例項計劃外宕掉 |
# ps –ef | greppmon kill the pmon process: # kill –9 <pmonpid> |
被殺程序的ASM例項及在之上的資料庫實力均stop後自動重啟 |
1. asm自動重啟 2. DB自動重啟 |
Test 9 |
多例項重啟失敗節點 |
分別在兩個節點執行 # ps –ef | greppmon kill the pmon process: # kill –9 <pmonpid> |
兩節點資料庫實力stop然後自動重啟 |
1. DB自動重啟 |
Test10 |
Lisener失敗 |
# ps –ef | grep tnslsnr Kill the listener process: # kill –9 <listener pid> |
監聽自動重啟 |
Lisener自動重啟 |
Test11 |
Scan Lisener失敗 |
# ps –ef | grep tnslsnr Kill the listener process: # kill –9 <listener pid> |
監聽自動重啟 |
Scan Lisener自動重啟 |
Test12 |
Public 網路失敗 |
禁用public網絡卡 |
被拔網絡卡ora.*.network和linstner資源offline 被拔網絡卡節點的scan vips和listener將轉移至另一節點 被拔網絡卡節點vip轉移至另一節點 例項執行但不對外提供服務 資料庫服務轉移至存活節點 |
被拔網絡卡ora.*.network和linstner資源offline 被拔網絡卡節點的scan vips和listener將轉移至另一節點 被拔網絡卡節點vip轉移至另一節點 例項執行但不對外提供服務 資料庫服務轉移至存活節點 |
Test13 |
私有網路失敗 |
禁用private網絡卡 |
產生腦裂,驅逐節點後單一節點對外提供服務 |
第一節點倖存 第二節點資源被清理,節點未重啟 |
Test14 |
節點丟失OCR和Votedisk磁碟 |
移除OCR所在的磁碟 |
丟失磁碟節點停止服務,另一節點不受影響 |
丟失磁碟節點叢集資源轉移至另一節點 丟失磁碟節點資料庫ideal 第二節點正常 |
Test15 |
節點找回OCR和Votedisk磁碟 |
重新新增之前的OCR磁碟 |
叢集狀態恢復 |
叢集狀態自動恢復正常 |
Test16 |
節點磁碟單路徑訪問 |
斷開一條儲存鏈路 |
多路徑啟用 對資料庫例項沒有影響 |
|
Test17 |
網絡卡測試 |
斷開一個節點所有網線 |
CSSD程序將會檢測腦裂情況,最小的節點號將會保持,客戶端所有程序被終止,資源被清除,如果資源未清除,系統將會重啟。一旦網路恢復,OHASD 將會重啟堆疊。 |
叢集程序故障測試
TEST# |
測試項 |
測試過程 |
期待結果 |
測試結果 |
|
Test1 |
CRSD程序失敗 |
Obtain the PID for the CRSD process: # ps –ef | grep crsd Kill the CRSD process: # kill –9 <crsdpid> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test2 |
EVMD程序失敗 |
# ps –ef | grepevmd Kill the EVMD process: # kill –9 <evmdpid> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test3 |
CSSD 程序失敗 |
Obtain the PID for the CSSD process: # ps –ef | grepcssd Kill the CSSD process: # kill –9 <cssdpid> |
伺服器節點重啟 |
1. 該節點伺服器重啟 2. 叢集將重新配置 |
|
Test4 |
CRSD ORAAGENT RDBMS 程序失敗 |
Obtain the PID for the CRSD oraagent for the RDBMS software owner: # cat $GI_HOME/log/<nodename> /agent/crsd/oraagent_<rdbms_owner> /oraagent_<rdbms_owner>.pid # kill –9 <pid for RDBMS oraagent process> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test5 |
CRSD ORAAGENT Grid Infrastructure 程序失敗 |
Obtain the PID for the CRSD oraagent for the GI software owner: # cat $GI_HOME/log/<nodename>/agent /crsd/oraagent_<GI_owner>/ oraagent_<GI_owner>.pid # kill –9 <pid for GI oraagent process> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test6 |
CRSD ORAROOTAGENT程序失敗 |
|
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test 7 |
OHASD ORAAGENT 程序失敗 |
Obtain the PID for the OHASD oraagent: # cat $GI_HOME/log/<nodename>/agent/ ohasd/oraagent_<GI_owner>/ oraagent_<GI_owner>.pid # kill –9 <pid for oraagent process> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test 8 |
OHASD ORAROOTAGENT程序失敗 |
Obtain the PID for the OHASD orarootagent: # cat $GI_HOME/log/<nodename>/agent/ohasd/orarootagent_root/orarootagent_root.pid # kill –9 <pid for orarootagent process> |
程序重啟 |
該程序殺掉後,該程序立即自動重啟 |
|
Test9 |
CSSDAGENT Process Failure |
Obtain the PID for the CSSDAGENT: # ps –ef | grep cssdagent # kill –9 <pid for cssdagent process> |
程序重啟 |
程序立即自動重啟 |
ASM功能測試
TEST# |
測試項 |
測試過程 |
期待結果 |
測試結果 |
Test1 |
檢查ASM磁碟 |
Login to ASM via SQL*Plus and run: “select name, group_number, path, state, header_status, mode_status, label from v$asm_disk” |
獲得ASM磁碟資訊 |
獲得ASM磁碟資訊 |
Test2 |
新增ASM磁碟 |
執行: create diskgroup data2 external redundancy disk '/dev/asm-disk2'; |
獲得新新增的磁碟組 |
新增磁碟組成功 |
Test3 |
新增一個磁碟到ASM磁碟組 |
執行: alterdiskgroup data2 add disk ‘/dev/asm-disk2’; |
Data2磁碟組獲得新增磁碟,資料reblance |
新增磁碟成功 |
Test4 |
刪除磁碟組中的一個磁碟 |
執行: alter diskgroup data drop disk '/dev/asm-disk2'; |
刪除磁碟成功資料無損失 |
成功 |
Test5 |
undrop一個磁碟到ASM磁碟組 |
執行: alter diskgroup data drop disk '/dev/asm-disk2'; 然後執行 alter diskgroup data drop disk '/dev/asm-disk2'; |
取消刪除命令 |
取消成功 |
Test6 |
drop一個磁碟組 |
執行: drop diskgroupdata2; |
刪除磁碟組 |
刪除成功 |
Test7 |
編輯 rebalance power of an active operation |
Login to ASM via SQL*Plus and run: “alter diskgroup<dg name> add disk '<candidate1 path> ;” • Before the rebalance completes run the following command via SQL*Plus: “alter diskgroup<dg name> rebalance power <1 – 11>;”. |
修改磁碟組reblance級別 |
修改成功 |
Test8 |
核實資料通訊及ASM檔案訪問情況 |
開啟所有資料庫例項 登入ASM例項檢視檢視v$asm_clint |
每個資料庫例項在v$asm_client檢視中列出 |
每個資料庫例項在v$asm_client檢視中列出 |
Test9 |
使用sqlplus檢查磁碟組元資料一致性 |
使用sqlplus登入ASM並執行 alter diskgroup <name> check all |
如果磁碟組內部一致返回 “Diskgroup altered”,若不一致則返回問題描述 |
返回Diskgroup altered 磁碟組內部一致 |
Test10 |
ASMCMD檢視可見的候選盤 |
新增一塊磁碟 使用ASMCMD登入ASM執行 lsdsk --candidate |
顯示最新新增的磁碟 |
ASMCMD> lsdsk --candidate Path /dev/asm-disk2 |
Test11 |
使用ASMCMD為磁碟組新增磁碟 |
使用lsdsk --candidate查詢可用磁碟 建立XML配置檔案: <chdg name="DATA"> <add> <dsk string="/dev/asm-disk2"/> </add> </chdg> 使用ASMCMD登入ASM執行: chdg <config file>.xml” |
磁碟新增成功,資料rebalanced到磁碟組中的每一個磁碟中 |
磁碟新增成功,資料分佈在磁碟組中所有磁碟 |
Test12 |
使用ASMCMD為磁碟組刪除磁碟 |
使用lsdsk -G <dg name> -k 確認要刪除的磁碟名稱 建立XML配置檔案: <chdg name=" DATA "> <drop> <dsk name="DATA_0001 "/> </drop> </chdg> 使用ASMCMD登入ASM執行: chdg <config file>.xml” |
成功刪除磁碟,資料無損失 |
成功刪除磁碟 |
Test13 |
建立別名 |
Login to ASM via SQL*Plus and run: “alter diskgroup DATA add alias '+DATA/my_files/datafile_alias ' for '+DATA/ORCL/DATAFILE/USERS.259.884516315 ';” |
檢視v$asm_alias中存在建立的別名 |
成功建立別名 |
Test14 |
刪除別名 |
Login to ASM via SQL*Plus and run: alter diskgroup DATA drop alias '+DATA/my_files/datafile_alias'; |
檢視v$asm_alias中別名已刪除 |
刪除成功 |