ORA-12547: TNS:lost contact之oracle執行檔案許可權問題

TaihangMeng發表於2016-06-22

1、報錯資訊:
  1. ERROR:
  2. ORA-12547: TNS:lost contact
2、產生該報錯的情形

非oracle使用者使用sqlplus username/password 後面不使用tnsname.ora 檔案中連線字串的名稱時報錯:ORA-12547: TNS:lost contact

3、解決方法:
第一步:檢視$ORACLE_HOME/bin/oracle的許可權:

  1. ll $ORACLE_HOME/bin/oracle
  2. -rwxr-x--x 1 oracle oinstall 239626731 Apr  6 14:22 /oracle/product/11.2.0/bin/oracle

第二步:修改oracle的許可權為6751預設許可權:

  1. chmod 6751 $ORACLE_HOME/bin/oracle
  2. -rwsr-s--x 1 oracle oinstall 239626731 Apr  6 14:22 /oracle/product/11.2.0/bin/oracle
參考網址:http://www.uncletoo.com/html/oracle/295.html

實驗模擬:

1、以mth使用者登入系統,使用DB 賬號mth以下面的方式連線資料庫。

  1. [mth@TaylonMeng ~]$ sqlplus mth/mth

  2. SQL*Plus: Release 11.2.0.4.0 Production on Wed Jun 22 22:40:23 2016

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

  4. ERROR:
  5. ORA-12547: TNS:lost contact

  1. [mth@TaylonMeng ~]$ sqlplus mth/mth@MTH

  2. SQL*Plus: Release 11.2.0.4.0 Production on Wed Jun 22 22:43:52 2016

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


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  7. SQL> 
可以看到,使用sqlplus mth/mth@MTH 這種方式就可以連線,但是sqlplus mth/mth這種會報錯。

2、檢視$ORACLE_HOME/bin/oracle該執行檔案的許可權

  1. [oracle@TaylonMeng ~]$ ll $ORACLE_HOME/bin/oracle
  2. -rwxr-x--x 1 oracle oinstall 239626731 Mar 16 23:16 /oracle/product/11.2.0/bin/oracle
看到該執行檔案的許可權被修改了,導致非oracle賬號在執行該檔案時,無法獲得oracle賬號的許可權,因此會報錯。

3、修改$ORACLE_HOME/bin/oracle的許可權為預設的6751.

  1. [oracle@TaylonMeng ~]$ chmod 6751 /oracle/product/11.2.0/bin/oracle
  2. [oracle@TaylonMeng ~]$ ll $ORACLE_HOME/bin/oracle
  3. -rwsr-s--x 1 oracle oinstall 239626731 Mar 16 23:16 /oracle/product/11.2.0/bin/oracle
-rwsr-s--x中的“s”,具有如下的限制和功能:
  • SUID 許可權僅對二進位制程式(binary program)有效;
  • 執行者對於該程式需要具有 x 的可執行許可權;
  • 本許可權僅在執行該程式的過程中有效 (run-time);
  • 執行者將具有該程式擁有者 (owner) 的許可權。
  1. [mth@TaylonMeng ~]$ sqlplus mth/mth

  2. SQL*Plus: Release 11.2.0.4.0 Production on Wed Jun 22 23:07:27 2016

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


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  7. SQL>
許可權修改後,再通過這種方式連線,就不會有報錯了。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30776559/viewspace-2120766/,如需轉載,請註明出處,否則將追究法律責任。

相關文章