IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → ORACLE數(shù)據(jù)庫名、實例名、ORACLE_SID的區(qū)別

ORACLE數(shù)據(jù)庫名、實例名、ORACLE_SID的區(qū)別

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

  數(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)、服務(wù)名(service_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)。這些都存在于同一個數(shù)據(jù)庫中的標(biāo)識,用于區(qū)分不同數(shù)據(jù)庫的參數(shù)。

  一、什么是數(shù)據(jù)庫名(db_name)?

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

  .........

  db_name="orcl" #(不允許修改)

  db_domain=dbcenter.toys.com

  instance_name=orcl

  service_names=orcl.dbcenter.toys.com

  control_file=(...............

  .........

  在每一個運行的ORACLE8i數(shù)據(jù)庫中都有一個數(shù)據(jù)庫名(db_name),如果一個服務(wù)器程序中創(chuàng)建了兩個數(shù)據(jù)庫,則有兩個數(shù)據(jù)庫名。其控制參數(shù)據(jù)分屬在不同的pfile中控制著相關(guān)的數(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中,格式如下:

  db_name="orcl" #(不允許修改)

  db_domain=dbcenter.toys.com

  instance_name=orcl #(可以修改,可以與db_name相同也可不同)

  service_names=orcl.dbcenter.toys.com

  control_file=(...............

  .........

  數(shù)據(jù)庫名與實例名之間的關(guān)系。

  數(shù)據(jù)庫名與實例名之間的關(guān)系一般是一一對應(yīng)關(guān)系,有一個數(shù)據(jù)庫名就有一個實例名,如果在一個服務(wù)器中創(chuàng)建兩個數(shù)據(jù)庫,則有兩個數(shù)據(jù)庫名,兩個數(shù)據(jù)庫實例名,用兩個標(biāo)識確定一個數(shù)據(jù)庫,用戶和實例相連接。

  但在8i、9i的并行服務(wù)器結(jié)構(gòu)中,數(shù)據(jù)庫與實例之間不存在一一對應(yīng)關(guān)系,而是一對多關(guān)系,(一個數(shù)據(jù)庫對應(yīng)多個實例,同一時間內(nèi)用戶只一個實例相聯(lián)系,當(dāng)某一實例出現(xiàn)故障,其它實例自動服務(wù),以保證數(shù)據(jù)庫安全運行。)

  三、操作系統(tǒng)環(huán)境變量(ORACLE_SID)

  在實際中,對于數(shù)據(jù)庫實例名的描述有時使用實例名(instance_name)參數(shù),有時使用ORACLE_SID參數(shù)。這兩個都是數(shù)據(jù)庫實例名,它們有什么區(qū)別呢?(經(jīng)常弄混)

  (ORACLE_SID)

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

  上圖表示實例名instance_name、ORACLE_SID與數(shù)據(jù)庫及操作系統(tǒng)之間的關(guān)系,雖然這里列出的兩個參數(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。

  定義方法:

  export ORACLE_SID=orcl

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

  還可以用

  [oracle@Datacent]$ . oraenv

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

關(guān)鍵詞標(biāo)簽:ORACLE,數(shù)據(jù)庫名

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法