oracle 配置網路連接常見問題

來源:互聯網
上載者:User

環境  window

oralce 用戶端和服務端在同一台機器上 。並且用戶端和服務端都配置了服務名和監聽。這個時候程式可能串連的時候就找不到服務名或者監聽。

這個時候如何處理那,通過一下的兩個方面可以進行解決 

:設定tns_admin 為指定服務組態檔的名稱

如果安裝了多個oralce的安裝程式這個時候好需要指定  oracle_home 的環境變數。

糾結了好多年,終於知道這個原因了。

==================================下邊這個文章說的比較清楚。

摘自  http://zhangcui0311.blog.163.com/blog/static/4327000120124235831564/

ORA-12514 TNS 監聽程式當前無法識別串連描述符中請求服務 的解決方案  

2012-05-23 17:08:31|  分類: 資料庫---知識篇|字型大小 訂閱

oracle安裝成功後,一直未停止資料庫(即資料庫是啟動的),用戶端配置成功後,應該一直不會有什麼問題。

而一旦你和我同事一樣,有時把Oracle安裝在虛擬機器中,而且Oracle安裝完畢後,沒在進行任何監聽的配置,則虛擬機器再啟動,則就會出現ORA-12514的問題。如

     

如下是解決思路:

根據出錯資訊判斷出用戶端未監聽到執行個體服務名

1、通過重啟服務的方式啟動資料庫,再次串連仍無法串連伺服器。

2、既然第一種方法不能解決問題,那就第二種方法。考慮監聽listener.ora

   監聽設定檔listener.ora中可以不必指定監聽的服務名(安裝Oracle10g後也是沒有指定的)。正常情況下一般只要資料庫啟動,用戶端串連資料庫也沒有什麼問題,但是有時重複啟動關閉也會出現ORA-12514錯誤。

   既然listener.ora中沒有指定監聽,我們可以在listener.ora檔案中指定監聽的執行個體名,這樣該問題應該可以串連。

步驟如下:

在oracle伺服器Oracle安裝目錄(我的在E:\Oracle10g下,每個人的不一樣,根據自己的情況尋找)Network/admin目錄下找到listener.ora 我的如所示 

# listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\Oracle10g)
      (PROGRAM = extproc)
    )
   (SID_DESC =
    (GLOBAL_DBNAME = ORCL)
    (ORACLE_HOME = E:\Oracle10g)
    (SID_NAME = ORCL)
    )
 )

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

標紅的為我添加的部分,ORCL為監聽的執行個體名。

然後在Oracle伺服器的服務中重新啟動監聽服務,然後在oracle用戶端通過再次配置對Orcl執行個體的監聽,如所示 

結果出現如的提示。 

這時我們不要著急,只需要oracle伺服器重新啟動一下,再次串連即成功。這也是我們配置完listener.ora 監聽後,經常忘記的。再次嘗試,可以看到用戶端可以串連上oracle伺服器了,而且PL/SQL再次串連也沒有問題了。 

而有些朋友在配置用戶端時,串連資料庫成功,而使用PL/SQL時,又出現了如所示的問題。這又如何解決呢?為什麼oracle用戶端已經串連成功了,而PL/SQL確不行呢? 

 

出現如上的原因是,可能是大家再配置oracle用戶端時,雖然連結成功了,步驟上可能有些錯誤。大家使用Net Cofiguration Assistant用戶端時重新設定了Orcl,而不是添加,我們應該如下步驟處理,就不會出問題了。

1、如果Net Cofiguration Assistant中已經有了Orcl。我們可以重新設定

2、如果Net Cofiguration Assistant中沒有Orcl,我們應該添加  具體介面如所示。

如果大家該步處理也沒有問題了,listener.ora 修改成功,並且重新啟動了oracle伺服器,無論oracle用戶端還是PL/SQL都能夠成功串連資料庫了。

總結一下。當大家遇到“ORA-12514 TNS 監聽程式當前無法識別串連描述符中請求服務”錯誤的解決步驟:

1、通過重啟服務的方式啟動資料庫,再次串連嘗試。

2、如果第一種方法不可行,我們採用第二種方法

正確添加listener.ora;
重新啟動了oracle伺服器,並檢查oracle所有服務是否啟動;
oracle用戶端Net Cofiguration Assistant正確添加或重新設定執行個體名 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.