一數據庫名
數據庫名是數據庫的身份證號碼用於標示一個數據庫在參數文件中用DB_NAME表示
數據庫名是在安裝數據庫創建新的數據庫創建數據庫控制文件修改數據庫結構備份與恢復數據庫時都需要使用到的
如何查看數據庫名呢?方式有三
使用SQL語句select name from v$database
使用show命令show parameter db_name
查看參數文件查看initora文件
二數據庫實例名
數據庫實例名是用於和操作系統進行聯系的標識也就是說數據庫和操作系統之間的交互使用的是數據庫實例名
實例名也被寫入參數文件中該參數為instance_name在winnt平台中實例名同時也被寫入注冊表
數據庫名和實例名可以相同也可以不同在一般情況下數據庫名和實例名是一對一的關系但如果在oracle並行服務器架構(即oracle實時應用集群)中數據庫名和實例名是一對多的關系
如何查看當前數據庫實例名呢?方式有三
使用SQL語句select instance_name from v$instance
使用show命令show parameter instance
查看參數文件查看initora文件
數據庫實例名與ORACLE_SID兩者都表示oracle實例但是有區別的instance_name是oracle數據庫參數而ORACLE_SID是操作系統的環境變量ORACLD_SID用於與操作系統交互也就是說從操作系統的角度訪問實例名必須通過ORACLE_SID
ORACLE_SID必須與instance_name的值一致否則你將會收到一個錯誤在unix平台是ORACLE not available在winnt平台是TNS協議適配器錯誤
三數據庫域名與全局數據庫名
隨著由多個數據庫構成的分布式數據庫的普及這種命令數據庫的方法給數據庫的管理造成一定的負擔因為各個數據庫的名字可能一樣造成管理上的混亂
為了解決這種情況引入了Db_domain參數這樣在數據庫的標識是由Db_name(數據庫名)和 Db_domain(數據庫域名)兩個參數共同決定的避免了因為數據庫重名而造成管理上的混亂這類似於互連網上的機器名的管理
我們將Db_name和 Db_domain兩個參數用連接起來表示一個數據庫並將該數據庫的名稱稱為Global_name(全局數據庫名)即它擴展了Db_nameDb_name參數只能由字母數字_#$組成而且最多個字符
對一個網絡數據庫(Oracle database)的唯一標識oracle建議用此種方法命令數據庫該值是在創建數據庫是決定的缺省值為Db_name Db_domain在以後對參數文件中Db_name與Db_domain參數的任何修改不影響Global_name的值如果要修改 Global_name只能用ALTER DATABASE RENAME GLOBAL_NAME TO 命令進行修改然後修改相應參數
如何查詢數據庫域名呢?方法有三
使用SQL命令select value from v$parameter where name = db_domain
使用show命令show parameter domain
查看參數文件在參數文件中查詢
四數據庫服務名
該參數是oraclei新引進的在i以前我們用SID來表示標識數據庫的一個實例但是在Oracle的並行環境中一個數據庫對應多個實例這樣就需要多個網絡服務名設置繁瑣為了方便並行環境中的設置引進了Service_name參數該參數對應一個數據庫而不是一個實例
該參數的缺省值為Db_name Db_domain即等於Global_name如果數據庫有域名則數據庫服務名就是全局數據庫名否則數據庫服務名與數據庫名相同
如何查詢數據庫服務名呢?方法有三
使用SQL語句select value from v$parameter where name = service_name
使用show命令show parameter service_name
查看參數文件在參數文件中查詢
從Oraclei開如的oracle網絡組件數據庫與客戶端的連接主機串使用數據庫服務名之前用的是ORACLE_SID即數據庫實例名
五網絡服務名
網絡服務名又可以稱為數據庫別名(database alias)是客戶端程序訪問數據庫時所需要屏蔽了客戶端如何連接到服務器端的細節實現了數據庫的位置透明的特性網絡服務名被記錄在tnsnamesora文件中
網絡服務名是從客戶端的角度出發當客戶端連接遠程數據庫或其他服務時可以指定Net服務名因此需要使用一個或多個命名方法將此Net服務名解析為連接數據庫或其他服務的連接描述符
通常選擇的是[本地]將存儲在本地客戶機的tnsnamesora文件中的網絡服務名解析為連接描述符
[Oracle Names]由Oracle名字服務器提供為網絡上的每個Oracle Net服務提供解析方法
[主機名]通過TCP/IP環境中的主機別名連接到Oracle數據庫服務
[Sun NIS]/[DCE CDS]專用系統用的在Windows 系統環境下不適用
六總結
Oracle中各種命名的比較名稱查詢方式
名稱→ 查詢方式
DB_NAME→select name from v$database
INSTANCE_NAME →select instance_name from v$instance
ORACLE_SID→值和INSTANCE_NAME相同
DB_DOMAIN→select value from v$parameter where name=db_domain
GLOBAL_NAME →DB_NAMEDB_DOMAIN
SERVICE_NAME→ select value from v$parameter where name=service_name
NET_SERVICE_NAME→檢查tnsnamesora文件
From:http://tw.wingwit.com/Article/program/Oracle/201311/16568.html