Oracle ORA-00119,ORA-00132 错误处理 |
发布时间: 2012/8/21 17:18:27 |
最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动 并生成新的spfile,不过该操作方式代价太高,需要重新启动数据库。另一种方式则是直接修改tnsnames.ora中的服务名,使之与监听器中的listener名字保持一致,具体参考下面的细节。
一.错误提示 SQL> startup nomount; ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00132: syntax error or unresolved network name 'LISTENER_ODBP' 二、分析错误 1.查看错误号对应的具体描述 [Oracle@odbp admin]$ oerr ora 00132 00132, 00000, "syntax error or unresolved network name '%s'" // *Cause: Listener address has syntax error or cannot be resolved. // *Action: If a network name is specified, check that it corresponds // to an entry in TNSNAMES.ORA or other address repository // as configured for your system. Make sure that the entry // is syntactically correct. 描述信息中给出了listener.ora中网络名是否与tnsnames.ora相一致,需要检查 2.查看监听 [Oracle@odbp admin]$ more listener.ora # listener.ora Network Configuration File: /u01/app/Oracle/10g/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER_ODBP = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = odbp.oradb.com) (Oracle_HOME = /u01/app/oracle/10g) (SID_NAME = odbp) ) ) LISTENER_ODBP = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = odbp.oradb.com)(PORT = 1521)) ) 3.查看tnsnames.ora [Oracle@odbp admin]$ more tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/Oracle/10g/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ODBP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.11)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = odbp.oradb.com) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 由上面的listener.ora与tnsnames.ora可知 listener.ora中的监听名与tnsnames.ora中的服务名不一致 三、解决方法 1.修改tnsnames.ora中的服务名为LISTENER_ODBP,然后重新启动数据库即可 2.可以将spfile(无pfile情况下)转储为pfile文件,将local_listener参数置空,然后使用pfile文件启动数据库后重新生成spfile 可以采用下面的方法来转储,如下 [Oracle@odbp dbs]$ ls --没有pfile hc_odbp.dat initdw.ora init.ora lkODBP orapwodbp spfileodbp.ora [Oracle@odbp dbs]$ strings spfileodbp.ora > initodbp.ora [Oracle@odbp dbs]$ cat initodbp.ora odbp.__db_cache_size=130023424 odbp.__java_pool_size=33554432 odbp.__large_pool_size=4194304 odbp.__shared_pool_size=113246208 odbp.__streams_pool_size=0 *.audit_file_dest='/u01/app/Oracle/admin/odbp/adump' *.background_dump_dest='/u01/app/Oracle/admin/odbp/bdump' *.compatible='10.2.0.4.0' *.control_files='/u01/app/Oracle/oradata/odbp/control01.ctl','/u01/app/oracle/oradata/odbp/control02.ctl' *.core_dump_dest='/u01/app/Oracle/admin/odbp/cdump' *.db_block_size=8192 *.db_domain='oradb.com' *.db_file_multiblock_read_count=16 *.db_name='odbp' *.db_recovery_file_dest='/u01/app/Oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.dispatchers='(PROTOCOL=TCP) (SERVICE=odbpXDB)' *.job_queue_processes=10 *.local_listener='LISTENER_ODBP' --将改行注释掉或置空 *.open_cursors=300 *.pga_aggregate_target=94371840 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=285212672 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/Oracle/admin/odbp/udump'
SQL> startup nomount pfile='/u01/app/Oracle/10g/dbs/initodbp.ora'; Oracle instance started.
Total System Global Area 285212672 bytes Fixed Size 1267068 bytes Variable Size 150997636 bytes Database Buffers 130023424 bytes Redo Buffers 2924544 bytes
SQL> create spfile from pfile;
File created.
SQL> startup force; Oracle instance started.
Total System Global Area 285212672 bytes Fixed Size 1267068 bytes Variable Size 150997636 bytes Database Buffers 130023424 bytes Redo Buffers 2924544 bytes Database mounted. Database opened. 本文出自:亿恩科技【www.enkj.com】
一.错误提示 SQL> startup nomount; ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00132: syntax error or unresolved network name 'LISTENER_ODBP' 二、分析错误 1.查看错误号对应的具体描述 [Oracle@odbp admin]$ oerr ora 00132 00132, 00000, "syntax error or unresolved network name '%s'" // *Cause: Listener address has syntax error or cannot be resolved. // *Action: If a network name is specified, check that it corresponds // to an entry in TNSNAMES.ORA or other address repository // as configured for your system. Make sure that the entry // is syntactically correct. 描述信息中给出了listener.ora中网络名是否与tnsnames.ora相一致,需要检查 2.查看监听 [Oracle@odbp admin]$ more listener.ora # listener.ora Network Configuration File: /u01/app/Oracle/10g/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER_ODBP = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = odbp.oradb.com) (Oracle_HOME = /u01/app/oracle/10g) (SID_NAME = odbp) ) ) LISTENER_ODBP = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = odbp.oradb.com)(PORT = 1521)) ) 3.查看tnsnames.ora [Oracle@odbp admin]$ more tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/Oracle/10g/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ODBP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.11)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = odbp.oradb.com) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 由上面的listener.ora与tnsnames.ora可知 listener.ora中的监听名与tnsnames.ora中的服务名不一致 三、解决方法 1.修改tnsnames.ora中的服务名为LISTENER_ODBP,然后重新启动数据库即可 2.可以将spfile(无pfile情况下)转储为pfile文件,将local_listener参数置空,然后使用pfile文件启动数据库后重新生成spfile 可以采用下面的方法来转储,如下 [Oracle@odbp dbs]$ ls --没有pfile hc_odbp.dat initdw.ora init.ora lkODBP orapwodbp spfileodbp.ora [Oracle@odbp dbs]$ strings spfileodbp.ora > initodbp.ora [Oracle@odbp dbs]$ cat initodbp.ora odbp.__db_cache_size=130023424 odbp.__java_pool_size=33554432 odbp.__large_pool_size=4194304 odbp.__shared_pool_size=113246208 odbp.__streams_pool_size=0 *.audit_file_dest='/u01/app/Oracle/admin/odbp/adump' *.background_dump_dest='/u01/app/Oracle/admin/odbp/bdump' *.compatible='10.2.0.4.0' *.control_files='/u01/app/Oracle/oradata/odbp/control01.ctl','/u01/app/oracle/oradata/odbp/control02.ctl' *.core_dump_dest='/u01/app/Oracle/admin/odbp/cdump' *.db_block_size=8192 *.db_domain='oradb.com' *.db_file_multiblock_read_count=16 *.db_name='odbp' *.db_recovery_file_dest='/u01/app/Oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.dispatchers='(PROTOCOL=TCP) (SERVICE=odbpXDB)' *.job_queue_processes=10 *.local_listener='LISTENER_ODBP' --将改行注释掉或置空 *.open_cursors=300 *.pga_aggregate_target=94371840 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=285212672 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/Oracle/admin/odbp/udump'
SQL> startup nomount pfile='/u01/app/Oracle/10g/dbs/initodbp.ora'; Oracle instance started.
Total System Global Area 285212672 bytes Fixed Size 1267068 bytes Variable Size 150997636 bytes Database Buffers 130023424 bytes Redo Buffers 2924544 bytes
SQL> create spfile from pfile;
File created.
SQL> startup force; Oracle instance started.
Total System Global Area 285212672 bytes Fixed Size 1267068 bytes Variable Size 150997636 bytes Database Buffers 130023424 bytes Redo Buffers 2924544 bytes Database mounted. Database opened. 本文出自:亿恩科技【www.enidc.com】 --> |