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来指明。不管何时关闭数据库,动态注册的数据库都会动态的从监听器中注销掉,而与之相关的信息将会从状态列表消失,这样不管数据库是在运行还是已经关闭,监听器都知道他的状态。

待补充。。。

 

posted on 2012-01-05 09:40  溪风  阅读(720)  评论(0编辑  收藏  举报