導(dǎo)讀:
最近因看到論壇有人問起這方面的東西,將自己的理解加上查閱相關(guān)資料整理如下,如果不全或不當(dāng)?shù)牡胤剑刚⒀a(bǔ)全它。
數(shù)據(jù)庫名(DB_NAME)、實(shí)例名(Instance_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)
在ORACLE7、8數(shù)據(jù)庫中只有數(shù)據(jù)庫名(db_name)和數(shù)據(jù)庫實(shí)例名(instance_name)。在ORACLE8i、9i中出現(xiàn)了新的參數(shù),即數(shù)據(jù)庫域名(db_domain)、服務(wù)名(service_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)。這些都存在于同一個(gè)數(shù)據(jù)庫中的標(biāo)識(shí),用于區(qū)分不同數(shù)據(jù)庫的參數(shù)。
一、什么是數(shù)據(jù)庫名(db_name)
數(shù)據(jù)庫名是用于區(qū)分?jǐn)?shù)據(jù)的內(nèi)部標(biāo)識(shí),是以二進(jìn)制方式存儲(chǔ)于數(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=(...............
.........
在每一個(gè)運(yùn)行的ORACLE8i數(shù)據(jù)庫中都有一個(gè)數(shù)據(jù)庫名(db_name),如果一個(gè)服務(wù)器程序中創(chuàng)建了兩個(gè)數(shù)據(jù)庫,則有兩個(gè)數(shù)據(jù)庫名。其控制參數(shù)據(jù)分屬在不同的pfile中控制著相關(guān)的數(shù)據(jù)庫。
二、什么是數(shù)據(jù)庫實(shí)例名(instance_name)
數(shù)據(jù)庫實(shí)例名則用于和操作系統(tǒng)之間的聯(lián)系,用于對(duì)外部連接時(shí)使用。在操作系統(tǒng)中要取得與數(shù)據(jù)庫之間的交互,必須使用數(shù)據(jù)庫實(shí)例名。例如,要和某一個(gè)數(shù)據(jù)庫server連接,就必須知道其數(shù)據(jù)庫實(shí)例名,只知道數(shù)據(jù)庫名是沒有用的,與數(shù)據(jù)庫名不同,在數(shù)據(jù)安裝或創(chuàng)建數(shù)據(jù)庫之后,實(shí)例名可以被修改。數(shù)據(jù)庫安裝完成后,該實(shí)例名被寫入數(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ù)庫名與實(shí)例名之間的關(guān)系。
數(shù)據(jù)庫名與實(shí)例名之間的關(guān)系一般是一一對(duì)應(yīng)關(guān)系,有一個(gè)數(shù)據(jù)庫名就有一個(gè)實(shí)例名,如果在一個(gè)服務(wù)器中創(chuàng)建兩個(gè)數(shù)據(jù)庫,則有兩個(gè)數(shù)據(jù)庫名,兩個(gè)數(shù)據(jù)庫實(shí)例名,用兩個(gè)標(biāo)識(shí)確定一個(gè)數(shù)據(jù)庫,用戶和實(shí)例相連接。
但在8i、9i的并行服務(wù)器結(jié)構(gòu)中,數(shù)據(jù)庫與實(shí)例之間不存在一一對(duì)應(yīng)關(guān)系,而是一對(duì)多關(guān)系,一個(gè)數(shù)據(jù)庫對(duì)應(yīng)多個(gè)實(shí)例,同一時(shí)間內(nèi)用戶只一個(gè)實(shí)例相聯(lián)系,當(dāng)某一實(shí)例出現(xiàn)故障,其它實(shí)例自動(dòng)服務(wù),以保證數(shù)據(jù)庫安全運(yùn)行。
三、操作系統(tǒng)環(huán)境變量(ORACLE_SID)
在實(shí)際中,對(duì)于數(shù)據(jù)庫實(shí)例名的描述有時(shí)使用實(shí)例名(instance_name)參數(shù),有時(shí)使用ORACLE_SID參數(shù)。這兩個(gè)都是數(shù)據(jù)庫實(shí)例名,它們有什么區(qū)別呢?(經(jīng)常弄混)
(ORACLE_SID)
OS<----------------> ORACLE 數(shù)據(jù)庫 <--------(Instance_name(實(shí)例名))
上圖表示實(shí)例名instance_name、ORACLE_SID與數(shù)據(jù)庫及操作系統(tǒng)之間的關(guān)系,雖然這里列出的兩個(gè)參數(shù)都是數(shù)據(jù)庫實(shí)例名,但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)中要想得到實(shí)例名,就必須使用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)建了多個(gè)數(shù)據(jù)庫,則必然同時(shí)存在多個(gè)數(shù)據(jù)庫實(shí)例,這時(shí)可以重復(fù)上述定義過程,以選擇不同實(shí)例。
還可以用
[oracle@Datacent]$.oraenv
來切換不同的ORACLE_SID來通過操作系統(tǒng)來啟動(dòng)不同的實(shí)例(instance) 。
本文轉(zhuǎn)自
http://oracle.itpub.net/post/20957/146513
最近因看到論壇有人問起這方面的東西,將自己的理解加上查閱相關(guān)資料整理如下,如果不全或不當(dāng)?shù)牡胤剑刚⒀a(bǔ)全它。
數(shù)據(jù)庫名(DB_NAME)、實(shí)例名(Instance_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)
在ORACLE7、8數(shù)據(jù)庫中只有數(shù)據(jù)庫名(db_name)和數(shù)據(jù)庫實(shí)例名(instance_name)。在ORACLE8i、9i中出現(xiàn)了新的參數(shù),即數(shù)據(jù)庫域名(db_domain)、服務(wù)名(service_name)、以及操作系統(tǒng)環(huán)境變量(ORACLE_SID)。這些都存在于同一個(gè)數(shù)據(jù)庫中的標(biāo)識(shí),用于區(qū)分不同數(shù)據(jù)庫的參數(shù)。
一、什么是數(shù)據(jù)庫名(db_name)
數(shù)據(jù)庫名是用于區(qū)分?jǐn)?shù)據(jù)的內(nèi)部標(biāo)識(shí),是以二進(jìn)制方式存儲(chǔ)于數(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=(...............
.........
在每一個(gè)運(yùn)行的ORACLE8i數(shù)據(jù)庫中都有一個(gè)數(shù)據(jù)庫名(db_name),如果一個(gè)服務(wù)器程序中創(chuàng)建了兩個(gè)數(shù)據(jù)庫,則有兩個(gè)數(shù)據(jù)庫名。其控制參數(shù)據(jù)分屬在不同的pfile中控制著相關(guān)的數(shù)據(jù)庫。
二、什么是數(shù)據(jù)庫實(shí)例名(instance_name)
數(shù)據(jù)庫實(shí)例名則用于和操作系統(tǒng)之間的聯(lián)系,用于對(duì)外部連接時(shí)使用。在操作系統(tǒng)中要取得與數(shù)據(jù)庫之間的交互,必須使用數(shù)據(jù)庫實(shí)例名。例如,要和某一個(gè)數(shù)據(jù)庫server連接,就必須知道其數(shù)據(jù)庫實(shí)例名,只知道數(shù)據(jù)庫名是沒有用的,與數(shù)據(jù)庫名不同,在數(shù)據(jù)安裝或創(chuàng)建數(shù)據(jù)庫之后,實(shí)例名可以被修改。數(shù)據(jù)庫安裝完成后,該實(shí)例名被寫入數(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ù)庫名與實(shí)例名之間的關(guān)系。
數(shù)據(jù)庫名與實(shí)例名之間的關(guān)系一般是一一對(duì)應(yīng)關(guān)系,有一個(gè)數(shù)據(jù)庫名就有一個(gè)實(shí)例名,如果在一個(gè)服務(wù)器中創(chuàng)建兩個(gè)數(shù)據(jù)庫,則有兩個(gè)數(shù)據(jù)庫名,兩個(gè)數(shù)據(jù)庫實(shí)例名,用兩個(gè)標(biāo)識(shí)確定一個(gè)數(shù)據(jù)庫,用戶和實(shí)例相連接。
但在8i、9i的并行服務(wù)器結(jié)構(gòu)中,數(shù)據(jù)庫與實(shí)例之間不存在一一對(duì)應(yīng)關(guān)系,而是一對(duì)多關(guān)系,一個(gè)數(shù)據(jù)庫對(duì)應(yīng)多個(gè)實(shí)例,同一時(shí)間內(nèi)用戶只一個(gè)實(shí)例相聯(lián)系,當(dāng)某一實(shí)例出現(xiàn)故障,其它實(shí)例自動(dòng)服務(wù),以保證數(shù)據(jù)庫安全運(yùn)行。
三、操作系統(tǒng)環(huán)境變量(ORACLE_SID)
在實(shí)際中,對(duì)于數(shù)據(jù)庫實(shí)例名的描述有時(shí)使用實(shí)例名(instance_name)參數(shù),有時(shí)使用ORACLE_SID參數(shù)。這兩個(gè)都是數(shù)據(jù)庫實(shí)例名,它們有什么區(qū)別呢?(經(jīng)常弄混)
(ORACLE_SID)
OS<----------------> ORACLE 數(shù)據(jù)庫 <--------(Instance_name(實(shí)例名))
上圖表示實(shí)例名instance_name、ORACLE_SID與數(shù)據(jù)庫及操作系統(tǒng)之間的關(guān)系,雖然這里列出的兩個(gè)參數(shù)都是數(shù)據(jù)庫實(shí)例名,但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)中要想得到實(shí)例名,就必須使用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)建了多個(gè)數(shù)據(jù)庫,則必然同時(shí)存在多個(gè)數(shù)據(jù)庫實(shí)例,這時(shí)可以重復(fù)上述定義過程,以選擇不同實(shí)例。
還可以用
[oracle@Datacent]$.oraenv
來切換不同的ORACLE_SID來通過操作系統(tǒng)來啟動(dòng)不同的實(shí)例(instance) 。
本文轉(zhuǎn)自
http://oracle.itpub.net/post/20957/146513
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
