對RAC環境建立了DATA GUARD後,RAC環境的一個執行個體關閉後無法啟動,報錯資訊為:ORA-01105和ORA-1677。
RAC環境的一個執行個體關閉後,在重啟時報錯如下:
bash-2.03$ srvctl start inst -d testrac -i testrac2
PRKP-1001 : Error starting instance testrac2 on node racnode2
racnode2:ora.racnode2.vip:Created new logical interface ce0:1
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jul 4 23:13:15 2007
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Enter user-name: Connected to an idle instance.
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL> ASM instance started
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Total System Global Area 130023424 bytes
racnode2:ora.racnode2.ASM2.asm:Fixed Size 2028368 bytes
racnode2:ora.racnode2.ASM2.asm:Variable Size 102829232 bytes
racnode2:ora.racnode2.ASM2.asm:ASM Cache 25165824 bytes
racnode2:ora.racnode2.ASM2.asm:ASM diskgroups mounted
racnode2:ora.racnode2.ASM2.asm:SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
racnode2:ora.racnode2.ASM2.asm:With the Partitioning, Real Application Clusters, OLAP and Data Mining options
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jul 4 23:13:54 2007
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Enter user-name:
racnode2:ora.racnode2.ASM2.asm:Connected to:
racnode2:ora.racnode2.ASM2.asm:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
racnode2:ora.racnode2.ASM2.asm:With the Partitioning, Real Application Clusters, OLAP and Data Mining options
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL> ORA-15097: cannot SHUTDOWN ASM instance with connected RDBMS instance
racnode2:ora.racnode2.ASM2.asm:SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
racnode2:ora.racnode2.ASM2.asm:With the Partitioning, Real Application Clusters, OLAP and Data Mining options
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jul 4 23:13:56 2007
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:Enter user-name:
racnode2:ora.racnode2.ASM2.asm:Connected to:
racnode2:ora.racnode2.ASM2.asm:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
racnode2:ora.racnode2.ASM2.asm:With the Partitioning, Real Application Clusters, OLAP and Data Mining options
racnode2:ora.racnode2.ASM2.asm:
racnode2:ora.racnode2.ASM2.asm:SQL> ASM instance shutdown
racnode2:ora.racnode2.ASM2.asm:SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
racnode2:ora.racnode2.ASM2.asm:With the Partitioning, Real Application Clusters, OLAP and Data Mining options
racnode2:ora.racnode2.ASM2.asm:
CRS-0215: ???????????? 'ora.testrac.testrac2.inst'??
由於錯誤資訊並不明確,選擇了通過sqlplus手工啟動asm和db:
bash-2.03$ export ORACLE_SID=+ASM2
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期三 7月 4
23:18:57 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已串連到空閑常式。
SQL> startup
ASM 執行個體已啟動
Total System Global Area 130023424 bytes
Fixed Size 2028368 bytes
Variable Size 102829232 bytes
ASM Cache 25165824 bytes
ASM 磁碟組已裝載
SQL> exit從 Oracle Database 10g Enterprise
Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options 斷開
bash-2.03$ exit
exit
$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期三 7月 4
23:19:21 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已串連到空閑常式。
SQL> startup
ORACLE 常式已經啟動。
Total System Global Area 2147483648 bytes
Fixed Size 2031480 bytes
Variable Size 503316616 bytes
Database Buffers 1627389952 bytes
Redo Buffers 14745600 bytes
ORA-01105: ?????????????????
ORA-01677: ????????????????
這個顯示了導致資料庫無法啟動的錯誤資訊:ORA-1105和ORA-1677。
ORA-1105的錯誤資訊描述為:
ORA-01105: mount is incompatible with mounts by other instances
Cause: An attempt to mount the database discovered that another instance mounted a database by the same name, but the mount is not compatible. Additional errors are reported explaining why.
Action: See accompanying errors.
ORA-1677錯誤資訊為:
ORA-01677: standby file name convert parameters differ from other instance
Cause: The DB_FILE_STANDBY_NAME_CONVERT or LOG_FILE_STANDBY_NAME_CONVERT initialization parameters are not the same as in other instancesthat already have the database mounted.
Action: Change initialization parameters DB_FILE_STANDBY_NAME_CONVERT and LOG_FILE_STANDBY_NAME_CONVERT to match otherinstances.
從這兩個資訊就可以判斷出,是由於DB_FILE_STANDBY_NAME_CONVERT和LOG_FILE_STANDBY_NAME_CONVERT參數不一致造成的。
回想在建立DATA GUARD最後,是通過ALTER SYSTEM SET … SCOPE = SPFILE方式進行的修改,由於沒有指定SID,因此這個修改對於兩個執行個體都會生效,不過這個參數無法對已經啟動的執行個體進行修改,因此只對SPFILE進行了修改。
由於執行個體TESTRAC2重啟啟動的時候載入了新修改的DB_FILE_STANDBY_NAME_CONVERT參數,造成了和一直沒有啟動的TESTRAC1執行個體的衝突,從而引發了錯誤。
發現問題,解決就很容易了,將執行個體1關閉,然後兩個執行個體就都可以順利重啟了。
RAC環境建立DATA
GUARD的過程可以參考:http://yangtingkun.itpub.net/post/468/411898
原文連結:http://space.itpub.net/4227/viewspace-69495