RAC 單節點報ora-1105 ora-01606的解決

jeanron100發表於2014-01-15
最近自己搭了一套 11g rac的環境,基於redhat 6, 11g 用了11.2.0.3.0的cluster和db的安裝包。
共享儲存基於nfs,沒有用asm.
環境打完以後,crs_stat -t看到相應的服務都起了,但是第二個節點上的例項不知道怎麼回事卻沒起來。
手工嘗試啟動,報瞭如下的錯誤。
SQL> startup mount
ORACLE instance started.
Total System Global Area  835104768 bytes
Fixed Size    2232960 bytes
Variable Size  503319936 bytes
Database Buffers  322961408 bytes
Redo Buffers    6590464 bytes
ORA-01105: mount is incompatible with mounts by other instances
ORA-01606: parameter not identical to that of another mounted instance

我嘗試把Node2,node1的例項都down了,換成從node2開始起,node竟然起來了,node1再起用報了同樣的錯誤。
首先檢查spfile是否兩個例項一致。
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 15 03:02:51 2014
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Oracle Label Security, OLAP,
Data Mining and Real Application Testing options

SQL> show parameter spfile
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile     string /u04/app/11.2.0/db/product/11.2.0/dbhome_1/dbs/spfileRACDB2.ora
發現node1,node2所使用的spfile不是同一個目錄,修改設定。
從有問題的node2上重建pfile,然後生成spfile,修改以後,把修改後的spfile替換共享目錄的spfile即可。

SQL> create pfile from spfile;
File created.
修改pfile的一個引數,修改為共享儲存的目錄。
SPFILE='/u04/db/oradata/RACDB/spfileRACDB.ora'
然後重啟node1,node2,重啟後spfile顯示共享了,
show parameter spfile,但是還是報同樣的錯誤。貌似修改spfile還沒有解決。
網上查詢,說在11.2.0.2.0之前的版本,修改修改隱含引數 ._gc_read_mostly_locking為FALSE,但是我這個是11.2.0.3.0的版本,在11.2.0.2.0已經修復。
我把node1,node2的例項啟動到nomount,然後比較有什麼差別,發現sga,memory_target的設定不太一樣。
node1上安裝了一些其他的東西,空閒記憶體已經很緊張了。node2上記憶體還比較充裕。
可以用free -m來檢視大體的記憶體情況。

最後把memory_target,sga的引數都調低了些,然後重啟,就沒有問題了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1071165/,如需轉載,請註明出處,否則將追究法律責任。

相關文章