在11.2中,CRSD程序不再是RAC中最關鍵的程序之一。
如果對10g RAC比較熟悉,應該清楚CRSD程序的重要性,Oracle在作業系統啟動後,就是通過啟動這個程序然後啟動整個CLUSTER以及資料庫的。
在11.2的RAC中,Oracle調整了ASM,使得OCR和VOT可以存儲在ASM磁盤組中。ASM是CLUSTER所支援的一個元件,而CLUSTER啟動所需的OCR和VOT卻要放在ASM中,這其實要解決一個先有雞還是先有蛋的問題。最終Oracle通過OHASD程序的方式解決了這個問題,而整個CLUSTER和ASM的架構也發生了重大的變化,OHASD程序取代了CRSD程序變成了RAC環境中最關鍵的程序。
而CRSD程序的重要性已經低到難以置信的地步,前兩天在一個客戶的11.2 RAC環境中發現,即使一個節點的CRSD程序沒有啟動,仍然可以手工啟動資料庫,且資料庫可以正常通路。
導緻的問題原因應該是節點2上通路OCR和VOT所在的磁盤組出現了錯誤,導緻CRSD在多次嘗試擷取OCR中存儲的資訊失敗後自動退出,進而使得節點2無法正常的啟動。不過這時節點2上除了CRSD程序外,其他的CLUSTER程序已經完全啟動,ASM執行個體也可以啟動,這時可以手工啟動節點2上的資料庫。
節點2上ASM的alert有如下的錯誤資訊:
<code>Tue Jun 13 10:59:17 2017</code>
<code>Reconfiguration started (old inc 10, new inc 12)</code>
<code>List of instances:</code>
<code> </code><code>1 2 (myinst: 1) </code>
<code> </code><code>Global Resource Directory frozen</code>
<code> </code><code>Communication channels reestablished</code>
<code> </code><code>Master broadcasted resource </code><code>hash</code> <code>value bitmaps</code>
<code> </code><code>Non-</code><code>local</code> <code>Process blocks cleaned out</code>
<code> </code><code>LMS 0: 0 GCS shadows cancelled, 0 closed, 0 Xw survived</code>
<code> </code><code>Set master node info </code>
<code> </code><code>Submitted all remote-enqueue requests</code>
<code> </code><code>Dwn-cvts replayed, VALBLKs dubious</code>
<code> </code><code>All grantable enqueues granted</code>
<code> </code><code>Submitted all GCS remote-cache requests</code>
<code> </code><code>Fix write </code><code>in</code> <code>gcs resources</code>
<code>Reconfiguration complete</code>
<code>Tue Jun 13 11:03:01 2017</code>
<code>IPC Send timeout detected. Sender: ospid 3173 [oracle@rac1 (PING)]</code>
<code>Receiver: inst 2 binc 429480538 ospid 3190</code>
<code>Tue Jun 13 12:12:38 2017</code>
<code>NOTE: [ocrcheck.bin@rac1 (TNS V1-V3) 21461] opening OCR </code><code>file</code>
<code>Tue Jun 13 13:38:34 2017</code>
<code>MEMORY_TARGET defaulting to 1128267776.</code>
<code>* instance_number obtained from CSS = 1, checking </code><code>for</code> <code>the existence of node 0... </code>
<code>* node 0 does not exist. instance_number = 1 </code>
<code>Starting ORACLE instance (normal)</code>
<code>Tue Jun 13 13:42:20 2017</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 1.</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 2.</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 3.</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 4.</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 5.</code>
<code>WARNING: Waited 15 secs </code><code>for</code> <code>write IO to PST disk 0 </code><code>in</code> <code>group 6.</code>
應該就是這個原因導緻ocrd程序報錯并退出。資料庫可以正常打開,節點2上資料庫和監聽無法自動啟動,vip也存在問題。此外節點2上需要ocr資訊的工具都無法使用,比如ocrconfig、ocrcheck以及srvctl等。
目前還是沒有解決,如有遇到的朋友可以
本文轉自xiaocao1314051CTO部落格,原文連結: http://blog.51cto.com/xiaocao13140/1935102,如需轉載請自行聯系原作者