oracle没有sid,ORACLE_SID正确,但还是Connected to an idle instance

Go to My Oracle Blog

很多人都可能在Unix-Like的操作系统上遇到过这样的问题:ORACLE_HOME和ORACLE_SID的设置是正确的,实例也启动了,但通过sqlplus / as sysdba连接时还是报告"Connected to an idle instance",这是怎么回事?

这问题很有可能是因为启动实例的用户会话的ORACLE_HOME变量和想通过"sqlplus / as sysdba"连接实例的用户会话的ORACLE_HOME变量差一个后缀正斜杠"/"。[@more@]

因为当你用sqlplus / as sysdba时,Oracle使用ORACLE_HOME和ORACLE_SID来判断你要连接哪个实例。

Oracle允许在不同的ORACLE_HOME下创建相同实例名的实例,当你用sqlplus / as

sysdba连接实例时,ORACLE_HOME同样是一个关键的区分因素。

所以当ORACLE_HOME多了或少了一个后缀"/"之后,虽然ORACLE_SID相同,但加上ORACLE_HOME还是与运行中的实例不符,所以

不能连接。

解决很简单,保持用户的ORACLE_HOME相同就可以了。可以参考一个标准,到/etc/oratab里去查看一下就知道了。

sqlplus sys/oracle@TNSNAME as sysdba走的是TNS协议,没有以上的问题。

Todd

Go to My Oracle Blog

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值