今天同事在巡檢過程中,發現了一個致命的問題,雙機故障,我們所謂的rac就是保證至少1個節點可用, 結果2個節點都down了, 如何給客戶交代?
oracle系統如此之貴,結果中斷了業務,這個問題有點嚴重了。 說得嚇人。。。
來,我們直接看故障點:
1.在crsctl status res -t 的時候,看到DG是offline的, 然后instance是down的。
分析:
down機可能原因
1.硬件故障導致機器重啟,磁陣權限丟失,asm拉不起,可以先檢查磁盤狀態和權限。
2. 數據庫壓力過大,控制器出問題,導致磁盤dismount
3. oracle bug ,需要打補丁
檢查權限(2個節點都要看):
2. 可能是同事處理過,說已經恢復了系統。
但給我說,節點1有個crs沒有啟動。
節點2查看整個集群狀態
$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG01_CRS.dg
ONLINE ONLINE db2
ora.DG02_DATA.dg
ONLINE ONLINE db2
ora.DG02_EDATA.dg
ONLINE ONLINE db2
ora.DG03_REDO01.dg
ONLINE ONLINE db2
ora.DG04_REDO02.dg
ONLINE ONLINE db2
ora.LISTENER.lsnr
ONLINE ONLINE db2
ora.asm
ONLINE ONLINE db2
ora.gsd
OFFLINE OFFLINE db2
ora.net1.network
ONLINE ONLINE db2
ora.ons
ONLINE ONLINE db2
ora.registry.acfs
ONLINE ONLINE db2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE OFFLINE
ora.cvu
1 ONLINE OFFLINE
ora.db1.vip
1 ONLINE OFFLINE
ora.db2.vip
1 ONLINE ONLINE db2
ora.oc4j
1 ONLINE ONLINE db2
ora.scan1.vip
1 ONLINE OFFLINE
ora.unicom.dataclient.svc
1 ONLINE OFFLINE
2 ONLINE ONLINE db2
ora.unicom.dataldr.svc
1 ONLINE OFFLINE
2 ONLINE ONLINE db2
ora.unicom.db
1 ONLINE OFFLINE
2 ONLINE ONLINE db2 Open
節點1查看crs狀態
$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
當然crs是無法用的,給集群管理增加了負擔。
$ crsctl status res -t
CRS-4563: Insufficient user privileges.
CRS-4000: Command Start failed, or completed with errors.
查看進程,發現在節點1,沒有crsd.bin , 但css has 等都是有的,
那么我們單獨啟動節點1 的 crs
查看節點1 進程
再查看節點1 整個crs的狀態
等3分鍾,因為有個刷新的過程,拉起其他進程的過程。
我們再查看整個集群
到這里 2個節點就好了。
做到這里,說明運維的部分已經做完了,
那么我們不僅僅是運維,更多是開發dba的范圍, 承擔系統架構,性能優化,應用優化。 這樣做好了,就少一些運維。
-- 下面繼續分析, 如何避免數據庫壓力大,有優化的余地嗎? 答案是肯定的---- > 有
沒有完美的系統,沒有絕對的高手,只有在不斷研究,才不斷進步。
明天補充說明 從AWR分析,整個系統的性能問題。