近段時間很多網友提出監聽配置相關問題,客戶終端(Client)無法串連伺服器端(Server)。本文現對監聽配置作一簡單介紹,給出PL/SQL Developer 串連Oracle資料庫詳細配置方法,並提出一些客戶終端無法串連伺服器端的解決思路,願對廣大網友與讀者有一些協助。
一、監聽器(LISTENER)
監聽器是Oracle基於伺服器端的一種網路服務,主要用於監聽用戶端向資料庫伺服器端提出的串連請求。既然是基於伺服器端的服務,那麼它也只存在於資料庫伺服器端,進行監聽器的設定也是在資料庫伺服器端完成的。
二、
本地服務名(Tnsname) Oracle用戶端與伺服器端的串連是通過用戶端發出串連請求,由伺服器端監聽器對用戶端串連請求進行合法檢查,如果串連請求有效,則進行串連,否則拒絕該串連。 本地服務名是Oracle用戶端網路設定的一種,另外還有Oracle名字伺服器(Oracle Names Server)等。Oracle常用的用戶端配置就是採用的本地服務名,本文中介紹的也主要是基於本地服務名的配置。
三、
Oracle
網路連接配置方法 配置Oracle伺服器端與用戶端都可以在其內建的圖形化Oracle網路管理器(Oracle Net Manager)裡完成(強烈建議在這個圖形化的工具下完成Oracle服務端或用戶端的配置)。Windows下啟動Net Manager圖形視窗如示:
1、 Oracle監聽器配置(LISTENER)如示,選中樹形目錄中監聽程式項,再點擊左上側“+”按鈕添加監聽程式,點擊監聽程式目錄,預設新加的監聽器名稱是LISTENER(該名稱也可以由任意合法字元命名)。選中該名稱,選中視窗右側欄下拉選項中的“監聽位置”,點擊添加地址按鈕。在出現的網路地址欄的協議下拉選項中選中“TCP/IP”,主機文字框中輸入主機名稱或IP地址(如果主機即用作服務端也作為用戶端,輸入兩項之一均有效;如果主機作為服務端並需要通過網路連接,建議輸入IP地址),連接埠文字框中輸入數字連接埠,預設是1521,也可以自訂任意有效數字連接埠。配置好的監聽位置如示:
選中視窗右側欄下拉選項中的“資料庫服務”,點擊添加資料庫按鈕。在出現的資料庫欄中輸入全域資料庫名,如myoracle。注意這裡的全域資料庫名與資料庫SID有所區別,全域資料庫名實際通過網域名稱來控制在同一網段內資料庫全域命名的唯一性,就如Windows下的網域名稱控制器,如這裡可以輸入myoracle.192.168.1.5。Oracle主目錄可以不填寫,輸入SID,如myoracle。完整的資料庫服務配置如示:
儲存以上配置,預設即可在Oracle安裝目錄下找到監聽設定檔 (Windows下如D:/oracle/ora92/network/admin/listener.ora
至此,Oracle服務端監聽器配置已經完成。
2、 本地服務名配置(Tnsnames)
本地服務名是基於Oracle用戶端的網路設定,所以,如果用戶端需要串連資料庫伺服器進行操作,則需要配置該用戶端,其依附對象可以是任意一台欲串連資料庫伺服器進行操作的PC機,也可以是資料庫伺服器自身。如前面所介紹,可以利用Oracle內建的圖形化管理工具Net Manager來完成Oracle用戶端的配置。選中(一)中的服務命名,再點擊左上側“+”按鈕,彈出如示對話方塊:
輸入Net服務名,如myoracle,點擊下一步,進入示對話方塊:
選中TCP/IP(Internet協議),點擊下一步,如示:
輸入主機名稱與連接埠號碼。注意這裡的主機名稱與連接埠號碼必須與資料庫伺服器端監聽器配置的主機名稱和連接埠號碼相同。點擊下一步,如示:
選中(Oracle8i或更高版本)服務名,輸入服務名。這裡的服務名實際上就是資料庫伺服器端監聽器配置中的全域資料庫名,前者與後者必須相同。連線類型通常選專用伺服器,這要視資料庫伺服器的配置而定,如果配置的共用資料庫伺服器,這裡的連線類型就要選共用伺服器,否則建議選專用伺服器(關於專用伺服器的介紹請參閱相關文檔)。配置好後點擊下一步,如示:
如果資料庫伺服器端相關服務啟動了,可以點擊測試按鈕進行串連測試。Oracle預設是通過scott/tiger使用者進行測試連接,由於scott使用者是Oracle內建的樣本使用者,對於正式的業務資料庫或專業測試資料庫可能沒有配置這個使用者,所以需要更改成有效使用者登入才可能測試成功。如果這裡測試連接不成功,也不要緊,先點完成按鈕結束配置。回到Oracle網路管理器(Oracle Net Manager)主視窗,儲存配置,預設即可在Oracle安裝目錄下找到本地服務名設定檔 (Windows下如D:/oracle/ora92/network/admin/tnsnames.ora)。配置完成的本地服務名如示:
樹形目錄下的服務命名可以通過編輯菜單裡的重新命名菜單更改成任意合法字元組成的服務名稱,注意服務名稱前不能有空白字元,否則可能無法串連資料庫伺服器。
配置完成後,Oracle用戶端應該可以串連到遠程Oracle 資料庫上。
3、 使用PL/SQL Developer串連資料庫
Database內填上遠端資料庫的UserName、Password、DateBase、Connect AS,就可以串連上資料庫了。