剛開始時,有一臺服務器的ORACLE 11G資料庫連接不上,報錯:ORA-12541:TNS:無監聽程式
重啟服務里面的兩個Oracle服務,都沒解決,
在網上看到一篇文章說另一種可能是oracle目錄目錄下listener.log日志檔案過大(達到4G,據說這是oracle在windows系統下的bug)導致的,
搜索找到listener.log,果然檔案已經是4GB,
于是停止服務里面的Oracle監聽服務,重命名listener.log做備份,例如listener.log.bak,
啟動Oracle監聽服務,會自動生成一個新的listener.log,
PLSQL連接資料庫,這次卻報了另一個錯誤:
ORA-01034:ORACLE not available
ORA-27101:shared memory realm does not exist

解決程序:
資料庫所在服務器,cmd命令列中
1、輸入:
sqlplus /nolog
2、輸入:
conn /as sysdba
3、輸入:
startup
這時報錯:
ora-00119:invalid specification for system parameter LOCAL_LISTENER
ora-00132:syntax error or unresolved network name 'LISTENER_ORCL'

4、找到init.ora.1112015105811(1112015105811每臺機器不一樣),路徑在
D:\app\lc\admin\orcl\pfile\init.ora.1112015105811
先復制一份做備份,用記事本打開init.ora.1112015105811,找到下面行
local_listener=LISTENER_ORCL
把LISTENER_ORCL修改為tnsnames.ora中的ADDRESS_LIST的值,如下(HOST值根據實際修改)
local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.100)(PORT = 1521))"
5、回到命令列視窗中,輸入:
create spfile from pfile = 'D:\app\lc\admin\orcl\pfile\init.ora.1112015105811';
6、輸入:
startup
這次終于沒報錯了,提示:ORACLE例程已經啟動,用PLSQL成功連接資料庫,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14915.html
標籤:Oracle
