系统: winxp sp2
数据库:10.2.0.1
从SQLPLUS以sys 登录后,正常关闭数据库(shutdown immediate),
再打开的时候报没有监听程序。
原因: Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。
在listener.ora中添加你的服务名如下(粗体为添加的):
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = test)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.com.cn)(PORT = 1521))
)
)
重启监听,再次连接
报如下错误:ERROR:
ORA-28547: 连接服务器失败, 可能是 Oracle Net 管理错误
(还有可能是其它错误)
在sqlnet.ora中注销掉:#SQLNET.AUTHENTICATION_SERVICES= (NTS)
保存
重新连接,OK!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10113559/viewspace-627238/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10113559/viewspace-627238/