ora-12514
成功连到数据库上之后,查看listener状态:lsnrctl status
status READY 状态,需要由非归档转为归档模式,故操作如下:
1.关闭数据库shutdown immediate 正常关闭;
2.启动数据库到mount状态,startup mount,发生报错:
3.此时查看listener状态: lsnrctl status
为status BLOCKED状态,网上搜索解决方法http://zhidao.baidu.com/question/278798900.html
4.重写listener.ora文件(蓝色为增加部分)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = f:\oracle\product\10.1.0\Db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = f:\oracle\product\10.1.0\Db_1)
(SID_NAME = orcl)
)
)
5.重启监听:lsnrctl start;查看状态lsnrctl status:
为status UNKNOWN状态。
6.连到实例,关闭数据库,启动数据库到mount状态,均正常!
查看某服务是动态注册或是静态注册。
可以使用命令lsnrctl status 来查看数据库是动态注册还是静态注册。
实例状态为UNKNOWN时,表示此服务是静态注册的设置,监听器表明他不知道关于该实例的任何信息,只有当用户发出连接请求时,他才检查该实例是否存在。
而动态注册的数据库通过状态信息中的状态为READY或BLOCKED来指明。不管何时关闭数据库,动态注册的数据库都会动态的从监听器中注销掉,而与之相关的信息将会从状态列表消失,这样不管数据库是在运行还是已经关闭,监听器都知道他的状态。
待补充。。。