分清DB_NAME、INSTANCE_NAME、ORACLE_SID、SERVICE_NAME、DB_DOMAIN和GLOBAL_DB_NAME
Oracle安裝前,首先要分清DB_NAME、INSTANCE_NAME、ORACLE_SID、SERVICE_NAME、DB_DOMAIN和GLOBAL_DB_NAME的概念。
一個運行著的ORACLE數據庫就可以看成是一個ORACLE SERVER,該SERVER由數據庫(Database)和實例(Instance)組成,在一般的情況下一個ORACLE SERVER包含一個實例和一個與之對應的數據庫,但是在特殊情況下,如8i的OPS,9i的RAC,一個SERVER中一個數據庫可以對應多個實例。
一系列物理文件(數據文件,控制文件,聯機日志等)的集合或與之對應的邏輯結構(表空間,段等)被稱為數據庫,簡單的說,就是一系列與磁盤有關系的物理文件的組成。ORACLE內存結構和后臺進程被成為數據庫的實例,一個實例最多只能安裝(Mount)和打開(Open)在一個數據庫上,負責數據庫的相應操作并與用戶交互。
數據庫名(DB_NAME):用于區分數據的內部標識,是以二進制方式存儲于數據庫控制文件中的參數,所以很難改變其名字(修改比較麻煩,所以在安裝時設置好了就不要再改了),數據庫安裝完成后,該參數被寫入數據庫參數文件pfile的db_name中。
數據庫實例名(INSTANCE_NAME):則用于和操作系統之間的聯系,用于對外部連接時使用。在操作系統中要取得與數據庫之間的交互,必須使用數據庫實例名。該值允許修改,但一般設置與數據庫名相同即可。
數據庫實例名(ORACLE_SID):雖然和INSTANCE都是指數據庫實例名,INSTANCE_NAME參數是ORACLE數據庫的參數,此參數可以在參數文件中查詢到,而ORACLE_SID參數則是操作系統環境變量。 操作系統環境變量ORACLE_SID用于和操作系統交互。也就是說,在操作系統中要想得到實例名,就必須使用ORACLE_SID,其取值也必須與INSTANCE_NAME相同。
數據庫域名(DB_DOMAIN):類似網絡域名的概念,(所以一個數據庫名db_name在不同的域里可以相同)在安裝時確定(全局數據庫名中填寫),定義規則也相似于網絡定義。
全局數據庫名(GLOBAL_DB_NAME):命名規則= db_name+[db_domain]
數據庫服務名(SERVICE_NAME):一般與全局數據庫名相同。
轉載于:https://www.cnblogs.com/czjie/archive/2011/10/31/2230242.html
總結
以上是生活随笔為你收集整理的分清DB_NAME、INSTANCE_NAME、ORACLE_SID、SERVICE_NAME、DB_DOMAIN和GLOBAL_DB_NAME的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主播到底有多赚钱?网红自曝一天带货2亿净
- 下一篇: 《黎明杀机》X《生化危机》预告 王阿姨被