今天在使用lsnrctl的时候产生了NL-00051: internal error code错误,产生错误的步骤如下:
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 10.2.0.4.0 - Production
Start Date 21-AUG-2008 15:50:45
Uptime 0 days 0 hr. 10 min. 10 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /pricedata/ap_ora/app/oracle/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pricedev)(PORT=1521)))
Services Summary...
Service "approd" has 1 instance(s).
Instance "approd", status READY, has 1 handler(s) for this service...
Service "test" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "testXDB" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "test_XPT" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Password changed for LISTENER
The command completed successfully
LSNRCTL> save_config
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
NL-00051: internal error code, arguments: [302], [1], [], [], [], [], []
最后发现是因为使用的是动态监听,连listener.ora文件都没有,而save_config命令是需要写listener.ora文件的,所以报错了。Oracle为什么不能自动建立这个文件呢?
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 10.2.0.4.0 - Production
Start Date 21-AUG-2008 15:50:45
Uptime 0 days 0 hr. 10 min. 10 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /pricedata/ap_ora/app/oracle/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pricedev)(PORT=1521)))
Services Summary...
Service "approd" has 1 instance(s).
Instance "approd", status READY, has 1 handler(s) for this service...
Service "test" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "testXDB" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "test_XPT" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Password changed for LISTENER
The command completed successfully
LSNRCTL> save_config
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
NL-00051: internal error code, arguments: [302], [1], [], [], [], [], []
最后发现是因为使用的是动态监听,连listener.ora文件都没有,而save_config命令是需要写listener.ora文件的,所以报错了。Oracle为什么不能自动建立这个文件呢?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/498744/viewspace-432955/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/498744/viewspace-432955/