連接Oracle數據庫的例子網上有很多,現在就針對連接Oracle數據庫測試及常見的連接排除方法發表下個人建議。
連接Oracle數據庫的測試
可在配置本地服務名時進行測試,也可用第三方客戶端工具,如PL/SQL Developer,最方便的是用Oracle自帶的SQLplus工具,以下利用SQLplus進行測試:
- C:sqlplus /nolog
- SQL>conn zgh@myOracle
已連接。
客戶端連接服務器端常見問題排除方法
要排除客戶端與服務器端的連接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:ORACLEora92 etworkadmin nsnames.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:ORACLEora92BINTNSLSNR,不同的安裝路徑設定值做相應的更改。這種方法同樣適用於ORACLE實例服務,同上,找到如同HKEY_LOCAL_MacHINE/SYSTEM/Current ControlSet/Services/ORACLE ServiceMYORACLE項,查看ImagePath字符串項是否存在,如果沒有,則新建,設定值為d:ORACLEora92inORACLE.EXE MYOracle。
以上就連接Oracle客戶端與服務器端常見的一些問題發表了個人看法,當然不能囊括所有的連接Oracle數據庫異常。解決問題的關鍵在於方法與思路。