[英]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.