关于ORACLE数据库监听自动停止解决一例

本人原来在windows xp系统上装了一个Oracle 9i 的 Database,由于系统崩溃因此需要重新安装windows,系统装好后无法使用数据库。我用了一个最简单的办法来恢复数据库,方法如下:即把原来的数据库文件夹名字改掉,新建一个文件夹名字与原来数据库的文件夹名称一致,然后重新安装Oracle 9i DB到此文件夹中,安装完毕后停止所有Oracle相关的服务,把名称改掉,然后把原来数据库的名称改回来,一般情况下如果计算机名称和SID名称跟原来一样的话,启动监听服务和OracleServiceDB服务就可以访问原来的数据库了。

但是按照上述步骤做完以后访问数据库报错
ORA-12545:因目标主机或对象不存在,连接失败。
马上查看计算机名称为TIGERLONG,然后查看tnsnames.ora如下:
TL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = TL)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TL)
    )
 
一看就知道Host不对,HOST改为Tigerlong,然后Sqlplus访问数据库,新问题又来了,问题描述如下:
ORA-12541:TNS:没有监听器
马上打开Windows服务找到OracleOraHome92TNSListener看到服务没有启动,于是马上启动服务重新访问数据库,问题依然存在,进入Windows服务查看该服务的属性,看到服务状态是“已停止”,点启动按钮启动服务,但是启动后有自动停止。开始分析问题,想到问题可能存在于Listener的配置,于是打开Listener.ora内容如下:
# LISTENER.ORA Network Configuration File: F:\ORA_DATABASE\network\admin\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = tl)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = F:\ORA_DATABASE)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = TL)
      (ORACLE_HOME = F:\ORA_DATABASE)
      (SID_NAME = TLSID)
    )
  )
首先看到LISTENER 部分有错误,把Host改为Tigerlong,再往下看
SID_LIST_LISTENER部分也有问题,因为这次安装Oracle 9i DB的时候SID_NAME为TL而此处为TLSID,把SID_NAME改为TL,保持退出。
重新运行CMD,SQLPLUS输入连接字符串,连接成功。

欢迎大家共同探讨:E-Mail:Oraclelong@gmail.com  QQ:404873488

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7629130/viewspace-555690/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7629130/viewspace-555690/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值