下午有個測試環境測試人員反饋oracle監聽起不來,一啓動就報錯,還生成了core文件。以下:html
[oracle@localhost ~]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 03-SEP-2018 17:15:37 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /home/oracle/product/11.2.0/bin/tnslsnr: please wait... TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection closed Linux Error: 29: Illegal seek
經查,有下列解決方法:node
從新連接oracle以下:linux
[oracle:test]/bin$ cd /test/oracle/11.2.0.4/bin
[oracle:test]/bin$ ./relink allsql
未解決。http://tazdba.blogspot.com/2015/07/tns-12537tns-12560tns-00507-solaris.htmloracle
/etc/hosts中沒有127.0.0.1 hostname條目,增長後,仍然未解決。這一點不少帖子都提到。app
sqlnet.ora中添加tcp.validnode_checking=no,仍未解決。http://www.dba-oracle.com/t_linux_error_29_illegal_seek.htm(順便說下,這個諮詢公司最爛了,很早的時候以爲不錯,後面以爲太垃圾了,除了抄官方文檔,95%的ctrl+c/ctrl+p)。tcp
也有說起將設置LD_BIND_NOW=1,仍未解決。https://stackoverflow.com/questions/15807077/set-ld-bind-now-variable-to-solve-tns-linux-error-29-illegal-seek-error測試
將listener.ora中的localhost更改成ip或者127.0.0.1,問題解決。可是alert.log中出現一個新的錯誤:this
Mon Sep 03 18:48:56 2018
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x0] [PC:0x2F32692, nttaddr2bnd()+2158] [flags: 0x0, count: 1]
DDE: Problem Key 'ORA 7445 [nttaddr2bnd()+2158]' was completely flood controlled (0x6)
Further messages for this problem key will be suppressed for up to 10 minutes
Mon Sep 03 18:49:28 2018
WARNING: Oracle executable binary mismatch detected.
Binary of new process does not match binary which started instance
issue alter system set "_disable_image_check" = true to disable these messages --這是由於從新連接oracle可執行程序的緣由spa
更改主機名爲test-xxx
sqlplus "/as sysdba"
shutdown abort
startup
最後一個錯誤參考http://blog.itpub.net/18904345/viewspace-1317678/解決。