亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle Listener 動態注冊 與 靜態注冊

2024-08-29 13:58:36
字體:
來源:轉載
供稿:網友
注冊就是將數據庫作為一個服務注冊到監聽程序??蛻舳瞬恍枰罃祿烀蛯嵗?,只需要知道該數據庫對外提供的服務名就可以申請連接到數據庫
 

一.什么是注冊

注冊就是將數據庫作為一個服務注冊到監聽程序??蛻舳瞬恍枰罃祿烀蛯嵗?,只需要知道該數據庫對外提供的服務名就可以申請連接到數據庫。這個服務名可能與實例名一樣,也有可能不一樣。

  在數據庫服務器啟動過程中,數據庫服務器會向監聽程序注冊相應的服務(無論何時啟動一個數據庫,默認地都有兩條信息注冊到監聽器中:數據庫服務器對應的實例和服務。)

  相當于是這樣:在數據庫服務器和客戶端之間有一監聽程序(Listener),在監聽程序中,會記錄相應數據庫對應的服務名(一個數據庫可能對應有多個服務名),當客戶端需要連接數據庫時,只需要提供服務名,就可以建立客戶端和服務器之間的連接。

二、動態注冊

  動態注冊是在instance啟動的時候PMON進程根據init.ora中的instance_name,service_names兩個參數將實例和服務動態注冊到listener中。

  首先要在init.ora中指定instance_name,service_names兩個參數的值。在sqlplus下通過show parameter service_names 和show parameter instance_name可以查看這兩個參數的值。

  注冊到監聽器中的實例值從init.ora文件中的instance_name參數取得。如果該參數沒有設定值,那么它將取init.ora文件中的db_name的值。如果在RAC中配置,您必須將集群中每個實例的instance_name參數設置為一個唯一的值。

  注冊到監聽器中的服務值從init.ora文件中的參數service_names取得。如果該參數沒有設定值,數據庫將拼接init.ora文件中的 db_name和db_domain的值來注冊自己。如果選擇提供service_names值,您可以使用完全限定的名稱(比如 orcl.oracle.com)或縮寫的名稱(比如orcl)。如果選擇縮寫的名稱并設置了db_domain參數,注冊到監聽器中的服務將是 service_name值和db_domain值的拼接。例如下面的設置將導致服務orcl.oracle.com被注冊到監聽器中:

db_domain=oracle.com
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),因為pmon只會動態注冊port等于1521的監聽,否則pmon不能動態注冊listener,如果需要向非默認監聽注冊,則需要配置local_listener參數!

將監聽的信息添加到tnsnames.ora  文件中。 注意,是tnsnames.ora 文件, 因為pmon在動態注冊監聽時要從tnsnames.ora中讀取相關信息。

LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = DaveDai)(PORT = 1522)))

然后以sys用戶運行:

SQL> alter system set local_listener=listener;SQL> alter system register;

 或者:

SQL> alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL = TCP)(HOST = DaveDai)(PORT = 1522))';SQL> alter system register;

系統已更改。

$lsnrctl status listener

  如果沒有顯式設置service_names和instance_name的值,那么僅當數據庫在監聽器運行之后啟動時,動態注冊才會發生;在這種情況下,如果監聽器后來發生了重啟,動態注冊信息將會丟失。顯然,最好在所有的數據庫啟動之前先啟動監聽器,這樣就會避免沒有顯式設置 service_names和instance_name的值時,若重啟監聽器帶來的動態注冊信息丟失的情況。

為初始化參數service_names和instance_name設置顯式的值是個很好的實踐,盡管如果您沒有設置它們,Oracle也會為動態注冊而生成默認值(基于db_name和db_main)。這樣做的原因是,如果監聽器在數據庫啟動之后重新啟動,其動態注冊行為將會有一些微妙的區別.如果監聽器在數據庫運行之后重新啟動,你們僅當您在init.ora文件中顯式地設置了service_names和instance_name的值時,每個數據庫的PMON進程才會在很短的時間之后自動注冊數據庫。

如果需要執行連接時故障轉移或負載均衡,或者想要在RAC中配置在實例之間透明地分布連接,那么使用service_names參數將是必要的。為啟用這些功能,您只需要將每個實例的數據庫參數文件中的service_names設置為同一個值,并在客戶端連接請求的service_name設置中引用該值。

如果沒有顯式設置service_names和instance_name的值,那么僅當數據庫在監聽器運行之后啟動時,動態注冊才會發生;在這種情況下,如果監聽器后來發生了重啟,動態注冊信息將會丟失。顯然,最后在啟動任何數據庫之前啟動服務器上的監聽器,并完全避免監聽器的重啟。

另外,您還可以在SQL*PLUS中使用命令:

SQL>ALTER SYSTEM REGISTER;

在數據庫打開時的任何時候,手工地在監聽器中注冊服務值。這個命令對于替換因監聽器重啟而丟失地服務值很有用,并且它所注冊地值與在數據庫啟動時由動態注冊所設置的值完全一樣。

動態監聽:

  oracle監聽器運行后,oracle實例在open時,會動態向監聽程序注冊其service_names和instance_name。

  其中instance_name默認是:db_name

  而service_names默認是:db_name.db_domain

  三、靜態注冊

  靜態注冊就是實例啟動時讀取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

靜態監聽:

  oracle實例運行后,監聽程序啟動時,根據listener.ora的配置注冊相應的服務。

  其中global_dbname對應的是oracle對外的服務名,即初始化參數里的service_names

而sid_name對應的是oralce實例的名稱,即初始化參數里的instance_name

既然有動態監聽為什么還要靜態監聽呢?原因如下:

  1.監聽器不是最早啟動,oracle實例先啟動

  2.監聽器重啟 

  3.oracle實例沒有open

  四、查詢某服務是靜態注冊還是動態注冊

  可以使用命令lsnrctl status來查看某服務是靜態注冊還是動態注冊。

  實例狀態為UNKNOWN值時表明此服務是靜態注冊的設置。這時監聽器用來表明它不知道關于該實例的任何信息,只有當客戶發出連接請求時,它才檢查該實例是否存在。

  動態注冊的數據庫通過狀態信息中的狀態READY或狀態BLOCKED(對于一個備用數據庫)來指明。不管關閉何時數據庫,動態注冊的數據庫都會動態地從 監聽器注銷,而與之相關的信息將從狀態列表中消失。這樣,不管數據庫是在運行還是已經關閉,監聽器總是知道它的狀態。該信息將被用于連接請求的回退(fallback)和負載平衡。



注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人激情图| 亚洲人成电影网站色www| 亚洲女人天堂av| 国产成人精品久久久| 51精品国产黑色丝袜高跟鞋| 精品毛片网大全| 日韩网站免费观看高清| 美日韩在线视频| 欧美激情视频播放| 日韩av在线看| 国产一区二区三区精品久久久| 亚洲综合在线做性| 欧美激情一区二区三区久久久| 久久人人爽人人爽人人片亚洲| 日韩在线免费观看视频| 亚洲欧美三级在线| 97婷婷涩涩精品一区| 国产日韩欧美91| 亚洲精品电影在线观看| 日韩免费在线电影| 久久高清视频免费| 日本久久精品视频| 亚洲欧洲激情在线| 成人黄色av播放免费| 欧美日韩国产中文精品字幕自在自线| 国产精品女人网站| 欧美精品在线观看| 国产婷婷色综合av蜜臀av| 97久久精品国产| 美女撒尿一区二区三区| 91亚洲精品久久久久久久久久久久| 91夜夜未满十八勿入爽爽影院| 国产精品视频1区| 大荫蒂欧美视频另类xxxx| 欧美xxxwww| 欧美性极品xxxx娇小| 国产精品久久久久久婷婷天堂| 亚洲天堂一区二区三区| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲男人天堂视频| 亚洲高清一区二| 91老司机在线| 欧美日韩免费在线观看| 亚洲精品一区二区在线| 大桥未久av一区二区三区| 亚洲国产福利在线| 欧美日韩另类视频| xxx成人少妇69| 性欧美长视频免费观看不卡| 成人黄色短视频在线观看| 日韩亚洲一区二区| 欧美日韩国产专区| 91av免费观看91av精品在线| 91精品久久久久久| 最近日韩中文字幕中文| 91久久精品国产91久久性色| 久久男人的天堂| 91精品国产综合久久香蕉922| 亚洲国产高清高潮精品美女| 精品视频在线播放| 亚洲精品久久视频| 亚洲人成在线观| 亚洲xxxx做受欧美| 亚洲综合视频1区| 欧美亚洲成人精品| 91欧美视频网站| 久久精品国产视频| 日韩69视频在线观看| 欧美中文字幕精品| 国产一区二区精品丝袜| 日韩大片在线观看视频| 日韩女优人人人人射在线视频| 91性高湖久久久久久久久_久久99| 欧美国产视频一区二区| 97视频在线观看视频免费视频| 日韩av最新在线观看| 不卡av电影院| 精品国产老师黑色丝袜高跟鞋| 亚洲美女久久久| 88国产精品欧美一区二区三区| 久久久久久69| 久久影视免费观看| 亚洲第一中文字幕在线观看| 91精品国产91久久久久久吃药| 日韩网站在线观看| 中文字幕在线日韩| 高清视频欧美一级| 91九色精品视频| 日本老师69xxx| 中文字幕免费精品一区高清| 91精品在线一区| 久久久国产一区二区三区| 日韩经典一区二区三区| 精品久久久久久久久中文字幕| 热久久美女精品天天吊色| 久久久精品中文字幕| 欧美一性一乱一交一视频| 亚洲第一天堂无码专区| 成人免费大片黄在线播放| 亚洲国产欧美在线成人app| 69久久夜色精品国产69乱青草| 欧美日韩午夜剧场| 欧美亚洲国产精品| 一本大道亚洲视频| 97在线视频观看| 九九热视频这里只有精品| 第一福利永久视频精品| 国产不卡av在线| 日韩美女视频在线观看| 一区二区欧美激情| 中文字幕欧美日韩精品| 久久99精品国产99久久6尤物| 66m—66摸成人免费视频| 欧美大片在线免费观看| 欧美性xxxx极品hd欧美风情| 国产日韩综合一区二区性色av| 在线日韩av观看| 久久国内精品一国内精品| 黑人巨大精品欧美一区二区免费| 欧美一二三视频| 黑人巨大精品欧美一区二区| 亚洲深夜福利在线| 岛国av一区二区在线在线观看| 一级做a爰片久久毛片美女图片| 91久久精品国产91久久| 久久久国产精品亚洲一区| 琪琪亚洲精品午夜在线| 精品中文字幕在线| 欧美成人免费视频| 中文字幕亚洲国产| 91中文字幕一区| 国产精品尤物福利片在线观看| 国产精品夜色7777狼人| 亚洲欧美日韩精品久久亚洲区| 91精品国产免费久久久久久| 亚洲精品成人免费| 国产精品日韩一区| 亚洲人成在线播放| 岛国av一区二区在线在线观看| 日韩专区在线观看| 亚洲人高潮女人毛茸茸| 日本精品免费一区二区三区| 国产欧美一区二区三区四区| 黄色一区二区在线观看| 国产视频精品自拍| 国产免费一区视频观看免费| 伊人一区二区三区久久精品| 成人免费视频在线观看超级碰| 精品美女久久久久久免费| 亚洲综合日韩中文字幕v在线| 国产一区二区三区日韩欧美| 亚洲精品美女在线观看| 欧洲成人免费aa| 亚洲欧美一区二区三区久久| 国产美女久久精品| 久久久中文字幕| 亚洲欧美福利视频| 欧美三级xxx| 欧美激情va永久在线播放| 午夜精品三级视频福利| 亚洲欧洲偷拍精品| 日本久久久a级免费| 色偷偷亚洲男人天堂| 欧美激情videos|