隨筆-314  評論-209  文章-0  trackbacks-0

          一、數(shù)據(jù)庫名

            數(shù)據(jù)庫名是數(shù)據(jù)庫的“身份證號碼”,用于標示一個數(shù)據(jù)庫。在參數(shù)文件中用DB_NAME表示。

            數(shù)據(jù)庫名是在安裝數(shù)據(jù)庫、創(chuàng)建新的數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫控制文件、修改數(shù)據(jù)庫結構、備份與恢復數(shù)據(jù)庫時都需要使用到的。

            如何查看數(shù)據(jù)庫名呢?方式有三:

            ·使用SQL語句:select name from v$database;

            ·使用show命令:show parameter db_name;

            ·查看參數(shù)文件:查看init.ora文件

            二、數(shù)據(jù)庫實例名:

            數(shù)據(jù)庫實例名是用于和操作系統(tǒng)進行聯(lián)系的標識,也就是說數(shù)據(jù)庫和操作系統(tǒng)之間的交互使用的是數(shù)據(jù)庫實例名。

            實例名也被寫入參數(shù)文件中,該參數(shù)為instance_name,在winnt平臺中,實例名同時也被寫入注冊表。

            數(shù)據(jù)庫名和實例名可以相同也可以不同。在一般情況下,數(shù)據(jù)庫名和實例名是一對一的關系,但如果在oracle并行服務器架構(即oracle實時應用集群)中,數(shù)據(jù)庫名和實例名是一對多的關系。

            如何查看當前數(shù)據(jù)庫實例名呢?方式有三:

            ·使用SQL語句:select instance_name from v$instance;

            ·使用show命令:show parameter instance

            ·查看參數(shù)文件:查看init.ora文件

            數(shù)據(jù)庫實例名與ORACLE_SID兩者都表示oracle實例,但是有區(qū)別的。instance_name是oracle數(shù)據(jù)庫參數(shù)。而ORACLE_SID是操作系統(tǒng)的環(huán)境變量。ORACLD_SID用于與操作系統(tǒng)交互,也就是說,從操作系統(tǒng)的角度訪問實例名,必須通過ORACLE_SID。

            ORACLE_SID必須與instance_name的值一致。否則,你將會收到一個錯誤。在unix平臺,是“ORACLE not available”,在winnt平臺,是“TNS:協(xié)議適配器錯誤”。

            三、數(shù)據(jù)庫域名與全局數(shù)據(jù)庫名

            隨著由多個數(shù)據(jù)庫構成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的管理造成一定的負擔,因為各個數(shù)據(jù)庫的名字可能一樣,造成管理上的混亂。

            為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標識是由Db_name(數(shù)據(jù)庫名)和 Db_domain(數(shù)據(jù)庫域名)兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成管理上的混亂。這類似于互連網上的機器名的管理。

            我們將Db_name和 Db_domain兩個參數(shù)用‘.’連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name(全局數(shù)據(jù)庫名),即它擴展了Db_name。Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個字符。

            對一個網絡數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO 命令進行修改,然后修改相應參數(shù)。

            如何查詢數(shù)據(jù)庫域名呢?方法有三:

            ·使用SQL命令:select value from v$parameter where name = ´db_domain´;

            ·使用show命令:show parameter domain

            ·查看參數(shù)文件:在參數(shù)文件中查詢。

          四、數(shù)據(jù)庫服務名

            該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應多個實例,這樣就需要多個網絡服務名,設置繁瑣。為了方便并行環(huán)境中的設置,引進了Service_name參數(shù)。該參數(shù)對應一個數(shù)據(jù)庫,而不是一個實例。

            該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。如果數(shù)據(jù)庫有域名,則數(shù)據(jù)庫服務名就是全局數(shù)據(jù)庫名;否則,數(shù)據(jù)庫服務名與數(shù)據(jù)庫名相同。

            如何查詢數(shù)據(jù)庫服務名呢?方法有三:

            ·使用SQL語句:select value from v$parameter where name = ´service_name´;

            ·使用show命令:show parameter service_name

            ·查看參數(shù)文件:在參數(shù)文件中查詢。

            從oracle8i開如的oracle網絡組件,數(shù)據(jù)庫與客戶端的連接主機串使用數(shù)據(jù)庫服務名。之前用的是ORACLE_SID,即數(shù)據(jù)庫實例名。

            五、網絡服務名

            網絡服務名,又可以稱為數(shù)據(jù)庫別名(database alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務器端的細節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性。網絡服務名被記錄在tnsnames.ora文件中。

            網絡服務名是從客戶端的角度出發(fā),當客戶端連接遠程數(shù)據(jù)庫或其他服務時,可以指定Net服務名。因此需要使用一個或多個命名方法將此Net服務名解析為連接數(shù)據(jù)庫或其他服務的連接描述符。

            通常選擇的是[本地]-將存儲在本地客戶機的tnsnames.ora文件中的網絡服務名解析為連接描述符。

            [Oracle Names]-由Oracle名字服務器提供為網絡上的每個Oracle Net服務提供解析方法

            [主機名]-通過TCP/IP環(huán)境中的主機別名連接到Oracle數(shù)據(jù)庫服務

            [Sun NIS]/[DCE CDS]-專用系統(tǒng)用的,在Windows 2000系統(tǒng)環(huán)境下不適用

            六、總結

            Oracle中各種命名的比較名稱查詢方式  

          名稱

          查詢方式

          DB_NAME select name from v$database
          INSTANCE_NAME select instance_name from v$instance
          ORACLE_SID 值和INSTANCE_NAME相同
          DB_DOMAIN select value from v$parameter where name="db_domain"
          GLOBAL_NAME DB_NAME.DB_DOMAIN
          SERVICE_NAME select value from v$parameter where name="service_name"
          NET_SERVICE_NAME 檢查tnsnames.ora文件

          posted on 2008-05-31 15:18 xzc 閱讀(545) 評論(2)  編輯  收藏 所屬分類: Oracle

          評論:
          # re: Oracle體系結構之-Oracle中各種名稱 2008-05-31 15:19 | xzc
          Db_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標識,該數(shù)據(jù)庫為第一章講到的Oracle database。這種表示對于單個數(shù)據(jù)庫是足夠的,但是隨著由多個數(shù)據(jù)庫構成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的管理造成一定的負擔,因為各個數(shù)據(jù)庫的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標識是由Db_name和Db_domain兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成管理上的混亂。這類似于互連網上的機器名的管理。我們將Db_name和Db_domain兩個參數(shù)用’.’連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name,即它擴展了Db_name。Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個字符。

          Db_domain:定義一個數(shù)據(jù)庫所在的域,該域的命名同互聯(lián)網的’域’沒有任何關系,只是數(shù)據(jù)庫管理員為了更好的管理分布式數(shù)據(jù)庫而根據(jù)實際情況決定的。當然為了管理方便,可以將其等于互聯(lián)網的域。

          Global_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令進行修改,然后修改相應參數(shù)。

          Service_name:該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應多個實例,這樣就需要多個網絡服務名,設置繁瑣。為了方便并行環(huán)境中的設置,引進了Service_name參數(shù),該參數(shù)對應一個數(shù)據(jù)庫,而不是一個實例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。一個數(shù)據(jù)庫可以對應多個Service_name,以便實現(xiàn)更靈活的配置。該參數(shù)與SID沒有直接關系,即不必Service name 必須與SID一樣。

          Net service name:網絡服務名,又可以稱為數(shù)據(jù)庫別名(database alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務器端的細節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性  回復  更多評論
            
          # re: Oracle體系結構之-Oracle中各種名稱 2008-05-31 15:20 | xzc
          select * from v$database;
          select * from v$instance;
          select * from v$parameter;  回復  更多評論
            
          主站蜘蛛池模板: 泽库县| 嘉善县| 灌南县| 民县| 景泰县| 启东市| 韶山市| 江华| 灵山县| 松桃| 塔城市| 宣化县| 开化县| 雷州市| 英山县| 绥阳县| 台山市| 闽清县| 新绛县| 图木舒克市| 淄博市| 沁源县| 化州市| 巴彦淖尔市| 临安市| 雅安市| 内乡县| 台北市| 新宁县| 陵川县| 政和县| 织金县| 图木舒克市| 玉田县| 双鸭山市| 吉林省| 崇阳县| 广州市| 大方县| 永登县| 石阡县|