Oracle體系結構之-Oracle中各種名稱
Oracle體系結構之-Oracle中各種名稱[@more@]
三、資料庫域名與全域性資料庫名
隨著由多個資料庫構成的分散式資料庫的普及,這種命令資料庫的方法給資料庫的管理造成一定的負擔,因為各個資料庫的名字可能一樣,造成管理上的混亂。
為了解決這種情況,引入了Db_domain引數,這樣在資料庫的標識是由Db_name(資料庫名)和 Db_domain(資料庫域名)兩個引數共同決定的,避免了因為資料庫重名而造成管理上的混亂。這類似於互連網上的機器名的管理。
我們將Db_name和 Db_domain兩個引數用‘.’連線起來,表示一個資料庫,並將該資料庫的名稱稱為Global_name(全域性資料庫名),即它擴充套件了Db_name。Db_name引數只能由字母、數字、’_’、’#’、’$’組成,而且最多8個字元。
對一個網路資料庫(Oracle database)的唯一標識,oracle建議用此種方法命令資料庫。該值是在建立資料庫是決定的,預設值為Db_name. Db_domain。在以後對引數檔案中Db_name與Db_domain引數的任何修改不影響Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO命令進行修改,然後修改相應引數。
如何查詢資料庫域名呢?方法有三:
·使用SQL命令:select value from v$parameter where name = 'db_domain';·使用show命令:show parameter domain
·檢視引數檔案:在引數檔案中查詢。
該引數是oracle8i新引進的。在8i以前,我們用SID來表示標識資料庫的一個例項,但是在Oracle的並行環境中,一個資料庫對應多個例項,這樣就需要多個網路服務名,設定繁瑣。為了方便並行環境中的設定,引進了Service_name引數。該引數對應一個資料庫,而不是一個例項。
該引數的預設值為Db_name. Db_domain,即等於Global_name。如果資料庫有域名,則資料庫服務名就是全域性資料庫名;否則,資料庫服務名與資料庫名相同。
注:本文大部分摘自CSDN網友方友松的技術blog,作者blog地址:http://blog.csdn.net/truexf/
一、資料庫名
資料庫名是資料庫的“身份證號碼”,用於標示一個資料庫。在引數檔案中用DB_NAME表示。
資料庫名是在安裝資料庫、建立新的資料庫、建立資料庫控制檔案、修改資料庫結構、備份與恢復資料庫時都需要使用到的。
如何檢視資料庫名呢?方式有三:
·使用SQL語句:select name from v$database;·使用show命令:show parameter db_name;
·檢視引數檔案:檢視init.ora檔案
二、資料庫例項名
資料庫例項名是用於和作業系統進行聯絡的標識,也就是說資料庫和作業系統之間的互動使用的是資料庫例項名。
例項名也被寫入引數檔案中,該引數為instance_name,在winnt平臺中,例項名同時也被寫入登錄檔。
資料庫名和例項名可以相同也可以不同。在一般情況下,資料庫名和例項名是一對一的關係,但如果在oracle並行伺服器架構(即oracle實時應用叢集)中,資料庫名和例項名是一對多的關係。
如何檢視當前資料庫例項名呢?方式有三:
·使用SQL語句:select instance_name from v$instance;·使用show命令:show parameter instance
·檢視引數檔案:檢視init.ora檔案
資料庫例項名與ORACLE_SID兩者都表示oracle例項,但是有區別的。
instance_name是oracle資料庫引數。而ORACLE_SID是作業系統的環境變數。ORACLD_SID用於與作業系統互動,也就是說,從作業系統的角度訪問例項名,必須透過ORACLE_SID。
ORACLE_SID必須與instance_name的值一致。否則,你將會收到一個錯誤。在unix平臺,是“ORACLE not available”,在winnt平臺,是“TNS:協議介面卡錯誤”。
資料庫名是資料庫的“身份證號碼”,用於標示一個資料庫。在引數檔案中用DB_NAME表示。
資料庫名是在安裝資料庫、建立新的資料庫、建立資料庫控制檔案、修改資料庫結構、備份與恢復資料庫時都需要使用到的。
如何檢視資料庫名呢?方式有三:
·使用SQL語句:select name from v$database;·使用show命令:show parameter db_name;
·檢視引數檔案:檢視init.ora檔案
二、資料庫例項名
資料庫例項名是用於和作業系統進行聯絡的標識,也就是說資料庫和作業系統之間的互動使用的是資料庫例項名。
例項名也被寫入引數檔案中,該引數為instance_name,在winnt平臺中,例項名同時也被寫入登錄檔。
資料庫名和例項名可以相同也可以不同。在一般情況下,資料庫名和例項名是一對一的關係,但如果在oracle並行伺服器架構(即oracle實時應用叢集)中,資料庫名和例項名是一對多的關係。
如何檢視當前資料庫例項名呢?方式有三:
·使用SQL語句:select instance_name from v$instance;·使用show命令:show parameter instance
·檢視引數檔案:檢視init.ora檔案
資料庫例項名與ORACLE_SID兩者都表示oracle例項,但是有區別的。
instance_name是oracle資料庫引數。而ORACLE_SID是作業系統的環境變數。ORACLD_SID用於與作業系統互動,也就是說,從作業系統的角度訪問例項名,必須透過ORACLE_SID。
ORACLE_SID必須與instance_name的值一致。否則,你將會收到一個錯誤。在unix平臺,是“ORACLE not available”,在winnt平臺,是“TNS:協議介面卡錯誤”。
三、資料庫域名與全域性資料庫名
隨著由多個資料庫構成的分散式資料庫的普及,這種命令資料庫的方法給資料庫的管理造成一定的負擔,因為各個資料庫的名字可能一樣,造成管理上的混亂。
為了解決這種情況,引入了Db_domain引數,這樣在資料庫的標識是由Db_name(資料庫名)和 Db_domain(資料庫域名)兩個引數共同決定的,避免了因為資料庫重名而造成管理上的混亂。這類似於互連網上的機器名的管理。
我們將Db_name和 Db_domain兩個引數用‘.’連線起來,表示一個資料庫,並將該資料庫的名稱稱為Global_name(全域性資料庫名),即它擴充套件了Db_name。Db_name引數只能由字母、數字、’_’、’#’、’$’組成,而且最多8個字元。
對一個網路資料庫(Oracle database)的唯一標識,oracle建議用此種方法命令資料庫。該值是在建立資料庫是決定的,預設值為Db_name. Db_domain。在以後對引數檔案中Db_name與Db_domain引數的任何修改不影響Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO
如何查詢資料庫域名呢?方法有三:
·使用SQL命令:select value from v$parameter where name = 'db_domain';·使用show命令:show parameter domain
·檢視引數檔案:在引數檔案中查詢。
四、資料庫服務名
該引數是oracle8i新引進的。在8i以前,我們用SID來表示標識資料庫的一個例項,但是在Oracle的並行環境中,一個資料庫對應多個例項,這樣就需要多個網路服務名,設定繁瑣。為了方便並行環境中的設定,引進了Service_name引數。該引數對應一個資料庫,而不是一個例項。
該引數的預設值為Db_name. Db_domain,即等於Global_name。如果資料庫有域名,則資料庫服務名就是全域性資料庫名;否則,資料庫服務名與資料庫名相同。
如何查詢資料庫服務名呢?方法有三:·使用SQL語句:select value from v$parameter where name = 'service_name';·使用show命令:show parameter service_name
·檢視引數檔案:在引數檔案中查詢。
從oracle8i開如的oracle網路元件,資料庫與客戶端的連線主機串使用資料庫服務名。之前用的是ORACLE_SID,即資料庫例項名。
五、網路服務名
網路服務名,又可以稱為資料庫別名(database alias)。是客戶端程式訪問資料庫時所需要,遮蔽了客戶端如何連線到伺服器端的細節,實現了資料庫的位置透明的特性。網路服務名被記錄在tnsnames.ora檔案中。
網路服務名是從客戶端的角度出發,當客戶端連線遠端資料庫或其他服務時,可以指定Net服務名。因此需要使用一個或多個命名方法將此Net服務名解析為連線資料庫或其他服務的連線描述符。
通常選擇的是[本地]-將儲存在本地客戶機的tnsnames.ora檔案中的網路服務名解析為連線描述符。
[Oracle Names]-由Oracle名字伺服器提供為網路上的每個Oracle Net服務提供解析方法
[主機名]-透過TCP/IP環境中的主機別名連線到Oracle資料庫服務
[Sun NIS]/[DCE CDS]-專用系統用的,在Windows 2000系統環境下不適用
六、總結
網路服務名是從客戶端的角度出發,當客戶端連線遠端資料庫或其他服務時,可以指定Net服務名。因此需要使用一個或多個命名方法將此Net服務名解析為連線資料庫或其他服務的連線描述符。
通常選擇的是[本地]-將儲存在本地客戶機的tnsnames.ora檔案中的網路服務名解析為連線描述符。
[Oracle Names]-由Oracle名字伺服器提供為網路上的每個Oracle Net服務提供解析方法
[主機名]-透過TCP/IP環境中的主機別名連線到Oracle資料庫服務
[Sun NIS]/[DCE CDS]-專用系統用的,在Windows 2000系統環境下不適用
六、總結
名稱 | 查詢方式 |
資料庫名 | select name from v$database |
資料庫例項名 | select instance_name from v$instance |
資料庫域名 | select value from v$parameter where name="db_domain" |
資料庫服務名 | select value from v$parameter where name="service_name" |
全域性資料庫名 | 資料庫名.資料庫域名 |
網路服務名 | 檢查tnsnames.ora檔案 |
ORACLE_SID | 和資料庫例項名一致 |
注:本文大部分摘自CSDN網友方友松的技術blog,作者blog地址:http://blog.csdn.net/truexf/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199667/viewspace-1008684/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle體系結構梳理----各種程式Oracle
- Oracle體系結構之-物理結構Oracle
- Oracle體系結構之-記憶體結構Oracle記憶體
- Oracle體系結構之-Oracle後臺程式Oracle
- Oracle體系結構之記憶體結構(SGA、PGA)Oracle記憶體
- oracle體系結構Oracle
- ORACLE體系結構小結Oracle
- oracle體系結構總結Oracle
- oracle體系結構(轉)Oracle
- ORACLE-體系結構Oracle
- Oracle體系結構梳理Oracle
- Oracle 體系結構圖Oracle
- oracle體系結構(1)Oracle
- oracle體系結構(2)Oracle
- oracle體系結構(3)Oracle
- 【Oracle體系結構】 Oracle19C 系統結構介紹Oracle
- ORACLE之常用FAQ:ORACLE構架體系Oracle
- oracle 各種遷移總結Oracle
- Oracle記憶體體系結構Oracle記憶體
- 3:Oracle體系結構(邏輯結構)Oracle
- oracle體系結構概覽Oracle
- Oracle 體系結構介紹Oracle
- Oracle系列:Oracle RAC叢集體系結構Oracle
- [ADMIN]oracle入門-oracle體系結構Oracle
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- Oracle體系結構部落格連結Oracle
- Oracle例項和Oracle資料庫(Oracle體系結構)Oracle資料庫
- Oracle之結構Oracle
- Oracle OCP(37):Database 體系結構OracleDatabase
- Oracle 11g體系結構Oracle
- Oracle體系結構理論篇Oracle
- Oracle 12C 體系結構Oracle
- Oracle資料庫體系結構Oracle資料庫
- 【00】Oracle體系結構詳解Oracle
- Oracle RAC 體系結構--儲存Oracle
- Oracle 體系結構介紹(轉)Oracle
- Oracle 體系結構 SGA 和PGA 總結Oracle
- oracle 查詢結果的各種格式Oracle