一、監(jiān)聽器(LISTENER)
專注于為中小企業(yè)提供網站制作、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)侯馬免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
監(jiān)聽器是Oracle基于服務器端的一種網絡服務,主要用于監(jiān)聽客戶端向數(shù)據(jù)庫服務器端提出的連接請求。既然是基于服務器端的服務,那么它也只存在于數(shù)據(jù)庫服務器端,進行監(jiān)聽器的設置也是在數(shù)據(jù)庫服務器端完成的。
二、本地服務名(Tnsname)
Oracle客戶端與服務器端的連接是通過客戶端發(fā)出連接請求,由服務器端監(jiān)聽器對客戶端連接請求進行合法檢查,如果連接請求有效,則進行連接,否則拒絕該連接。
本地服務名是Oracle客戶端網絡配置的一種,另外還有Oracle名字服務器(Oracle Names Server)等。Oracle常用的客戶端配置就是采用的本地服務名,本文中介紹的也主要是基于本地服務名的配置。
三、Oracle網絡連接配置方法
配置Oracle服務器端與客戶端都可以在其自帶的圖形化Oracle網絡管理器(Oracle Net Manager)里完成(強烈建議在這個圖形化的工具下完成Oracle服務端或客戶端的配置)。在Windows下,點擊“開始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”啟動Oracle網絡管理器工具,在Linux/Unix下,利用netmgr命令來啟動圖形化Oracle網絡管理器,如:
$ netmgr
Windows下啟動Net Manager圖形窗口如下圖示:
1、?Oracle監(jiān)聽器配置(LISTENER)
如上圖示,選中樹形目錄中監(jiān)聽程序項,再點擊左上側“+”按鈕添加監(jiān)聽程序,點擊監(jiān)聽程序目錄,默認新加的監(jiān)聽器名稱是LISTENER(該名稱也可以 由任意合法字符命名)。選中該名稱,選中窗口右側欄下拉選項中的“監(jiān)聽位置”,點擊添加地址按鈕。在出現(xiàn)的網絡地址欄的協(xié)議下拉選項中選中 “TCP/IP”,主機文本框中輸入主機名稱或IP地址(如果主機即用作服務端也作為客戶端,輸入兩項之一均有效;如果主機作為服務端并需要通過網絡連 接,建議輸入IP地址),端口文本框中輸入數(shù)字端口,默認是1521,也可以自定義任意有效數(shù)字端口。配置好的監(jiān)聽位置如下圖示:
選中窗口右側欄下拉選項中的“數(shù)據(jù)庫服務”,點擊添加數(shù)據(jù)庫按鈕。在出現(xiàn)的數(shù)據(jù)庫欄中輸入全局數(shù)據(jù)庫名,如myoracle。注意這里的全局數(shù)據(jù)庫名與數(shù)據(jù) 庫SID有所區(qū)別,全局數(shù)據(jù)庫名實際通過域名來控制在同一網段內數(shù)據(jù)庫全局命名的唯一性,就如Windows下的域名控制器,如這里可以輸入 myoracle.192.168.1.5。Oracle主目錄可以不填寫,輸入SID,如myoracle。完整的數(shù)據(jù)庫服務配置如下圖示:
保存以上配置,默認即可在Oracle安裝目錄下找到監(jiān)聽配置文件 (Windows下如D:oracleora92networkadminlistener.ora,Linux/Unix下$ ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服務端監(jiān)聽器配置已經完成。
2、?本地服務名配置(Tnsnames)
本地服務名是基于Oracle客戶端的網絡配置,所以,如果客戶端需要連接數(shù)據(jù)庫服務器進行操作,則需要配置該客戶端,其依附對象可以是任意一臺欲連接數(shù)據(jù) 庫服務器進行操作的pc機,也可以是數(shù)據(jù)庫服務器自身。如前面所介紹,可以利用Oracle自帶的圖形化管理工具Net Manager來完成Oracle客戶端的配置。選中如圖(一)中的服務命名,再點擊左上側“+”按鈕,彈出如下圖示對話框:
輸入Net服務名,如myoracle,點擊下一步,進入下圖示對話框:
選中TCP/IP(Internet協(xié)議),點擊下一步,如下圖示:
輸入主機名與端口號。注意這里的主機名與端口號必須與數(shù)據(jù)庫服務器端監(jiān)聽器配置的主機名和端口號相同。點擊下一步,如下圖示:
選 中(Oracle8i或更高版本)服務名,輸入服務名。這里的服務名實際上就是數(shù)據(jù)庫服務器端監(jiān)聽器配置中的全局數(shù)據(jù)庫名,前者與后者必須相同。連接類型 通常選專用服務器,這要視數(shù)據(jù)庫服務器的配置而定,如果配置的共享數(shù)據(jù)庫服務器,這里的連接類型就要選共享服務器,否則建議選專用服務器(關于專用服務器 的介紹請參閱相關文檔)。配置好后點擊下一步,如下圖示:
如果數(shù)據(jù)庫服務器端相關服務啟動了,可以點擊測試按鈕進行連接測試。Oracle默認是通過scott/tiger用戶進行測試連接,由于scott用戶是 Oracle自帶的示例用戶,對于正式的業(yè)務數(shù)據(jù)庫或專業(yè)測試數(shù)據(jù)庫可能沒有配置這個用戶,所以需要更改成有效的用戶登錄才可能測試成功。如果這里測試連 接不成功,也不要緊,先點完成按鈕結束配置。
回 到Oracle網絡管理器(Oracle Net Manager)主窗口,保存配置,默認即可在Oracle安裝目錄下找到本地服務名配置文件 (Windows下如D:oracleora92networkadmintnsnames.ora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服務名如下圖示:
樹形目錄下的服務命名可以通過編輯菜單里的重命名菜單更改成任意合法字符組成的服務名稱,注意服務名稱前不能有空格字符,否則可能無法連接數(shù)據(jù)庫服務器。
3、?連接數(shù)據(jù)庫服務器
(1)???啟動服務器端監(jiān)聽器與數(shù)據(jù)庫服務
Linux/Unix下,啟動監(jiān)聽器:
$ lsnrctl start
關閉監(jiān)聽器:
$ lsnrctl stop
查看監(jiān)聽狀態(tài):
$ lsnrctl status
啟動數(shù)據(jù)庫:
$ sqlplus /nolog
SQLconn sys@myoracle as sysdba?? --這里的myoracle是前面配置的客戶端本地服務名
或
SQLconn / as sysdba
SQLstartup
Windows下,啟動監(jiān)聽器:
C:lsnrctl start
啟動Oracle實例服務:
C:oradim ?a href="" class="none" title="cs" rel="external"cstartup –sid myoracle
關閉Oracle實例服務:
C:oradim –shutdown –sid myoracle
以上服務必須同時啟動,客戶端才能連接數(shù)據(jù)庫。由于默認配置的監(jiān)聽器名稱是Listener,上述命令可以正常啟動監(jiān)聽器,如果監(jiān)聽器名稱是其它名稱,如aListener,則需要用下列方式才能啟動:
Linux/Unix下:
$ lsnrctl start aListener
Windows下:
C:lsnrctl start aListener
(2)???測試連接數(shù)據(jù)庫服務器
測試的方法多種多樣,可以在上面配置本地服務名時進行測試,也可以是第三方客戶端工具,如PL/SQL Developer,最方便的是用Oracle自帶的sqlplus工具,以下利用sqlplus進行測試:
C:sqlplus /nolog
SQLconn zgh@myoracle
已連接。
最簡單的是配置動態(tài)監(jiān)聽:直接在命令行輸入netca,然后一直下一步,完成后就可以了,如下圖::
還有一種是配置靜態(tài)監(jiān)聽:需要修改安裝目錄:product\11.2.0\dbhome_1\NETWORK\ADMIN下面的listener.ora文件,相對麻煩一點。
1、設置ORACLE_SID(實例名)的環(huán)境變量,如:"ORACLE_SID=orcl",可以通過"echo $ORACLE_SID"查看設置是否成功。
2、通過"sqlplus / as sysdba"登陸指定的Oracle實例orcl。
3、啟動數(shù)據(jù)庫"startup",然后啟動監(jiān)聽"lsnrctl start"。
4、通過"sys/password@orcl as sysdba"可以登陸到數(shù)據(jù)庫實例orcl。也可以通過netca測試TNS是否成功。
打開Oracle Net Manager創(chuàng)建監(jiān)聽
1
在開始菜單,選擇oracle,再選擇“配置和移值工具”,打開Oracle Net Manager。
2
在彈出的窗口上 選擇“監(jiān)聽程序”,點擊左邊的“+”圖標,創(chuàng)建監(jiān)聽。
3
在接下來的窗口上選擇監(jiān)聽名稱,或者自己起一個監(jiān)聽名稱,在點擊下方“確定”按鈕。
END
添加服務器數(shù)據(jù)庫IP地址配置監(jiān)聽
1
點擊“添加地址”按鈕,填寫好服務器主機ip地址以及端口號并及時保存。
END
配置服務名稱
1
選擇“服務名稱”,創(chuàng)建一個服務名稱,最好跟目標主機數(shù)據(jù)庫服務名稱一致。
2
點擊下一步,選擇TC/IP選項,再單擊下一步。
3
填寫好服務器數(shù)據(jù)庫主機名,一般填寫IP地址就可以了,再填寫好端口:1521 。下一步的時候,填寫好服務名,跟SID一致就可以了。
4
測試是否可以連通,點擊“測試”按鈕,更改進入數(shù)據(jù)庫操作的賬戶跟密碼點擊測試。
5
測試連接成功如下圖,如果測試未成功,就按上面的步驟仔細檢查看看哪里出問題了。一般查詢服務器ip地址、端口、數(shù)據(jù)庫用戶名、密碼、防火墻等等地方是否有問題。
當我們建立了Oracle數(shù)據(jù)庫后,必須合理地配置監(jiān)聽程序和網絡服務名后,客戶應用才能訪問我們的數(shù)據(jù)庫。所以服務器端必須配置監(jiān)聽程序,而網絡服務名在客戶端跟服務器端都可以配置。看如下說明:
1。服務器端的監(jiān)聽程序用于接收客戶端的連接請求。
在建立了Oracle數(shù)據(jù)庫之后,為了使得客戶應用可以訪問特定數(shù)據(jù)庫,必須要在監(jiān)聽程序中追加該數(shù)據(jù)庫。一個監(jiān)聽程序可以監(jiān)聽多個Oracle數(shù)據(jù)庫,多個監(jiān)聽程序也可以監(jiān)聽同一個數(shù)據(jù)庫。但是監(jiān)聽程序只能用于同一臺服務器上的Oracle數(shù)據(jù)庫。安裝了Oracle時,會自動建立默認的監(jiān)聽程序LISTENER.一般只需要將需要使用的數(shù)據(jù)庫追加到這個監(jiān)聽程序上就可以了。
監(jiān)聽程序使用的默認端口為1521
保存了監(jiān)聽程序配置之后,必須要重新啟動監(jiān)聽程序才能生效。windows中可以在“服務”中重新啟動。
例如:假如我在10.150.27.45上裝了ORACLE服務器,端口是1521,為了讓其他客戶端應用(不管是本地的還是其他的)可以訪問我的名為TESTDB的數(shù)據(jù)庫,首先得在服務器上配置監(jiān)聽器:進入NET MANAGER 新建一個端口,如命名為LISTENER,配置主機名:如10.150.27.45和端口1521,配置全局數(shù)據(jù)庫名:如TESTDB,然后保存就好了
2??蛻舳诵枰渲镁W絡服務名,應用程序使用網絡服務名才能訪問Oracle數(shù)據(jù)庫, 一般使用數(shù)據(jù)庫名作為服務名。注意: 網絡協(xié)議要與監(jiān)聽程序的一致(如TCP/IP)
例如:假如我在10.150.27.46上裝了ORACLE客戶端,進入NET MANAGER,新建一服務命名,如:TEST,然后配置你要連接的DB服務器名字和端口好,如:10.150.27.45, 1521,配置服務名,必須跟監(jiān)聽端口的全局數(shù)據(jù)庫名一樣:如TESTDB,然后你可以通過輸入用戶名和密碼測試連接成不成功了
3。利用客戶端工具測試
在10.150.27.46上通過SQLPLUS連接10.150.27.45上的DB:TESTDB, 輸入用戶名密碼,HOST STRING輸入TEST,看連接是不是成功
1、打開cmd輸入netca。
2、選擇【本地net服務名配置】→下一步。
3、選擇【添加】→下一步。
4、在【服務名】中輸入你想要連接的服務器上的oracle服務的名字→下一步。
5、選擇【tcp】→下一步。
6、在【主機名】中輸入你想要連接的服務器ip,端口號不變→下一步。
7、選擇【進行測試】→下一步。(當然你也可以選擇不測試)
※1測試如果不通過,點擊【更改登錄】輸入一個肯定能登入的【用戶名】和【口令】→確定,出現(xiàn)【正在連接...測試成功?!勘砻鳒y試成功。
※2測試不通過的話,點【上一步】確認你寫的【服務名】和【主機名】,確認無誤的情況下,確認你要連接的服務器oracle監(jiān)聽服務已經打開。
8、在【net服務名中】輸入你想要使用的本地的服務名→下一步。
※就是【sqlplus
user/passwd
@本地服務名】。
9、選擇【否】→下一步。
10、出現(xiàn)【net服務配置完畢】字樣→下一步。
11、點擊【完成】完成服務配置。
12、在上面服務配置完成以后,在cmd中輸入如下命令即可遠程登錄oracle服務器:
sqlplus
user_name/password@本地服務名
一定記住,上面的本地服務名是你第8步寫的服務名。
13、如果sqlplus
能夠進入,PLSQL
Developer也就可以了。
---
以上,希望對你有所幫助。
標題名稱:oracle如何配置監(jiān)聽,oracle添加監(jiān)聽配置
URL分享:http://chinadenli.net/article14/dseodde.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網站、品牌網站建設、網站設計公司、網站設計、服務器托管、自適應網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)