oracle數據庫連接錯誤

    安裝完數據庫後,接着應該進行兩個重要的配置工作,即監聽程序配置和本地服務名配置,下面是對他們簡單介紹

       1、監聽器(LISTENER)

  監聽器是Oracle基於服務器端的一種網絡服務,主要用於監聽客戶端向數據庫服務器端提出的連接請求。既然是基於服務器端的服務,那麼它也只存在於數據庫服務器端,進行監聽器的設置也是在數據庫服務器端完成的。配置文件名: listener.ora , 存放路徑:$ORACLE_HOME/network/admin

  

  2、本地服務名(Tnsname)

  Oracle客戶端與服務器端的連接是通過客戶端發出連接請求,由服務器端監聽器對客戶端連接請求進行合法檢查,如果連接請求有效,則進行連接,否則拒絕該連接。配置文件名: tnsnames.ora , 存放路徑:$ORACLE_HOME/network/admin

  本地服務名是Oracle客戶端網絡配置的一種,另外還有Oracle名字服務器(Oracle Names Server)等。Oracle常用的客戶端配置就是採用的本地服務名,本文中介紹的也主要是基於本地服務名的配置。

    要排除客戶端與服務器端的連接問題,首先檢查客戶端配置是否正確(客戶端配置必須與數據庫服務器端監聽配置一致),再根據錯誤提示解決。下面列出幾種常見的連接問題:

  1、 ORA-12541: TNS: 沒有監聽器:

  顯而易見,服務器端的監聽器沒有啓動,另外檢查客戶端IP地址或端口填寫是否正確。啓動監聽器:

  $ lsnrctl start或C:/lsnrctl start。

  2、 ORA-12500: TNS: 監聽程序無法啓動專用服務器進程:

  對於Windows而言,沒有啓動Oracle實例服務。啓動實例服務:C:/oradim –startup -sid myoracle。

  3、 ORA-12535: TNS: 操作超時:

  出現這個問題的原因很多,但主要跟網絡有關。解決這個問題,首先檢查客戶端與服務端的網絡是否暢通,如果網絡連通,則檢查兩端的防火牆是否阻擋了連接。

  4、 ORA-12154: TNS: 無法處理服務名:

  檢 查輸入的服務名與配置的服務名是否一致。另外注意生成的本地服務名文件(Windows下如D:/oracle/ora92/network/admin /tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)裏每項服務的首 行服務名稱前不能有空格。

  5、 ORA-12514: TNS: 監聽進程不能解析在連接描述符中給出的 SERVICE_NAME打開Net Manager,選中服務名稱,檢查服務標識欄裏的服務名輸入是否正確。該服務名必須與服務器端監聽器配置的全局數據庫名一致。

  6、 Windows下啓動監聽服務提示找不到路徑:

  用 命令或在服務窗口中啓動監聽提示找不到路徑,或監聽服務啓動異常。打開註冊表,進入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener項,查看ImagePath字符串項是否存在,如果沒 有,設定值爲D:/oracle/ora92/BIN/TNSLSNR,不同的安裝路徑設定值做相應的更改。這種方法同樣適用於Oracle實例服務,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項,查看ImagePath字符串項是否存在,如果沒有,則新建,設定值爲d:/oracle/ora92/ binORACLE.EXE MYORACLE。

  以上是Oracle客戶端連接服務器端常見的一些問題,當然不能囊括所有的連接異常。解決問題的關鍵在於方法與思路,而不是每種問題都有固定的答案。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章