oracle監聽動態註冊與靜態註冊[轉帖]
一、什麼是註冊
註冊就是將資料庫作為一個服務註冊到監聽程式中。客戶端不需要知道資料庫名和例項名,只需要知道該資料庫對外提供的服務名就可以申請連結到資料庫。這個服務名可以與資料庫名一樣,也有可能不一樣。
在資料庫服務啟動的過程中,資料庫伺服器會像監聽程式註冊相應的服務,無論何時啟動資料庫,預設的都有兩條資訊註冊到監聽器中,資料庫伺服器對應的例項和服務,客戶端和伺服器之間的連結,只需要提供一個服務名就可以了。
二、區分動態註冊和靜態註冊
(1)使用listener.ora檔案判斷
動態註冊
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:oradataorcl)
)
)
靜態註冊
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:oradataorcl)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:oradataorcl)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl1)
(ORACLE_HOME = D:oradataorcl)
(SID_NAME = ORCL)
)
)
透過檢視雖然可以大致看出,但是這種方法並不能和明確的現實資料庫在執行時的實際情況
(2)使用lsnrctl status命令
三、動態註冊
動態註冊是在instance啟動的時候PMON(Process Monitor程式監視器)程式根據INIT.ORA中的instance_name,service_name兩個引數將例項和服務註冊到監聽器中.
動態註冊時的listener.ora的檔案內容如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:oradataorcl)
)
)
由於動態註冊需要pmon程式,所以監聽必須在資料庫啟動之前啟動,否則動態註冊將失敗;在資料庫執行的過程中,如果重啟監聽也會造成動態註冊失敗
動態註冊只是註冊預設的監聽器上(名稱是listener、埠是1521、協議時TCP),如果需要向非預設的監聽註冊,則需要改變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;
動態註冊的好處是簡單方便,但是容易發生註冊失敗
四、靜態註冊
靜態註冊就是例項啟動時讀取listener.ora檔案的配置,將例項和服務註冊到監聽程式中
靜態註冊時的listener.ora中的內容如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:oradataorcl)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:oradataorcl)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl1)
(ORACLE_HOME = D:oradataorcl)
(SID_NAME = ORCL)
)
)
golbal_dbname是資料庫對外提供的服務名,sid_name是例項名,該檔案說明資料庫是單例項資料庫,例項名為orcl,向外提供了兩個服務orcl和orcl1.
靜態註冊的好處可以總結為
1、監聽不是最早啟動
2、資料庫執行期間,監聽發成重啟
3、oracle例項還沒有open
當發生上述三種情況時,不會發生監聽註冊失敗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1044144/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle監聽動態註冊與靜態註冊Oracle
- Oracle監聽的動態註冊與靜態註冊Oracle
- oracle監聽靜態註冊和動態註冊Oracle
- Oracle監聽的靜態註冊和動態註冊Oracle
- 【監聽】動態註冊和靜態註冊
- oracle監聽之動態和靜態註冊Oracle
- oracle監聽器動態註冊於靜態註冊的區別Oracle
- Oracle Listener 動態註冊 與 靜態註冊Oracle
- Oracle Listener 動態註冊與靜態註冊Oracle
- oracle監聽器的靜態和動態註冊Oracle
- Oracle 動態監聽註冊Oracle
- 轉載:oracle監聽器的靜態和動態註冊Oracle
- oracle 監聽器動態與靜態註冊服務_listenerOracle
- ORACLE 動態註冊,靜態註冊,多個監聽,一個監聽多個埠配置Oracle
- Oracle監聽器的靜態註冊與動態註冊,以及DB_DOMAIN問題OracleAI
- Oracle 靜態監聽註冊詳解Oracle
- 監聽動態註冊
- 動態註冊監聽
- 動態監聽註冊
- Oracle listener靜態註冊和動態註冊Oracle
- oracle的靜態註冊和動態註冊Oracle
- 動態註冊和靜態註冊
- 靜態註冊和動態註冊
- Oracle動態監聽註冊測試Oracle
- rac監聽動態註冊
- 動態註冊監聽Listener
- Oracle listener靜態註冊和動態註冊總結Oracle
- listener的靜態註冊與動態註冊詳述
- 動態和靜態監聽註冊-小魚的理解
- 【原創】Oracle的動態監聽註冊Oracle
- rac監聽不能動態註冊
- oracle listener 靜態和動態註冊Oracle
- 靜態註冊和動態註冊總結(zt)
- listener靜態註冊和動態註冊總結
- oracle監聽【非1521埠】動態註冊Oracle
- HPUX 監聽無法動態註冊UX
- Oracle9i中的監聽動態註冊Oracle
- Oracle10g中的靜態註冊及動態註冊問題Oracle