2016-11-24 72 views
1

當我打電話net start OracleServiceORCL Windows命令行中,我得到無法連接到使用SQL Developer,SQL * Oracle數據庫加上做工精細

The requested service has already been started.

當我再在命令行中運行sqlplus我可以登錄到我的數據庫成功。

但是使用SQL Developer來使用相同的憑據連接到數據庫的時候,我發現了錯誤

I/O error: The network adapter could not establish the connection.

Vendor code: 17002

同樣的錯誤發生時,我開始連接到數據庫我的應用程序服務器。

我已經能夠使用SQL開發人員或啓動我的服務器,但不知道自那以後發生了什麼變化。我怎樣才能使它重新工作?

+0

需要研究的部分內容包括:端口連接,服務名稱連接。因爲12c使用服務名稱來連接到PDB而不是服務ID。 – learningloop

回答

0

這可能有很多原因。你可以開始檢查你的監聽器狀態。檢查Oracle偵聽器是否正在爲您的數據庫運行。即使監聽器停止,sqlplus也可以連接到數據庫,但我不確定它是如何實現的。但是,如果偵聽器沒有運行,它將禁用像sqldeveloper這樣的客戶端,即使它在同一臺機器上查找數據庫。

> lsnrctl services 
0

你使用什麼樣的連接? Oracle客戶端可以通過TCP或遺留連接使用兩種類型的連接。

在數據庫正在運行的同一主機上使用sqlplus時,通常會執行sqlplus/as sysdba這將使用bequeauth創建連接。 Bequeauth完全繞過監聽器,直接產生一個處理請求到數據庫的子進程。

如果您使用像這樣的sqlplus sqlplus [email protected]您正在使用TCP通過偵聽器進行連接,該偵聽器處理與數據庫通信的連接和派生進程。

甲骨文通過1521端口默認運行監聽器,所以如果偵聽器正在運行我的第一個猜測是,防火牆阻止訪問1521

你應該嘗試連接使用第一bequeatuh然後通過監聽器,DB,如果bequeauth工程和TCP連接並不是問題可能在監聽者和網絡之間的某處。 (您也可以設置的SQLDeveloper使用bequeauth,但它必須在同一主機DB上安裝)

可以使用lsnrctl status如果一切似乎很動聽那裏檢查下監聽器日誌列出的文件文件看到檢查偵聽器的狀態如果有任何連接正在通過監聽器進行,或者存在任何錯誤。

相關問題