ORA-00119,ORA-00132錯誤解決案例

djb1008發表於2011-04-07

$sqlplus sys as sysdba

sql>startup

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'LISTENERS_ORCL'

檢查$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora 檔案,發現設定了LOCAL_LISTENER,正是這個設定導致了資料庫無法正常啟動.

使用寫字板軟體開啟$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora (本例為c:oracleproduct10.2.0db_1dbsspfileorcl.ora),複製檔案中大部分的內容,根據複製的內容,建立一個新的文字檔案,並儲存init$ORACLE_SID2.ora

Linux/unix/aix 的檔案位置為:$ORACLE_HOME/dbs/init$ORACLE_SID2.ora

Windows 的檔案位置為: $ORACLE_HOME/database/init$ORACLE_SID2.ora(本例為:c:oracleproduct10.2.0databaseinitorcl2.ora

[@more@]

init$ORACLE_SID2.ora檔案內容大致為:

*.control_files='C:oradatasdefoshacontrol01.ctl','C:oradatasdefoshacontrol02.ctl','C:oradatasdefoshacontrol03.ctl'

*.core_dump_dest='C:oracleproduct10.2.0adminsdefoshanpowercdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.db_recovery_file_dest='C:oracleproduct10.2.0flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.db_unique_name='orcl'

*.job_queue_processes=10

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.pga_aggregate_target=203423744

*.processes=1500

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=1655

*.sga_target=612368384

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.local_listener=listener_orcl

*.user_dump_dest='C:oracleproduct10.2.0adminsdefoshanpowerudump'

刪除*.local_listener一行的內容,然後儲存檔案.

手工刪除spfile檔案

Linux/uxix/aix檔案位置為: $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

windows檔案位置為:$ORACLE_HOME/database/spfile$ORACLE_SID.ora (本例為c:oracleproduct10.2.0databasespfileorcl.ora)

使用新建立的pfile啟動資料庫到nomount狀態,建立spfile

c:>sqlplus

SQL>startup nomount pfile=c:oracleproduct10.2.0databaseinitorcl2.ora

SQL>create spfile from pfile=c:oracleproduct10.2.0databaseinitorcl2.ora

上面的語句又一次確定pfile的路徑,因為在windows環境裡,pfile是預設訪問$ORACLE_HOME/database/init$ORACLE_SID.ora檔案,而該檔案的內容一般是一行內容,告訴ORACLE SPFILE存放的路徑,如下:

SPFILE='C:oracleproduct10.2.0dbsspfileorcl.ora'

所以如果直接使用 SQL>create spfile from pfile,則建立的spfile的內容只是將SPFILE='C:oracleproduct10.2.0dbsspfileorcl.ora'這一行內容變成二進位制,會導致資料庫啟動異常.

SQL>shutdown immediate;

刪除pfile,或者重新命名.

重新啟動資料庫

$sqlplus / as sysdba

SQL>startup

SQL> startup

ORACLE 例程已經啟動。

Total System Global Area 612368384 bytes

Fixed Size 1292036 bytes

Variable Size 176163068 bytes

Database Buffers 427819008 bytes

Redo Buffers 7094272 bytes

資料庫裝載完畢。

資料庫已經開啟。

資料庫可以開啟,問題得到解決.

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

相關文章