ORA-12528問題解決

xingfei80發表於2010-07-07
ORA-12528問題解決
lsnrctl status
Listening Endpoints Summary...
<wbr><wbr>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lypch)(PORT=1521)))
<wbr><wbr>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROCipc)))
Services Summary...
Service "LSExtProc" has 1 instance(s).
<wbr><wbr>Instance "LSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "ammicly" has 1 instance(s).
<wbr><wbr>Instance "ammicly", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully

這個問題說明資料庫沒有Mount
[@more@]

連線資料庫,發現:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
用sqlplus /nolog
sql>connect
as sysdba
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

連線的問題可以透過修改listener.ora的引數,把動態的引數設定為靜態的引數,紅色標註部分,然後重新啟動監聽,就OK
SID_LIST_LISTENER =
<wbr><wbr>(SID_LIST =
<wbr><wbr>(SID_DESC =
<wbr><wbr><wbr><wbr>(SID_NAME = PLSExtProc)
<wbr><wbr><wbr><wbr>(ORACLE_HOME = C:oracleproduct10.1.0db_1)
<wbr><wbr><wbr><wbr>(PROGRAM = extproc)
<wbr><wbr>)
<wbr><wbr>
(SID_DESC =
<wbr><wbr><wbr><wbr>(GLOBAL_DBNAME = ammicly)
<wbr><wbr><wbr><wbr>(ORACLE_HOME = c:oracleproduct10.1.0db_1)
<wbr><wbr><wbr><wbr>(SID_NAME = ammicly)
<wbr><wbr>)
<wbr><wbr>)
LISTENER =
<wbr><wbr>(DESCRIPTION_LIST =
<wbr><wbr>(DESCRIPTION =
<wbr><wbr><wbr><wbr>(ADDRESS_LIST =
<wbr><wbr><wbr><wbr><wbr><wbr>(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
<wbr><wbr><wbr><wbr>)
<wbr><wbr><wbr><wbr>(ADDRESS_LIST =
<wbr><wbr><wbr><wbr><wbr><wbr>(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
<wbr><wbr><wbr><wbr>)
<wbr><wbr>)
<wbr><wbr>)

透過修改tnsnames.ora的引數,紅色表注部分
# tnsnames.ora Network Configuration File: C:oracleproduct10.1.0db_1
networkadmintnsnames.ora
# Generated by Oracle configuration tools.
AMMICLY =
<wbr><wbr>(DESCRIPTION =
<wbr><wbr>(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
<wbr><wbr>(CONNECT_DATA =
<wbr><wbr><wbr><wbr>(SERVER = DEDICATED)
<wbr><wbr><wbr><wbr>(SERVICE_NAME = ammicly)
<wbr><wbr><wbr><wbr>
(UR=A)
<wbr><wbr>)
<wbr><wbr>)
EXTPROC_CONNECTION_DATA =
<wbr><wbr>(DESCRIPTION =
<wbr><wbr>(ADDRESS_LIST =
<wbr><wbr><wbr><wbr>(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
<wbr><wbr>)
<wbr><wbr>(CONNECT_DATA =
<wbr><wbr><wbr><wbr>(SID = PLSExtProc)
<wbr><wbr><wbr><wbr>(PRESENTATION = RO)
<wbr><wbr>)
<wbr><wbr>)

然後 sqlplus /nolog
SQL>alter database mount;
SQL>alter database open;

這樣就可以啟動資料庫了;

或者用Oradim -shutdown -sid ammicly -shuttype srvc,inst -shutmode immediate -syspwd ammic;關閉資料庫
在用oradim -startup -sid ammicly -starttype srvc,inst -syspwd ammic;啟動資料庫解決;也可以在截面上從啟動資料庫服務來解決;

總結RA-12528問題是因為監聽中的服務使用了動態服務,系統啟動後,資料庫沒有正常的MOUNT,因此在動態模式下,就會出現這個問題,用靜態的就不會有這個問題,因此上面的方法就是把監聽設定為靜態,或者在tnsnames.ora中追加(UR=A)或者從啟動服務,三種方法解決問題;

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

相關文章