資料庫名,資料庫例項名,資料庫域名,作業系統環境變數

ballontt發表於2012-10-22

剛剛學習資料庫開始,這些反反覆覆出現,內容相同涵義卻不同的名字困擾了我很久,今天看到了一篇文章,現在總算弄清啦

資料庫名  

    資料庫名是用於區分資料庫的一個內部標識,是以二進位制方式儲存在資料庫控制檔案中的引數。資料庫建立之後不能再修改這個引數。資料庫建立後,它被寫入資料庫引數檔案pfile或Spfile中。格式如下:

...

db_name="orcl"

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

...

資料庫例項名

    資料庫例項是運算元據庫的實體,使用者通過例項與資料庫互動。例項名用來標識這個資料庫例項。資料庫建立後,例項名可以被修改。也在資料庫引數檔案pfile或Spfile中。格式如下:

...

instance_name=orcl

service_names=orcl.dbcenter.toys.com

...

    資料庫名與例項名可以相同。一個資料庫對應一個例項的情況下設定成相同的便於標識資料庫。但是在8i,9i的並行伺服器中,資料庫與例項不存在一一對應關係,而是一對多關係,一個資料庫對應多個例項。不過一個使用者只能與一個例項相連。(這裡才讓人恍然大悟,例項名與資料庫名的區別就很容易理解了)

重申一遍:
? 例項是一組後臺程式和共享記憶體。
? 資料庫是磁碟上儲存的資料集合。
? 例項“一生”只能裝載並開啟一個資料庫。
? 資料庫可以由一個或多個例項(使用RAC)裝載和開啟。

驗證:例項“一生”只能裝載並開啟一個資料庫。

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 4月 21 21:40:49 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

[SYS@orcl#21-4月 -11] SQL>alter database close;

資料庫已更改。

[SYS@orcl#21-4月 -11] SQL>alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-16196: 以前曾開啟和關閉過資料庫

資料庫域名

    在分散式資料庫系統中,不同版本的資料庫伺服器之間,不論執行的作業系統是unix或是windows,各伺服器之間都可以通過資料庫鏈路進行遠端複製,資料庫域名主要用於oracle分散式環境中的複製。舉例說明如:
全國交通運政系統的分散式資料庫,其中:
福建節點: fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是資料庫域名。
資料庫域名在存在於引數檔案中,他的引數是db_domain.

作業系統環境變數(ORACLE_SID)

    資料庫例項名有時使用例項名(Instance_name),有時使用ORACLE_SID。這兩個都是資料庫例項名,不易區分。實際上,instance_name引數是ORACLE資料庫的引數,可以再初始化引數檔案中查詢到,而ORACLE_SID引數則是作業系統的環境變數。

 在多個例項的伺服器中,ORACLE通過ORACLE_SID決定啟動哪個例項。一般,如果伺服器只有一個例項,ORACLE_SID的值和例項的名稱以及資料庫名稱相同

有2個資料庫例項,它怎麼知道選擇哪一個呢?

其中就是我設定的環境變數起了作用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27425054/viewspace-746929/,如需轉載,請註明出處,否則將追究法律責任。

相關文章