ORA-12547:在Ubuntu Linux 12.04 64位上安装Oracle 11g上运行DBCA时TNS丢失联系

时间:2013-04-16 17:19:10

标签: oracle11g ubuntu-12.04

我正在尝试在Ubuntu Linux 12.04 64位上使用DBCA在Oracle 11g上安装创建数据库。

我按照here的说明操作,但我得到了

  

ORA-12547:运行DBCA时TNS丢失联系人。

以下是详细信息。有人可以协助解决方案吗?

  1. 我没有使用/opt/oracle作为“oracle”用户主页,而是使用/home/oracle

  2. 我没有安装32位版本的libstdc ++ 5

  3. 我做了与发布

  4. 相同的所有事情
  5. 安装导致“缺少包裹”。我尝试从ubuntu为这些软件包进行apt-get安装,但是ubuntu说它们不存在。 然后我在说明中看到了:

      

    一旦您到达“pre-reqs”屏幕,请选中“Ignore all”继续安装。

  6. ./dbca运行$ORACLE_HOME/bin时,ORA-12547失败。

  7. 我检查了$ORACLE_HOME/network/admin和listener.ora,sqlnet.ora和tnsnames.ora看起来都很好。

  8. 但是,我认为tnsnames.ora未正确读取,因为./tnsping失败并且错误消息指出使用了“EZ Connect”。 但在我的sqlnet.ora中,我有

    names.directory_lookup = (TNSNAMES,EZCONNECT)
    

    只有在尝试使用tnsnames后才能使用EZ Connect。

  9. 此外,我有时会得到ORA-12541:没有听众。我试过运行./netca。在我对侦听器执行测试之前一切正常,然后失败。

  10. 我无法运行./lsnrctl。绝对没有任何反应,以及lsnrctl start,stop,status。

  11. 我无法通过sqlplus。如果我运行./sqlplus,它会直接询问我的用户名/密码。

  12. 如果我./sqlplus / as sysdba,则会导致“ORA-12547:TNS失去联系”。

  13. .bashrc

  14. 中正确设置了所有环境变量
  15. 我尝试重新运行root.sh,但问题并没有解决。

  16. /etc/oratab没问题

  17. /etc/hosts没问题,但我不能总是ping“localhost”或“127.0.0.1”,或“ubuntu”或“127.0.1.1”

    显示相同的TNS或侦听器错误。

2 个答案:

答案 0 :(得分:3)

  1. 当我登录oracle(sqlplus system / pass as sysdba)时,我得到了这个:

    错误:

    ORA-12547:TNS:尝试连接Oracle时失去联系。

  2. 首先,我认为服务器已关闭,但我检查一下,没关系。很多人都说'chmod 6751 oracle',我做到了,但我又犯了一个错误:

    ERROR:

    ORA-01031:权限不足

    输入用户名:

  3. 最后,我将系统用户从root切换到oracle。我登录成功。

答案 1 :(得分:0)

Ensure the DB is up and running and you can connect locally AS SYSDBA to the database
using Oracle binaries owner (usually oracle:oinstall Unix / Linux user). If it does not
work, probably you encounter a different problem.

1. Check privileges of an Oracle file on Unix / Linux host where database is running:
  cd $ORACLE_HOME/bin
  ls -ltr oracle

2. Change permissions as below:
  chmod 6751 oracle
  ls -ltr oracle

 This code may help you lot.