[oracle@ebs11fresh ~]$ cd $ORACLE_HOME/network/admin
[oracle@ebs11fresh admin]$ ls -l
total 8424
-rw-r--r-- 1 oracle dba 825 Apr 26 2002 libnk59.def
-rw-r--r-- 1 oracle dba 1196 Apr 27 14:08 listener.ora
drwxr-xr-x 2 oracle dba 4096 Apr 27 14:26 PROD_ebs11fresh
-rw-r--r-- 1 oracle dba 8547867 Apr 27 14:28 prod.log
drwxrwxr-x 2 oracle dba 4096 Jun 25 2003 samples
-rw-r--r-- 1 oracle dba 130 Mar 19 2002 shrept.lst
-rw-r--r-- 1 oracle dba 24 Aug 8 2000 snmp_ro.ora
-rw-r--r-- 1 oracle dba 1038 Apr 20 19:11 tnsnames.ora
[oracle@ebs11fresh admin]$ cd PROD_ebs11fresh
[oracle@ebs11fresh PROD_ebs11fresh]$ ls -l
total 40
-rw-r--r-- 1 oracle dba 2 Apr 20 20:23 listener_ifile.ora
-rw-r--r-- 1 oracle dba 1277 Apr 20 20:23 listener.ora
-rw-r--r-- 1 oracle dba 2 Apr 20 20:23 sqlnet_ifile.ora
-rw-r--r-- 1 oracle dba 687 Apr 27 14:26 sqlnet.ora
-rw-r--r-- 1 oracle dba 2099 Apr 20 20:23 tnsnames.ora
[oracle@ebs11fresh PROD_ebs11fresh]$ vi sqlnet.ora
ORA-12547: TNS:lost contact
現象
裝完11.5.10,自己登錄沒有問題,從其他機器登錄報ORA-12547: TNS:lost contact。查數據庫Home下的network\admin\prod.log,發現信息:
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
原因
11.5.10默認情況下SQL*Net權限驗證只允許本機訪問。打開數據庫Home下的network\admin\sqlnet.ora,有如下語句:
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES,HOSTNAME)
SQLNET.EXPIRE_TIME= 10
sqlnet.authentication_services= (NTS)
tcp.validnode_checking = yes
tcp.invited_nodes=(HUAJHUA.leiko.com)
解決
把上面的tcp.validnode_checking設為no,或者在tcp.invited_nodes加入允許訪問的IP或機器名。