为什么Oracle数据库安装成功后,经常会报出无法识别SID的错误

在之前使用Oracle过程中,经常遇到类似的问题,刚安装好的Oracle数据库(包括Oracle10g和Oracle11g),首次使用完全没有问题,重启电脑后,容易报错,无法识别当前的SID。这个问题出现过多次,以往的方法就是重装Oracle数据库。当然这是最笨的方法,治标不治本的。经过多次折腾,终于下定决心来弄清楚,这个问题的最根本原因。查找了不少资料,终于有了眉目。最终经过多番尝试,才确定是Oracle安装过程自动生成的监听文件中的路径不对。

这个是我电脑上Oracle的安装目录,E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN。在这个文件路径下面,是Oracle安装过程中,生成监听文件等一些重要文件。最重要的是listener.ora和tnsnames.ora这两个文件。问题就出在listener.ora文件中了。

               下面是Oracle安装过程中自动生成的内容:

# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.


#SID_LIST_LISTENER =
#  (SID_LIST =
#    (SID_DESC =
#      (SID_NAME = PLSExtProc)
#      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
#      (PROGRAM = extproc)
#    )
#  )


#LISTENER =
#  (DESCRIPTION_LIST =
#    (DESCRIPTION =
#      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
#      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
#    )
# )

下面是我修改后的内容:

# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (SID_NAME = ORCL)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )


ADR_BASE_LISTENER = E:\oracle\product


对比之后就能发现,系统生成的SID_NAME只是一个临时的别名,安装后首次使用没问题,重新启动服务,临时别名也可能发生改变,就无法识别了。

因此,我们有必要把系统临死生成的别名改成我们数据库实例名ORCL。

另外下面的ADDRESS也有同样的问题,需要自己做下修改。

附件里是我上传的listener.ora文件,供大家参考。


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值