關於db_name,oracle_sid,service_names,global_names等的總結說明
在oracle中,有不少容易混淆的簡單概念,比如下面幾個:
instance_name=oracl
db_name=ibm
db_domain=com
service_names=ibm.com #default=db_name.db_domain 是否可以配置成其他的任何值?
global_names=ibm.com #default=db_name.db_domain 取的service_names 的值
oracle_sid
現總結如下:
db_name
DB_NAME必須是一個不超過8個字元的文字串.在資料庫建立過程中,db_name被記錄在資料檔案,日誌檔案和控制檔案中。如果資料庫例項啟動過程中引數檔案中的db_name和控制檔案中的資料庫名稱不一致,則資料庫不能啟動。
在每一個執行的ORACLE資料庫中都有一個資料庫名(db_name),如果一個伺服器程式中建立了兩個資料庫,則有兩個資料庫名。其控制引數據分屬在不同的pfile中控制著相關的資料庫。
db_domain
資料庫域名
service_names
引數檔案中的service_names應該是對外提供的一個服務名。預設值為db_name. db_domain,可以在初始化引數檔案中設定service_names改變。
該引數與tnsnames中使用service_name沒有依存關係,service_name取決於listener.ora中的global_dbname值。實際上,就是由listener.ora確定服務名與例項的對應關係。
sid_list_listener =
(sid_list=
(sid_desc=
(global_dbname=) #可以隨便指定,tns中的service_name只要跟他保持一致就可
(oracle_home=)
(sid_name=oracl) #對應的instance_name,tns中的sid跟他保持一致
)
)
global_names
設定global_names=false不要求建立的資料庫連結db_link和目的資料庫的全域性名稱一致。global_names=true則要求, 多少有些不方便。
instance_name
資料庫例項名用於和作業系統之間的聯絡,用於對外部連線時使用。在作業系統中要取得與資料庫之間的互動,必須使用資料庫例項名。例如,要和某一個資料庫server連線,就必須知道其資料庫例項名,只知道資料庫名是沒有用的,與資料庫名不同,在資料安裝或建立資料庫之後,例項名可以被修改。資料庫安裝完成後,該例項名被寫入資料庫引數檔案
資料庫名與例項名之間的關係。
資料庫名與例項名之間的關係一般是一一對應關係,有一個資料庫名就有一個例項名,如果在一個伺服器中建立兩個資料庫,則有兩個資料庫名,兩個資料庫例項名,用兩個標識確定一個資料庫,使用者和例項相連線。 但在8i、9i的並行伺服器結構中,資料庫與例項之間不存在一一對應關係,而是一對多關係,(一個資料庫對應多個例項,同一時間內使用者只一個例項相聯絡,當某一例項出現故障,其它例項自動服務,以保證資料庫安全執行。)
ORACLE_SID
作業系統環境變數(ORACLE_SID)
在實際中,對於資料庫例項名的描述有時使用例項名(instance_name)引數,有時使用ORACLE_SID引數。這兩個都是資料庫例項名,它們有什麼區別呢?(經常弄混)
(ORACLE_SID) OS上圖表示例項名instance_name、ORACLE_SID與資料庫及作業系統之間的關係,雖然這裡列出的兩個引數都是資料庫例項名,但instance_name引數是ORACLE資料庫的引數,此引數可以在引數檔案中查詢到,而ORACLE_SID引數則是作業系統環境變數。
作業系統環境變數ORACLE_SID用於和作業系統互動。也就是說,在作業系統中要想得到例項名,就必須使用ORACLE_SID。此引數與ORACLE_BASE、ORACLE_HOME等用法相同。在資料庫安裝之後,ORACLE_SID被用於定義資料庫引數檔案的名稱。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10867315/viewspace-963997/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於forName()、newInstance()、getMethod()、getClass()等區別的簡略說明
- 關於 Jupyter 的使用說明
- Oracle修改instance_name、db_name、db_unique_name、service_namesOracle
- 前端元件wolfTable中關於表格凍結部分的說明前端元件
- 關於DedeCMS版本號的說明
- Elasticsearch 學習總結 - 相關配置補充說明Elasticsearch
- 關於部落格更新說明
- MySQL:關於ICP特性的說明(未完)MySql
- 關於支援OPenACC的編譯器說明編譯
- 關於近期的總結
- 關於xtrabackup --slave-info引數的說明
- keycloak~關於社群登入的過程說明
- 關於Numba的執行緒實現的說明執行緒
- mysql關於variable的總結MySql
- sqlserver關於always on的總結SQLServer
- Oracle - 資料庫名、例項名、服務名、ORACLE_SID 的說明和區別Oracle資料庫
- 侯捷C++ STL體系結構與原始碼剖析:關於moveable的說明C++原始碼
- 關於 UiPath Activities 中文手冊的一些說明UI
- 關於88e1111 phy模組的配置說明
- 關於 navigator.mediaDevices.getUserMedia 的輸入引數說明dev
- sqlserver 關於DBCC CHECKDB的總結SQLServer
- sqlserver關於mirror映象的總結SQLServer
- 關於golang的time包總結Golang
- 關於Servlet小總結Servlet
- 過等保流程簡單說明
- Nginx下關於快取控制欄位cache-control的配置說明 - 運維小結Nginx快取運維
- MySQL:關於排序order by limit值不穩定的說明(1)MySql排序MIT
- 關於MySQL中的8個 character_set 變數說明MySql變數
- 關於 Laravel Conf China 2019 大會因故取消的說明Laravel
- mysql關於mysqld_safe的總結MySql
- mysql關於mysql.server的總結MySqlServer
- 關於PaaS的純乾貨總結
- mysql關於表空間的總結MySql
- 關於Android Studio使用Git的總結AndroidGit
- 關於STL容器的簡單總結
- SqlServer關於分割槽表的總結SQLServer
- postgresql關於許可權的總結SQL
- sqlserver always on關於備份的總結SQLServer
- 關於Map集合的遍歷總結