kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
          http://chinaunix.net/jh/19/348162.html
          最近因看到論壇有人問起這方面的東西,將自己的理解加上查閱相關資料整理如下,如果不全或不當?shù)牡胤剑刚⒀a全它。

          數(shù)據(jù)庫名(DB_NAME)、實例名(Instance_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)

          在ORACLE7、8數(shù)據(jù)庫中只有數(shù)據(jù)庫名(db_name)和數(shù)據(jù)庫實例名(instance_name)。在ORACLE8i、9i中出現(xiàn)了新的參數(shù),即數(shù)據(jù)庫域名(db_domain)、服務名(service_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)。這些都存在于同一個數(shù)據(jù)庫中的標識,用于區(qū)分不同數(shù)據(jù)庫的參數(shù)。

          一、什么是數(shù)據(jù)庫名(db_name)?
          數(shù)據(jù)庫名是用于區(qū)分數(shù)據(jù)的內(nèi)部標識,是以二進制方式存儲于數(shù)據(jù)庫控制文件中的參數(shù),在數(shù)據(jù)安裝或創(chuàng)建之后將不得修改。數(shù)據(jù)庫安裝完成后,該參數(shù)被寫入數(shù)據(jù)庫參數(shù)文件pfile中,格式如下:

          [code:1:1aaf156970]
          .........
          db_name="orcl"     #(不允許修改)
          db_domain=dbcenter.toys.com
          instance_name=orcl
          service_names=orcl.dbcenter.toys.com
          control_file=(...............
          .........
          [/code:1:1aaf156970]

          在每一個運行的ORACLE8i數(shù)據(jù)庫中都有一個數(shù)據(jù)庫名(db_name),如果一個服務器程序中創(chuàng)建了兩個數(shù)據(jù)庫,則有兩個數(shù)據(jù)庫名。其控制參數(shù)據(jù)分屬在不同的pfile中控制著相關的數(shù)據(jù)庫。

          二、什么是數(shù)據(jù)庫實例名(instance_name)
          數(shù)據(jù)庫實例名則用于和操作系統(tǒng)之間的聯(lián)系,用于對外部連接時使用。在操作系統(tǒng)中要取得與數(shù)據(jù)庫之間的交互,必須使用數(shù)據(jù)庫實例名。例如,要和某一個數(shù)據(jù)庫server連接,就必須知道其數(shù)據(jù)庫實例名,只知道數(shù)據(jù)庫名是沒有用的,與數(shù)據(jù)庫名不同,在數(shù)據(jù)安裝或創(chuàng)建數(shù)據(jù)庫之后,實例名可以被修改。數(shù)據(jù)庫安裝完成后,該實例名被寫入數(shù)據(jù)庫參數(shù)文件pfile中,格式如下:
          [code:1:1aaf156970]
          db_name="orcl"     #(不允許修改)
          db_domain=dbcenter.toys.com
          instance_name=orcl  #(可以修改,可以與db_name相同也可不同)
          service_names=orcl.dbcenter.toys.com
          control_file=(...............
          .........
          [/code:1:1aaf156970]
          數(shù)據(jù)庫名與實例名之間的關系。
          數(shù)據(jù)庫名與實例名之間的關系一般是一一對應關系,有一個數(shù)據(jù)庫名就有一個實例名,如果在一個服務器中創(chuàng)建兩個數(shù)據(jù)庫,則有兩個數(shù)據(jù)庫名,兩個數(shù)據(jù)庫實例名,用兩個標識確定一個數(shù)據(jù)庫,用戶和實例相連接。
          但在8i、9i的并行服務器結構中,數(shù)據(jù)庫與實例之間不存在一一對應關系,而是一對多關系,(一個數(shù)據(jù)庫對應多個實例,同一時間內(nèi)用戶只一個實例相聯(lián)系,當某一實例出現(xiàn)故障,其它實例自動服務,以保證數(shù)據(jù)庫安全運行。)

          三、操作系統(tǒng)環(huán)境變量(ORACLE_SID)
          在實際中,對于數(shù)據(jù)庫實例名的描述有時使用實例名(instance_name)參數(shù),有時使用ORACLE_SID參數(shù)。這兩個都是數(shù)據(jù)庫實例名,它們有什么區(qū)別呢?(經(jīng)常弄混)
          [code:1:1aaf156970]

                (ORACLE_SID)
          OS<----------------> ORACLE 數(shù)據(jù)庫 <--------(Instance_name(實例名))

          [/code:1:1aaf156970]
          上圖表示實例名instance_name、ORACLE_SID與數(shù)據(jù)庫及操作系統(tǒng)之間的關系,雖然這里列出的兩個參數(shù)都是數(shù)據(jù)庫實例名,但instance_name參數(shù)是ORACLE數(shù)據(jù)庫的參數(shù),此參數(shù)可以在參數(shù)文件中查詢到,而ORACLE_SID參數(shù)則是操作系統(tǒng)環(huán)境變量。
          操作系統(tǒng)環(huán)境變量ORACLE_SID用于和操作系統(tǒng)交互。也就是說,在操作系統(tǒng)中要想得到實例名,就必須使用ORACLE_SID。此參數(shù)與ORACLE_BASE、ORACLE_HOME等用法相同。在數(shù)據(jù)庫安裝之后,ORACLE_SID被用于定義數(shù)據(jù)庫參數(shù)文件的名稱。如:
          $ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。
          定義方法:
          [code:1:1aaf156970]
          export ORACLE_SID=orcl
          [/code:1:1aaf156970]

          如果在同一服務器中創(chuàng)建了多個數(shù)據(jù)庫,則必然同時存在多個數(shù)據(jù)庫實例,這時可以重復上述定義過程,以選擇不同實例。

          還可以用
          [code:1:1aaf156970]
          [oracle@Datacent]$ . oraenv
          [/code:1:1aaf156970]

          來切換不同的ORACLE_SID來通過操作系統(tǒng)來啟動不同的實例(instance)

          謝謝   :em03:

          posted on 2005-09-04 17:49 笨笨 閱讀(2047) 評論(0)  編輯  收藏 所屬分類: ALLOracle
          主站蜘蛛池模板: 鹤峰县| 南通市| 龙海市| 兴和县| 巩留县| 阳朔县| 双柏县| 台前县| 江津市| 会宁县| 津南区| 汾阳市| 新宾| 巴楚县| 馆陶县| 普兰县| 梁平县| 溧水县| 大厂| 菏泽市| 玉田县| 马山县| 娱乐| 蒙山县| 关岭| 昌乐县| 麻栗坡县| 道孚县| 和政县| 洪湖市| 林周县| 阳曲县| 济南市| 黄陵县| 延边| 阿合奇县| 苏尼特左旗| 无极县| 收藏| 礼泉县| 武隆县|