在设置开机自动启动监听服务时:chkconfig --add oracle10g
报ora-000119和ora-00132
引用下面文章,转载
http://space.itpub.net/22578826/viewspace-703520
--******************************
-- ORA-00119,ORA-00132错误处理
--******************************
最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动
并生成新的spfile,不过该操作方式代价太高,需要重新启动数据库。另一种方式则是直接修改tnsnames.ora中的服务名,使之与监听器中的listener名字保持一致,具体参考下面的细节。
一.错误提示
SQL> startup nomount;
ORA-00119: invalidspecificationforsystemparameter LOCAL_LISTENER
ORA-00132: syntaxerrororunresolvednetworkname'LISTENER_ODBP'
二、分析错误
1.查看错误号对应的具体描述
[oracle@odbpadmin]$ oerrora00132
00132,00000, "syntax error or unresolved network name '%s'"
// *Cause: Listener address has syntaxerrororcannot be resolved.
// *Action:Ifanetworknameisspecified,checkthat it corresponds
// toanentryinTNSNAMES.ORAorother address repository
// asconfiguredforyour system.Makesure thattheentry
// issyntactically correct.
描述信息中给出了listener.ora中网络名是否与tnsnames.ora相一致,需要检查
2.查看监听
[oracle@odbpadmin]$morelistener.ora
# listener.oraNetworkConfigurationFile: /u01/app/oracle/10g/network/admin/listener.ora
#GeneratedbyOracle 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@odbpadmin]$moretnsnames.ora
# tnsnames.oraNetworkConfigurationFile: /u01/app/oracle/10g/network/admin/tnsnames.ora
#GeneratedbyOracle 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 nomountpfile='/u01/app/oracle/10g/dbs/initodbp.ora';
ORACLEinstancestarted.
TotalSystemGlobalArea 285212672bytes
FixedSize 1267068bytes
VariableSize 150997636bytes
DatabaseBuffers 130023424bytes
Redo Buffers 2924544bytes
SQL>createspfilefrompfile;
Filecreated.
SQL> startupforce;
ORACLEinstancestarted.
TotalSystemGlobalArea 285212672bytes
FixedSize 1267068bytes
VariableSize 150997636bytes
DatabaseBuffers 130023424bytes
Redo Buffers 2924544bytes
Databasemounted.
Databaseopened.