2015-10-28 84 views
0

我已經在虛擬機上安裝了Oracle12c,安裝在/ media上的第二個虛擬驅動器中。當我訪問那裏,我去ORACLE_HOME/bin並嘗試初始化LSNRCTL,但它不斷拋出這個錯誤:Oracle12c db監聽器多個錯誤

而這一次,如果我嘗試啓動它:

enter image description here

這裏有我的listener.ora文件,改了很多次,但從來沒有迴避錯誤:

enter image description here

我該怎麼做,讓聽衆開始正常工作?

+0

第一件事,'tnsping'工作?你確定權限設置正確嗎?誰擁有Oracle二進制文件?你是否將其設置爲'oracle'用戶?如果是,那麼您需要以oracle用戶身份啓動偵聽器。其他用戶可能沒有權限。 –

+0

不,它不起作用。我的oracle帳戶擁有所有權限並可以訪問oracle數據庫文件,所以不應該有任何錯誤。我總是登錄到oracle嘗試啓動監聽器,但它不會工作。 – Zerok

+0

要在數據庫服務器上進行本地連接,不需要偵聽器。只有當您必須接收遠程連接偵聽器時才需要。那麼你可以嘗試在本地連接嗎? –

回答

0

你似乎沒有導出你的ORACLE_HOME環境變量。它可以在當前shell中設置(即使不明確),但它不會被子進程和應用程序使用,除非它被導出。例如: -

export ORACLE_HOME=/media/OracleVol/product/12.1.0/dbhome_1` 

你可能也想添加$ORACLE_HOME/bin到PATH環境變量太多。

這是常見的在你的shell的登錄文件中設置這樣的東西,和Oracle安裝一個全局腳本(/usr/local/bin下,同時,各ORACLE_HOME下)呼籲oraenv它可以輸出設置的東西了:

. oraenv 

請注意該時間段,以便將其輸入到當前shell中;如果您只是將其作爲腳本運行,則更改將不會繼續。您需要提供您正在使用的實例的ORACLE_SID - oraenv腳本將調用dbhome,該腳本在您的oratab文件中查找該SID。