ORA-12547: TNS:lost contact報錯的處理方法

最近兩天在虛擬機上搞Oracle 12.2的安裝,安裝的過程挺順利的。但虛擬機重啓之後就無法連接數據庫,執行sqlplus / as sysdba報錯ORA-12547: TNS:lost contact

wKiom1ld6_fgZdSHAAAkhJKCzpM710.png

爲什麼呢?安裝完後測試都好好的,怎麼重啓之後會這樣呢。在網上找了很多方法來處理:  

網上給出的解決思路如下:  

1、查看操作系統內核參數是否無誤  
[oracle@rhel7 database]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15738
max locked memory       (kbytes, -l) 64
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) 2047
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
  
2、確認$ORACLE_HOME/bin/oracle文件權限是否有問題  
(在rac下需要查看$ORACLE_HOME/bin/oracle和$GRID_HOME/bin/oracle兩個文件),  
正確權限爲:  
[oracle@normal adump]$ ll $ORACLE_HOME/bin/oracle  
-rwsr-s--x 1 oracle oinstall 232399083 Aug 28 17:23 /u01/app/oracle/product/11.2.0/db_1/bin/oracle  
  
如果權限不對  
chmod 6751 $ORACLE_HOME/bin/oracle  
  
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,  
如果大小爲0,需要重新編譯oracle軟件:  
[oracle@normal backup]$ relink all  
writing relink log to: /u01/app/oracle/product/11.2.0/db_1/install/relink.log  
  
5、使用操作系統跟蹤命令跟蹤sqlplus連接過程,從而觀察跟蹤文件。 
ltrace -f -o /tmp/sqlplus.log sqlplus / as sysdba
或truss命令

參考自:http://blog.csdn.net/ch7543658/article/details/38901355

按照上面的五個步驟都做了一遍還是一直報錯。

最後仔細檢查了一下內核配置和oracle用戶的limit參數配置,發現limits.conf中有一個參數配置的值太小,我配置的是:

oracle  hard  stack   1024

而官方文檔中建議的是10240。

這纔想起來,當時安裝Oracle時偷懶沒有配置內核參數和limits.conf文件,而是使用fix.sh腳本修改的,修改完後發現有些配置沒有寫到配置文件裏,就又手動把漏掉的配置寫了進去,結果還寫錯了,最終導致了上面的錯誤的出現。

修改limits.conf文件後重新使用oracle用戶登錄,不再報錯。

wKioL1ld8ZvD6ONGAAAfcO3i0I0823.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章