【ORACLE】ORA-12547: TNS:lost contact

楊奇龍發表於2011-08-22
碰到這個ORA-12547: TNS:lost contact的問題,翻了很多資料和METALINK,總結了一下原因:
1 是由於rpm包沒有安裝,對於我們的生產環境,此包是安裝的。
admin@p1b:/home/admin>rpm -q glibc-devel
glibc-devel-2.5-58.el5_6.4
glibc-devel-2.5-58.el5_6.4
admin@p1b:/home/admin>rpm -q libaio
libaio-0.3.106-5
libaio-0.3.106-5
admin@p1b:/home/admin>

2 是因為許可權不足,
linux 5.3 64位
oracle 11G R2
grid ,oracle使用者使用sqlplus 連線無異常 但是其他使用者使用sqlplus 連線時,報
ORA-12547 : TNS:lost contact 錯誤
由於資料庫之前轉移過目錄,檢視發現目錄下
/data2/oracle/product/11.2.0/bin/
-rwxr-x--x 1 oracle oinstall 210824714 Jun 26 16:33 oracle  許可權有問題,更改許可權
chmod 6751 oracle
再次連線資料庫,正常

-rwsr-s--x 1 oracle oinstall 210824714 Jun 26 16:33 oracle
我們的資料庫是
admin@p1b.ora.sd.aliyun.com:/home/admin>ls -lsr $ORACLE_HOME/bin/oracle
223748 -rwsr-s--x 1 oracle asmadmin 228886426 Aug 19 02:26 /opt/11202/oracle/11.2.0/alibank/bin/oracle
--屬組應該是oinstall 而不是asmadmin

oracle metalink中的解決方法:

Solution

To implement the solution, please execute the following steps:

1.
This could be due to kernel parameters settings
Please check the notes below that provide the required settings for kernel parameters

2.
This could be due to Incorrect permissions on the ORACLE.exe
The 'ls' command should show permissions 6751 (as follows)

Please check the following:

$ cd $ORACLE_HOME/bin
$ ls -l oracle

The output should be
-rwsr-s--x 1 oracle dba

If not then please execute the following
$ chmod 6751 oracle

Please also verify if the following are correct

echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH

3.
If the above does not resolve I suggest that you shutdown the database and listener and then
"relink all"
對於生產庫,relink all 有點危險,第一種線上安裝rpm包,也需要考慮其對生產環境的影響。

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

相關文章