程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle監聽服務啟動失敗案例,oracle監聽失敗案例

Oracle監聽服務啟動失敗案例,oracle監聽失敗案例

編輯:Oracle教程

Oracle監聽服務啟動失敗案例,oracle監聽失敗案例


在ORACLE測試服務器上還原恢復了一個數據庫後,啟動監聽服務時出現了TNS-12541, TNS-12560,TNS-00511之類的錯誤,具體情況如下所示:

[oracle@getlnx01 admin]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2015 09:13:29

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=getlnx01.esqule.com)(PORT=1521)))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

 

[oracle@getlnx01 dbs]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2015 09:20:46

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=getlnx01.esqule.com)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

TNS-12547: TNS:lost contact

TNS-12560: TNS:protocol adapter error

TNS-00517: Lost contact

Linux Error: 104: Connection reset by peer

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=getlnx01.esqule.com)(PORT=1521)))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

 

因為曾經遇到並解決過TNS-12541這類錯誤,立即檢查/etc/hosts文件,結果發現IP地址寫錯了,正確的IP地址應該為192.168.7.221,而不是粗心手誤寫錯的192.168.7.211

[root@getlnx01 ~]# more /etc/hosts
 
# Do not remove the following line, or various programs
 
# that require network functionality will fail.
 
127.0.0.1      getlnx01.esqule.com getlnx01
 
192.168.7.211  getlnx01.esqule.com getlnx01 
 

修改為正確的IP地址後,依然出現這個錯誤,後面查看了官方文檔Starting TNS Listener or LSNRCTL Start Yields TNS-12541, Linux Error: 111: Connection Refused (文檔 ID 343295.1)後,才發現是因為本地主機環回名稱和地址不正確所致,修改/etc/hosts後,重啟監聽服務,問題解決。

[oracle@getlnx01 ~]$ more /etc/hosts
 
# Do not remove the following line, or various programs
 
# that require network functionality will fail.
 
127.0.0.1      localhost.localdomain localhost
 
192.168.7.221  getlnx01.esqule.com getlnx01 
 

 

CAUSE

 

1. There is possibly an incorrect IP Address specified for the host in the /etc/hosts file.

For example:

192.168.101.101 prod1.us.oracle.com prod1

Whereas the actual ip address for the host "prod1.us.oracle.com" is 192.168.101.110

2. Also, the localhost reference may be incorrect or missing from the /etc/hosts file.

3. Oracle may not have read access to /etc/nsswitch.conf file.

 

SOLUTION

To implement the solution, please execute the following steps:

1. Correct the mapping in the /etc/hosts file by adding/correcting the IP address and/or hostname reference for the Unix/Linux Server (both long and short host names).

For example:

# Add or edit the /etc/hosts file to include a valid entry for the Server:

192.168.101.110 prod1.us.oracle.com prod1

2. Check that the localhost loopback name and address are correct (both long and short host names).

An example of a correct localhost entry would be as follows:

127.0.0.1 localhost.localdomain localhost

3. Remember to save the /etc/hosts file and then start the listener.

4. Check permissions on /etc/nsswitch.conf file to ensure group and other have read access.

- If necessary change permisions on /etc/nsswitch.conf as follows:

chmod 644 /etc/nsswitch.conf

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved