2016-09-21 88 views
0

我的Oracle SQL Server 11g存在一些問題。在更改PC和主機名稱(PC名稱)的域後,Oracle SQL無法在localhost上工作

所以這就是發生了什麼事: 我的老闆告訴我要將我的電腦加入我們公司的域名,並更改我的電腦名稱,因爲它沒有遵循我們的約定。所以我改變了它,然後當我打開SQL開發人員時,我發現我所有與本地主機的連接都不起作用,但存儲在網絡其他地方的數據庫是完全可訪問的。

我已經檢查了所有的服務,重新啓動它們,並試圖重新啓動計算機,但沒有。

可能是什麼問題?有任何想法嗎?

非常感謝!

(更新:我意識到,服務OracleXETNSListener不能正常啓動)

回答

0

我找到了解決辦法。 顯然,當我們安裝Oracle時,有一些文件採用主機的名稱並在一些腳本中使用它。 這麼好,在我的情況,有一個文件C:/oraclexe/app/oracle/product/11.2.0/server/network/ADMIN/listener.ora與此內容:

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = HOST-NAME)(PORT = 1521)) 
    ) 
) 

DEFAULT_SERVICE_LISTENER = (XE) 

所以解決的辦法很簡單,只需要改變主機的價值= MY-NEW-主機名和重新啓動該服務,應該工作!

順便說一句,對於專家的問題,我想知道爲什麼這個值沒有存儲在一個環境變量中......然後我們就不會遇到這個問題!

+0

那麼,通常一個主機名永遠不會改變。實際上'HOST = localhost'或'HOST = 127.0.0.1'也可能工作。關於你的問題,當你有一個* active *和* stand-by *數據庫時,你必須在listener.ora文件中配置多個主機。僅使用一個環境變量是不夠的。 –

+0

相關知識!謝謝@WernfriedDomscheit – Carloshf