溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 數(shù)據(jù)庫 > 
  • 數(shù)據(jù)庫名、實例名、數(shù)據(jù)庫域名、全局數(shù)據(jù)庫名、服務(wù)名 區(qū)別

數(shù)據(jù)庫名、實例名、數(shù)據(jù)庫域名、全局數(shù)據(jù)庫名、服務(wù)名 區(qū)別

發(fā)布時間:2020-08-10 17:39:11 來源:網(wǎng)絡(luò) 閱讀:847 作者:zancun 欄目:數(shù)據(jù)庫

=============================


Oracle數(shù)據(jù)庫首先有個數(shù)據(jù)庫名,另外還可以設(shè)置一個域名,全局數(shù)據(jù)庫名實際上就是數(shù)據(jù)庫名+域名。例如數(shù)據(jù)庫名叫orcl,域名叫做abc.com,那么全局數(shù)據(jù)庫名就叫orcl.abc.com.
SID是數(shù)據(jù)庫的系統(tǒng)標(biāo)識符,一般是通過設(shè)置環(huán)境變量來使用的,通常就是數(shù)據(jù)庫的名字。但是數(shù)據(jù)庫名是Oracle數(shù)據(jù)庫的內(nèi)部變量,而SID是的變量。



=============================

數(shù)據(jù)庫名、實例名、數(shù)據(jù)庫域名、全局數(shù)據(jù)庫名、服務(wù)名 ,
這是幾個令很多初學(xué)者容易混淆的概念。相信很多初學(xué)者都與我一樣被標(biāo)題上這些個概念搞得一頭霧水。我們現(xiàn)在就來把它們弄個明白。

一、數(shù)據(jù)庫名
什么是數(shù)據(jù)庫名?
數(shù)據(jù)庫名就是一個數(shù)據(jù)庫的標(biāo)識,就像人的×××號一樣。他用參數(shù)DB_NAME表示,如果一臺機器上裝了多全數(shù)據(jù)庫,那么每一個數(shù)據(jù)庫都有一個數(shù)據(jù)庫名。在數(shù)據(jù)庫安裝或創(chuàng)建完成之后,參數(shù)DB_NAME被寫入?yún)?shù)文件之中。格式如下:
DB_NAME=myorcl
...
在創(chuàng)建數(shù)據(jù)庫時就應(yīng)考慮好數(shù)據(jù)庫名,并且在創(chuàng)建完數(shù)據(jù)庫之后,數(shù)據(jù)庫名不宜修改,即使要修改也會很麻煩。因為,數(shù)據(jù)庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內(nèi)容。假設(shè)用戶修改了參數(shù)文件中的數(shù)據(jù)庫名,即修改DB_NAME的值。但是在Oracle啟動時,由于參數(shù)文件中的DB_NAME與控制文件中的數(shù)據(jù)庫名不一致,導(dǎo)致數(shù)據(jù)庫啟動失敗,將返回ORA-01103錯誤。

數(shù)據(jù)庫名的作用
數(shù)據(jù)庫名是在安裝數(shù)據(jù)庫、創(chuàng)建新的數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫控制文件、修改數(shù)據(jù)結(jié)構(gòu)、備份與恢復(fù)數(shù)據(jù)庫時都需要使用到的。
有很多Oracle安裝文件目錄是與數(shù)據(jù)庫名相關(guān)的,如:
winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄
winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
另外,在創(chuàng)建數(shù)據(jù)時,careate database命令中的數(shù)據(jù)庫名也要與參數(shù)文件中DB_NAME參數(shù)的值一致,否則將產(chǎn)生錯誤。
同樣,修改數(shù)據(jù)庫結(jié)構(gòu)的語句alter database, 當(dāng)然也要指出要修改的數(shù)據(jù)庫的名稱。
如果控制文件損壞或丟失,數(shù)據(jù)庫將不能加載,這時要重新創(chuàng)建控制文件,方法是以nomount方式啟動實例,然后以create controlfile命令創(chuàng)建控制文件,當(dāng)然這個命令中也是指指DB_NAME。
還有在備份或恢復(fù)數(shù)據(jù)庫時,都需要用到數(shù)據(jù)庫名。
總之,數(shù)據(jù)庫名很重要,要準確理解它的作用。

查詢當(dāng)前數(shù)據(jù)名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數(shù)文件。

修改數(shù)據(jù)庫名
前面建議:應(yīng)在創(chuàng)建數(shù)據(jù)庫時就確定好數(shù)據(jù)庫名,數(shù)據(jù)庫名不應(yīng)作修改,因為修改數(shù)據(jù)庫名是一件比較復(fù)雜的事情。那么現(xiàn)在就來說明一下,如何在已創(chuàng)建數(shù)據(jù)之后,修改數(shù)據(jù)庫名。步驟如下:
1.關(guān)閉數(shù)據(jù)庫。
2.修改數(shù)據(jù)庫參數(shù)文件中的DB_NAME參數(shù)的值為新的數(shù)據(jù)庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關(guān)創(chuàng)建控制文件的命令語法,請參考oracle文檔)

二、數(shù)據(jù)庫實例名
什么是數(shù)據(jù)庫實例名?
數(shù)據(jù)庫實例名是用于和操作系統(tǒng)進行聯(lián)系的標(biāo)識,就是說數(shù)據(jù)庫和操作系統(tǒng)之間的交互用的是數(shù)據(jù)庫實例名。實例名也被寫入?yún)?shù)文件中,該參數(shù)為instance_name,在winnt平臺中,實例名同時也被寫入注冊表。
數(shù)據(jù)庫名和實例名可以相同也可以不同。
在一般情況下,數(shù)據(jù)庫名和實例名是一對一的關(guān)系,但如果在oracle并行服務(wù)器架構(gòu)(即oracle實時應(yīng)用集群)中,數(shù)據(jù)庫名和實例名是一對多的關(guān)系。這一點在第一篇中已有圖例說明。

查詢當(dāng)前數(shù)據(jù)庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數(shù)文件中查詢。

數(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。在winnt不臺, ORACLE_SID還需存在于注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平臺,是“ORACLE not available”,在winnt平臺,是“TNS:協(xié)議適配器錯誤”。

數(shù)據(jù)庫實例名與網(wǎng)絡(luò)連接
數(shù)據(jù)庫實例名除了與操作系統(tǒng)交互外,還用于網(wǎng)絡(luò)連接的oracle服務(wù)器標(biāo)識。當(dāng)你配置oracle主機連接串的時候,就需要指定實例名。當(dāng)然8i以后版本的網(wǎng)絡(luò)組件要求使用的是服務(wù)名SERVICE_NAME。這個概念接下來說明 。

三、數(shù)據(jù)庫域名
什么是數(shù)據(jù)庫域名?
在分布工數(shù)據(jù)庫系統(tǒng)中,不同版本的數(shù)據(jù)庫服務(wù)器之間,不論運行的操作系統(tǒng)是unix或是windows,各服務(wù)器之間都可以通過數(shù)據(jù)庫鏈路進行遠程復(fù)制,數(shù)據(jù)庫域名主要用于oracle分布式環(huán)境中的復(fù)制。舉例說明如:
全國交通運政系統(tǒng)的分布式數(shù)據(jù)庫,其中:
福建節(jié)點: fj.jtyz
福建廈門節(jié)點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是數(shù)據(jù)庫域名。
數(shù)據(jù)庫域名在存在于參數(shù)文件中,他的參數(shù)是db_domain.

查詢數(shù)據(jù)庫域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在參數(shù)文件中查詢。

全局數(shù)據(jù)庫名
全局數(shù)據(jù)庫名=數(shù)據(jù)庫名+數(shù)據(jù)庫域名,如前述福建節(jié)點的全局數(shù)據(jù)庫名是:oradb.fj.jtyz

四、數(shù)據(jù)庫服務(wù)名
什么是數(shù)據(jù)庫服務(wù)名?
從oracle9i版本開始,引入了一個新的參數(shù),即數(shù)據(jù)庫服務(wù)名。參數(shù)名是SERVICE_NAME。
如果數(shù)據(jù)庫有域名,則數(shù)據(jù)庫服務(wù)名就是全局數(shù)據(jù)庫名;否則,數(shù)據(jù)庫服務(wù)名與數(shù)據(jù)庫名相同。

查詢數(shù)據(jù)庫服務(wù)名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在參數(shù)文件中查詢。

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

創(chuàng)建Oracle數(shù)據(jù)庫(以O(shè)racle10g為例)

有兩種創(chuàng)建數(shù)據(jù)庫的方式,一種是以命令行腳本方式,即手動方式創(chuàng)建;另一種是利用Oracle提供的數(shù)據(jù)庫配置向?qū)韯?chuàng)建。本篇主要介紹在Unix和Windows下以命令行腳本方式創(chuàng)建Oracle數(shù)據(jù)庫。

一個完整的數(shù)據(jù)庫系統(tǒng),應(yīng)包括一個物理結(jié)構(gòu)、一個邏輯結(jié)構(gòu)、一個內(nèi)存結(jié)構(gòu)和一個進程結(jié)構(gòu),如果要創(chuàng)建一個新的數(shù)據(jù)庫,則這些結(jié)構(gòu)都必須完整的建立起來

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI