成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle靜態注冊和動態注冊

數據庫 Oracle
Oracle數據庫靜態注冊和動態注冊是對很多人來說都是比較陌生的,下文中將為大家重點講解Oracle靜態注冊和動態注冊。

一、什么是注冊?

注冊就是將數據庫作為一個服務注冊到監聽程序。客戶端不需要知道數據庫名和實例名,只需要知道該數據庫對外提供的服務名就可以申請連接到數據庫。這個服務名可能與實例名一樣,也有可能不一樣。

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

相當于是這樣:在數據庫服務器和客戶端之間有一監聽程序(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下通過show parameter service_names 和show parameter instance_name可以查看這兩個參數的值。

注冊到監聽器中的實例值從init.ora文件中的instance_name參數取得。如果該參數沒有設定值,那么它將取init.ora文件中的db_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),如果需要向非默認監聽注冊,則需要配置local_listener參數!

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

為初始化參數service_names和instance_name設置顯式的值是個值得可取的方法和建議。因為如果監聽器在數據庫運行過程中要重新啟 動,僅當你在init.ora文件中顯式地設置了service_names和instance_name的值時,每個數據庫的PMON進程才會在很短的 時間之內完成動態注冊。

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

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

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

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

關于Oracle動態注冊和動態注冊就為大家講解這么多,希望大家通過上文的學習都能夠很熟練地掌握這個注冊的知識點,相信這方面的知識在以后的工作中會是非常有用的。

 

責任編輯:迎迎 來源: 電腦初學網
相關推薦

2022-05-24 06:14:41

動態服務靜態服務oracle

2017-04-24 23:22:23

2013-07-30 14:08:23

Windows PhoWindows Pho

2022-04-11 08:25:37

XMLSQL語句Mybatis

2009-08-31 09:20:37

C#事件注冊和注銷

2009-10-09 13:51:00

CCNA注冊方法CCNA

2011-07-25 16:54:52

Oracle數據庫注冊監聽

2023-04-28 07:52:14

CAPEureka注冊中心

2009-07-09 11:21:40

Servlet注冊

2011-06-09 11:11:35

QT 靜態庫 動態庫

2011-08-04 16:37:09

注冊表編輯器注冊表

2011-08-04 18:27:55

注冊表

2022-04-06 09:10:40

映射器代理類接口

2012-06-12 13:24:19

.cn域名

2025-02-12 08:57:43

Spring動態注冊組件

2009-09-14 18:14:22

2011-11-30 17:05:15

IBM

2021-07-09 06:48:30

注冊源碼解析

2021-07-12 08:00:21

Nacos 服務注冊源碼分析

2018-05-16 08:59:45

谷歌域名APP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品一 | 国产精品一区久久久 | 一区二区精品 | 99免费精品 | 亚洲一区二区三区在线视频 | 国产在线一区二区三区 | 神马久久久久久久久久 | 久久精品久久久久久 | 国产精品不卡 | 综合精品久久久 | 91精品国产91久久久久久吃药 | 亚洲国产精品久久久久秋霞不卡 | 久久久美女 | 欧美黄色网络 | 亚洲国产成人精品女人久久久 | av福利网| 久久精品欧美一区二区三区不卡 | 精品久久久久久久久久久久久久 | 欧美日韩在线观看一区二区三区 | 不卡欧美| 欧美伊人影院 | 极品久久 | 成人小视频在线 | 91亚洲精选 | 日韩一级精品视频在线观看 | 国产91视频一区二区 | 国产欧美二区 | 欧美日韩在线一区二区 | 午夜男人视频 | 亚洲福利在线视频 | 久久精品亚洲精品 | 日日碰碰| 国产欧美日韩在线一区 | sese视频在线观看 | 久久久免费毛片 | 视频精品一区二区三区 | 美国黄色一级片 | 国产精品美女在线观看 | 黄网站免费在线观看 | 久久国产视频播放 | 国产精品亚洲第一区在线暖暖韩国 |