在SQL*Plus中数据库关闭后无法启动的问题解决
关闭数据库(shoutdown immediate)后,通过SQL*Plus连接数据库时,提示错误“ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务”,通过重启服务的方式启动数据库,再次连接却能成功登录。这是由于在Oracle 11g中,后台进程PMON自动在监听器中注册系统中的服务名,而不需要在监听配置文件listener ora中指定监听的服务名。但是,当数据库处于关闭状态下,PMON进程没有启动,也就不会自动在监听器中注册服务名,所以出现上述错误提示。
解决方法是在监听器配置文件<ORACLE_HOME>\INETWORKADMIN\listener.ora的监听服务列表中添加特定突兀注册信息。例如,添加一个服务名为ORCL的注册信息:
SID_LIST_LISTENER =
(SID_LIST =
...
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)