sqlplus 远程连接 oracle 12514 错误

事情是这样的.
本屌的
oracle 11g装在了虚拟机(redhat 5.4)上. 实体机也是linux系统.

我在虚拟机上
用sqlplus / as sysdba 命令是正常登陆的.

实体机上用sqldeveloper 连接虚拟机的数据库, 也是正常的.



但是在实体机上执行sqlplus 远程登陆时会出现ora-12514 错误
sqlplus hr/32565624@192.168.1.105:1521/orcl

    gateman@TFPC Programs $ sqlplus hr/32565624@192.168.1.105:1521/orcl

    SQL*Plus: Release 12.1.0.1.0 Production on Sat Oct 5 22:14:09 2013

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

    ERROR:
    ORA-12514: TNS:listener does not currently know of service requested in connect
    descriptor


    Enter user-name: ^C
    gateman@TFPC Programs $ 


网上找了好久没找到, 在论坛上问, 在大神的提醒之下找到了解决方法:

把原来的listener.ora 的

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl_dbn)
      (ORACLE_HOME = /u01/app/oracle/project/11.2.0/db_home1/oracle)
      (SID_NAME = orcl)
    )
  )


的GLOBAL_DBNAME 值改成 SID_NAME 一样...


GLOBAL_DBNAME 的值可以由余下语句查出

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.LOCALDOMAIN

SQL> 

具体作用我还不清楚



修改后 重启 lsnrctl 监听

再次登陆遇到另一种错误

ORA-21561: OID generation failed


这个好办, 网上一找就找出来了


解决方法,  远程客户端的机子,  把hostname 写入  /etc/hosts

例如

gateman@TFPC Programs $ hostname
TFPC
gateman@TFPC Programs $ cat /etc/hosts
127.0.0.1        TFPC localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
192.168.1.105   TPRHEL
gateman@TFPC Programs $ 


如上面, 把 hostname 写在 127.0.0.1 后面

接下来一切都ok了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nvd11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值