簡體   English   中英

偵聽器無法啟動

[英]Listener failed to start

我在VMWare Player上有一個虛擬機:在Linux Centos上是Oracle 11g。 由於我已經有兩年沒有使用它了,所以我幾乎什么都不記得了,當我嘗試啟動數據庫時,它說監聽器已關閉,而當我嘗試啟動監聽器時,它說:

TNSLSNR for Linux Version 11.2. 0.1.0 - Production
System Parameter file is /oracle/product/11gR2/network/admin/listener.ora
Log messages written to /oracle/diag/tnslsnr/srvlinux/listener/alert/log.xml
Error listening on: (ADRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12542: TNS:address already in use
 TNS-12560: TNS:protocol adater error
  TNS-00512: Address already in use
   Linux Error: 98: Address already in use

我必須完全配置什么? 提前致謝。

編輯:

netstat -tulpn | grep:1521

tcp 0 0 :::1521 :::* LIST 
EN 3369/tnslsnr

編輯:

lsnrctl狀態

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-DEC-2012 16:09:54

sqlplus /作為sysdba

ERROR:
ORA-12162: TNS:net service name is incorrectly specified

ORA-12162通常意味着您沒有設置ORACLE_SID並不是說它是錯誤的,但是它根本沒有設置,或者尚未導出(取決於您的shell)。 這不會告訴您有關數據庫是否已啟動的任何信息,也並不意味着偵聽器已關閉-因此不知道您是否從其他連接嘗試中獲得了不同的消息。 顯然,根據您添加到問題中的詳細信息,偵聽器位於端口1521上。

如果您使用的是Bourne-y(sh,ksh,bash等),則需要設置和導出ORACLE_SID

export ORACLE_SID=my_sid

如果您不記得SID,可以轉到grep -ef | grep ora_pmon_ grep -ef | grep ora_pmon_ ; 如果顯示任何內容,則SID為進程名稱的末尾,並且數據庫已啟動。 如果沒有,則查看lsnrctl status的輸出,查看是否已注冊任何內容,或者查看$ORACLE_HOME/dbs文件名稱中也可能包含SID。

如果還沒有的話,您可能還需要export ORACLE_HOME ,但這聽起來像是已經存在了,可能是從.profile / .bashrc等文件中export ORACLE_HOME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM