造成錯誤“ORA-12547: TNS:lost contact”的常見原因有哪些?
真題1、造成錯誤“ORA-12547: TNS:lost contact”的常見原因有哪些?
答案:在執行“sqlplus / as sysdba”時可能會報“ORA-12547: TNS:lost contact”的錯誤,常見原因有如下幾點:
1、查看操作系統內核參數是否無誤
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16384
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
對於文件/etc/security/limits.conf中的“oracle hard stack”值至少應該是10240。
2、確認$ORACLE_HOME/bin/oracle文件權限和屬主是否有問題
需要注意的是,在rac環境下需要查看$ORACLE_HOME/bin/oracle和$GRID_HOME/bin/oracle兩個文件。在沒有安裝GI的環境下,正確權限為:
[oracle@OCPLHR ~]$ ll $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 232424392 Feb 2 10:30 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[oracle@OCPLHR ~]$
在有grid用戶的情況下,oracle可執行文件正確屬主應該是oracle:asmadmin,並且權限必須有s才可以,如下所示:
[root@orclalhr ~]$ which setasmgidwrap
/u01/app/11.2.0/grid/bin/setasmgidwrap
[root@orclalhr ~]$ setasmgidwrap -o /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]$ ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21 2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x. 1 grid oinstall 203972117 Jan 5 2015 /u01/app/11.2.0/grid/bin/oracle
[root@orclalhr ~]# chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21 2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr bin]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@orclalhr bin]# which stat
/usr/bin/stat
[root@orclalhr bin]# stat oracle
File: `oracle'
Size: 210823844 Blocks: 411776 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1717737 Links: 1
Access: (6751/-rwsr-s--x) Uid: ( 501/ oracle) Gid: ( 504/asmadmin)
Access: 2017-03-16 12:33:44.809363974 +0800
Modify: 2014-05-18 17:09:50.508549983 +0800
Change: 2017-03-16 11:05:15.733816820 +0800
文件權限的詳細說明如下:
u:User,即文件或目錄的擁有者。
g:Group,即文件或目錄的所屬群組。
o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬於這個范圍。
a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
有關權限代號的部分,列表於下:
r:讀取權限,數字代號為4。
w:寫入權限,數字代號為2。
x:執行或切換權限,數字代號為1。
-:不具任何權限,數字代號為0。
s:當文件被執行時,根據who參數指定的用戶類型設置文件的setuid或者setgid權限。
如果權限不對,那么可以執行以下命令進行修復:
chmod 6751 $ORACLE_HOME/bin/oracle
如果權限不對,那么使用strace跟蹤命令也可以看到如下信息:
$strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba
在trace.1.log文件中可以看到如下的內容:
21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/alert/log.xml", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......
21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
3、檢查一下環境變量
echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH --注意:不同的操作系統此環境變量會不同
echo $PATH
4、檢查$ORACLE_HOME/bin/oracle和$ORACLE_HOME/rdbms/lib/config.o的文件大小是否為0
[oracle@OCPLHR ~]$ ll $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 232424392 Feb 2 10:30 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[oracle@OCPLHR ~]$ ll $ORACLE_HOME/rdbms/lib/config.o
-rw-r--r-- 1 oracle oinstall 1248 Jan 15 21:45 /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o
[oracle@OCPLHR ~]$
如果大小為0,那么需要先備份config.o文件,然后重新編譯oracle軟件:
% cd $ORACLE_HOME/rdbms/lib
% mv config.o config.o.bad
[oracle@OCPLHR ~]$ relink all
writing relink log to: /u01/app/oracle/product/11.2.0/dbhome_1/install/relink.log
5、檢查$ORACLE_HOME/network/admin/sqlnet.ora文件中的內容
查看是否設置了限制某些IP地址登錄的內容,此時可以通過查看監聽日志的內容來確定。如果設置了限制登錄的內容,則可以把tcp.validnode_checking設為no,或者在tcp.invited_nodes加入允許訪問的IP或機器名。
6、檢查監聽日志文件的大小,確保監聽日志文件的大小不能超過2G。如果超過2G,那么可以使用如下的方法解決:
[oracle@test ~]$ cd $ORACLE_HOME/network/log
[oracle@test log]$ cat /dev/null > listener.log
7、檢查文件/etc/hosts文件中是否含有以下內容:
[oracle@OCPLHR ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.59.155 OCPLHR
必須確保/etc/hosts文件中含有127.0.0.1這行。
8、查看系統是否缺少必要安裝包,例如glibc、glibc-devel、libaio、libaio-devel
9、使用操作系統跟蹤命令跟蹤sqlplus連接過程,從而觀察跟蹤文件
Linux系統的跟蹤命令:
strace -o /tmp/output.txt -T -tt -e trace=all sqlplus / as sysdba
strace -t -p 4545
Unix跟蹤sqlplus進程:
truss -dfaie -o /tmp/sched_trace.out.02271 sqlplus '/as sysdba'
Local SQL*Plus Connection and DBCA Fails With: ORA-12547: TNS:Lost Contact (文檔 ID 422173.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=346867971665735&id=422173.1&displayIndex=3&_afrWindowMode=0&_adf.ctrl-state=17yvi1ujp4_126#REF
| DBCA and Local SQL*Plus Connection Fails With: ORA-12547: TNS:Lost Contact ORA-12753 (文檔 ID 2206832.1) |
| Troubleshooting ORA-12547 TNS: Lost Contact (文檔 ID 555565.1) | 轉到底部 |
|
| Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) (文檔 ID 169706.1) |
About Me
.............................................................................................................................................
● 本文作者:小麥苗,部分內容整理自網絡,若有侵權請聯系小麥苗刪除
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文博客園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 數據庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA寶典今日頭條號地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯系我請加QQ好友(646634621),注明添加緣由
● 於 2018-02-01 06:00 ~ 2018-02-31 24:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網絡,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麥苗出版的數據庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
● 好消息:小麥苗OCP、OCM開班啦,詳情請點擊:http://blog.itpub.net/26736162/viewspace-2148098/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的數據庫技術。
![]()
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群2 《DBA筆試面試寶典》讀者群 小麥苗的微店
.............................................................................................................................................
![]()
![]()

轉到底部




