



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
靜態注冊監聽和動態注冊監聽總結靜態注冊監聽和動態注冊監聽總結
靜態注冊監聽和動態注冊監聽總結
靜態注冊和動態注冊總結
一、什么是注冊?
注冊就是將數據庫作為一個服務注冊到監聽程序。客戶端不需要知道數據庫名和實例名,只需要知道該數據庫對外供應的服務名就可以申請連接到數據庫。這個服務名可能與實例名一樣,也有可能不一樣。在數據庫服務器啟動過程中,數據庫服務器會向監聽程序注冊相應的服務(無論何時啟動一個數據庫,默認地都有兩條信息注冊到監聽器中:數據庫服務器對應的實例和服務。)相當于是這樣:在數據庫服務器和客戶端之間有一監聽程序(Listener),在監聽程序中,會記錄相應數據庫對應的服務名(一個數據庫可能對應有多個服務名),當客戶端需要連接數據庫時,只需要供應服務名,就可以建立客戶端和服務器之間的連接。
二、靜態注冊
靜態注冊就是實例啟動時讀取listener.ora文件的配置,將實例和服務注冊到監聽程序。無論何時啟動一個數據庫,默認地都有兩條信息注冊到監聽器中:數據庫服務器對應的實例和服務。靜態注冊時,listener.ora中的GLOBAL_DBNAME向外供應服務名,listener.ora中的SID_NAME供應注冊的實例名。
實行靜態注冊方法時,listener.ora中的內容如下:SID_LIST_LISTENER=(SID_LIST=(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=D:\\oracle\\product\\10.2.0\\db_1)(PROGRAM=extproc))
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME=D:\\oracle\\product\\10.2.0\\db_1)(SID_NAME=orcl))
(SID_DESC=(GLOBAL_DBNAME=orcl1)
(ORACLE_HOME=D:\\oracle\\product\\10.2.0\\db_1)(SID_NAME=orcl)))
該文件表明數據庫是單實例的,實例名為orcl,向外供應了兩個服務:orcl和orcl1
三、動態注冊
動態注冊是在instance啟動的時候PMON進程依據init.ora中的
instance_name,service_names兩個參數將實例和服務動態注冊到listener中。首先、要在init.ora中指定instance_name,service_names兩個參數的值。在sqlplus下通過showparameterservice_names和showparameterinstance_name可以查看這兩個參數的值。注冊到監聽器中的實例值從init.ora文件中的instance_name參數取得。假如該參數沒有設定值,那么它將取init.ora文件中的db_name的值。注冊到監聽器中的服務值從init.ora文件中的參數service_names取得。假如該參數沒有設定值,數據庫將拼接init.ora文件中的db_name和db_domain的值來注冊自己。假如選擇供應service_names值,您可以使用完全限定的名稱(比如orcl.oracle.)或縮寫的名稱(比如orcl)。假如選擇縮寫的名稱并設置了db_domain參數,注冊到監聽器中的服務將是service_name值和db_domain值的拼接。例如下面的設置將導致服務orcl.oracle.被注冊到監聽器中:db_domain=oracle.service_names=orcl;
實行動態注冊方法時,listener.ora中的內容如下:SID_LIST_LISTENER=(SID_LIST=(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=D:\\oracle\\product\\10.2.0\\db_1)(PROGRAM=extproc)))可選擇的是,您可以在service_names參數中指定多個服務值,值之間用逗號格開,這對于共享服務器配置是很有用的。動態注冊默認只注冊到默認的監聽器上(名稱是LISTENER、端口是1521、協議是TCP),假如需要向非默認監聽注冊,則需要配置local_listener參數!假如沒有顯式設置service_names和instance_name的值,那么僅當數據庫在監聽器運行之后啟動時,動態注冊才會發生;在這種狀況下,假如監聽器后來發生了重啟,動態注冊信息將會丟失。明顯,最好在全部的數據庫啟動之前先啟動監聽器,這樣就會避開沒有顯式設置service_names和instance_name的值時,若重啟監聽器帶來的動態注冊信息丟失的狀況。為初始化參數service_names和instance_name設置顯式的值是個值得可取的方法和建議。由于假如監聽器在數據庫運行過程中要重新啟動,僅當你在init.ora文件中顯式地設置了service_names和instance_name的值時,每個數據庫的PMON進程才會在很短的時間之內完成動態注冊。
四、查詢某服務是靜態注冊還是動態注冊
可以使用命令lsnrctlstatus來查看某服務是靜態注冊還是動態注冊。
實例狀態為UNKNOWN值時表明此服務是靜態注冊的設置。這時監聽器用來表明它不知道關于該實例的任何信息,只有當客戶發出連接懇求時,它才檢查該實例是否存在。
動態注冊的數據庫通過狀態信息中的狀態READY或狀態BLOCKED(對于一個備用數據庫)來指明。不管關閉何時數據庫,動態注冊的數據庫都會動態地從監聽器注銷,而與之相關的信息將從狀態列表中消逝。這樣,不管數據庫是在運行還是已經關閉,監聽器總是知道它的狀態。該信息將被用于連接懇求的回退(fallback)和負載平衡。
擴展閱讀:監聽的動態注冊
一、什么是注冊
注冊就是將數據庫作為一個服務注冊到監聽程序中。客戶端不需要知道數據庫名和實例名,只需要知道該數據庫對外供應的服務名就可以申請鏈接到數據庫。這個服務名可以與數據庫名一樣,
也有可能不一樣。
在數據庫服務啟動的過程中,數據庫服務器會像監聽程序注冊相應的服務,無論何時啟動數據庫,默認的都有兩條信息注冊到監聽器中,數據庫服務器對應的實例和服務,客戶端和服務器之
間的鏈接,只需要供應一個服務名就可以了。
二、區分動態注冊和靜態注冊(1)使用listener.ora文件推斷
動態注冊
SID_LIST_LISTENER=
(SID_LIST=(SID_DESC=(PROGRAM=extproc)(SID_NAME=PLSExtProc)(ORACLE_HOME=D:\\oradata\\orcl)
))靜態注冊
SID_LIST_LISTENER=
(SID_LIST=(SID_DESC=(PROGRAM=extproc)(SID_NAME=PLSExtProc)(ORACLE_HOME=D:\\oradata\\orcl)
)(SID_DESC=
(GLOBAL_DBNAME=orcl)(ORACLE_HOME=D:\\oradata\\orcl)
(SID_NAME=ORCL)
)(SID_DESC=
(GLOBAL_DBNAME=orcl1)(ORACLE_HOME=D:\\oradata\\orcl)
(SID_NAME=ORCL)
))通過查看雖然可以大致看出,但是這種方法并不能和明確的現實數據庫在運行時的實際狀況
(2)使用lsnrctlstatus命令三、動態注冊
動態注冊是在instance啟動的時候PMON(ProcessMonitor進程監視器)進程依據INIT.ORA中
的instance_name,service_name兩個參數將實例和服務注冊到監聽器中.
動態注冊時的listener.ora的文件內容如下
SID_LIST_LISTENER=
(SID_LIST=(SID_DESC=(PROGRAM=extproc)(SID_NAME=PLSExtProc)(ORACLE_HOME=D:\\oradata\\orcl)
))由于動態注冊需要pmon進程,所以監聽必需在數據庫啟動之前啟動,否則動態注冊將失敗;在
數據庫運行的過程中,假如重啟監聽也會造成動態注冊失敗
動態注冊只是注冊默認的監聽器上(名稱是listener、端口是1521、協議時TCP),假如需要
向非默認的監聽注冊,則需要轉變local_listener參數
將監聽的信息添加到tnsnames.ora文件中。留意,是tnsnames.ora文件,由于pmon在動
態注冊監聽時要從tnsnames.ora中讀取相關信息。
LISTENER=(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=DaveDai)(PORT=1522))
)然后以sys用運行:
SQL>altersystemsetlocal_listener=listener;
SQL>altersystemregister;
或者:
SQL>altersystemsetLOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=
DaveDai)(PORT=1522))";SQL>altersystemregister;
動態注冊的好處是簡潔便利,但是簡單發生注冊失敗
四、靜態注冊
靜態注冊就是實例啟動時讀取listener.ora文件的配置,將實例和服務注冊到監聽程序中
靜態注冊時的listener.ora中的內容如下SID_LIST_LISTENER=
(SID_LIST=(SID_DESC=(PROGRAM=extproc)(SID_NAME=PLSExtProc)(ORACLE_HOME=D:\\oradata\\orcl)
)(SID_DESC=
(GLOBAL_DBNAME=orcl)(ORACLE_HOME=D:\\oradata\\orcl)
(SID_NAME=ORCL)
)(SID_DESC=
(GLOBAL_DBNAME=orcl1)(ORACLE_HOME=D:\\oradata\\orcl)
(SID_NAME=ORCL)
))golbal_dbname是數據庫對外供應的服務名,sid
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全文化課件公司介紹
- 電梯合同協議書注意事項
- 老年創業活動策劃方案模板
- 考研網絡平臺創業計劃書
- 2025年智能家居能源管理系統的節能效果與優化策略報告
- 拆除改裝合同協議書模板
- 獸醫診療實訓報告
- 4.3探索三角形全等的條件課件 -2024-2025學年北師大版數學七年級下冊
- 7《納米技術就在我們身邊》課件-2024-2025學年四年級下冊語文統編版
- 拓展培訓機構哪家好002
- 2025年軍隊文職統一考試《專業科目》會計學試卷真題答案解析
- 2025年鐵路集裝箱市場前景分析
- 2024-2025統編版一年級下冊道德與法治期末考試卷及參考答案
- 2024-2025中國商旅管理白皮書
- 小學心理健康家長會課件
- 2025年公共安全管理考試試題及答案
- 淮安城市介紹旅游攻略家鄉介紹
- 2025年安全月主要責任人講安全課件三:安全月主題宣講課件
- 光伏施工安全培訓
- 國企崗位筆試題目及答案
- 餐廳廚房5S管理
評論
0/150
提交評論