oracle全局資料庫名稱
1. oracle中全局資料庫名和SID的區別
全局資料庫名:是將資料庫與任何其他資料庫唯一標識出來的資料庫全稱。全局資料庫名的格式為<database_name>.<database_domain>。例如,student.cs.hubu是一個典型的全局資料庫名。資料庫名部分(如student)是資料庫的簡單名稱,資料庫域部分(如cs.hubu)指定資料庫所在的域,它通常和企業內的網路域相同。全局資料庫名的資料庫名部分不能超過8個字元,並且只能包含字母、數字字元和句點(.)字元。
SID(System Identifier,系統標識符):用來標識Oracle資料庫的特定常式。對於任何一個資料庫,都至少有一個引用資料庫的常式。SID可以是未被此計算機上其他常式使用的任何名稱。SID是Oracle資料庫常式的唯一標識符,最多隻能有8個字母、數字字元。每個資料庫常式對應一個SID和一系列資料庫文件。例如,當創建SID為XXX的資料庫時,將同時創建資料庫常式及其資料庫文件(初始化參數文件、控制文件、重做日誌文件和數據文件)。
2. oracle中使用sql語句顯示(用select)全局資料庫名稱
select TABLE_NAME from all_tables where OWNER = '大寫用戶名';
說明:
如果用 DBA用戶查詢的話 會得到你要的結果
否則得到的是,當前用戶能操作到的【'大寫用戶名'】下的表,加入【'大寫用戶名'】下有表【test】但是當前用戶沒有操作許可權,你也不會將他查出,切記切記。
---
以上,希望對你有所幫助。
3. Oracle全局資料庫名,環境變數和sid的區別
1。什麼是資料庫實例名?
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。
資料庫名和實例名可以相同也可以不同。
在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。
2 查詢當前資料庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance_name;
方法三:在參數文件中查詢。
3資料庫實例名與ORACLE_SID
雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle資料庫參數。而ORACLE_SID是操作系統的環境變數。 ORACLD_SID用於與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt平台,ORACLE_SID還需存在於注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤:在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。
4資料庫實例名與網路連接
資料庫實例名除了與操作系統交互外,還用於網路連接的oracle伺服器標識。當你配置oracle主機連接串的時候,就需要指定實例名。當然8i以後版本的網路組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明。
一般單機伺服器上,實例名和sid相同。你可以看看集群的相關文檔,就更好理解了。
4. 請教oracle全局資料庫名和SID區別
一、資料庫名
就是在你安裝oracle軟體過程中創建的資料庫,或者是安裝完後,自己再創建的數據名稱。主要用於一個oracle中安裝了多個庫,
他們之間的區分。一個庫會在windows的服務中生成一個oracle_service.資料庫名是在安裝資料庫、創建新的資料庫、創建資料庫控
制文件、修改數據結構、備份與恢復資料庫時都需要使用到的。
查詢當前數據名
方法一:select name from v$database;
方法二:show parameter db
二、資料庫實例名[SID]
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件
中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。資料庫名和實例名可以相同也可以不同。在一般情況下,
資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。
(就是一個oracle中創建多個庫的時候,每個庫和操作系統之間通信的身份標示,和我們用戶沒有關系嘀!)
查詢當前資料庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
三、資料庫域名
在分布工資料庫系統中,不同版本的資料庫伺服器之間,不論運行的操作系統是unix或是windows,各伺服器之間都可以通過資料庫
鏈路進行遠程復制,資料庫域名主要用於oracle分布式環境中的復制。
舉例說明如:
全國交通運政系統的分布式資料庫,其中:
福建節點: fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是資料庫域名。
資料庫域名在存在於參數文件中,他的參數是db_domain
查詢資料庫域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
四、全局資料庫名
全局資料庫名=資料庫名+資料庫域名,如前述福建節點的全局資料庫名是:oradb.fj.jtyz
五、資料庫服務名
從oracle9i版本開始,引入了一個新的參數,即資料庫服務名。參數名是SERVICE_NAME。該名稱主要是oracle客戶端和oracle建立服務的
時候使用,好像沒有多麼有用的價值!
查詢資料庫服務名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
(注釋:一般情況下我們開發中用到的資料庫是單資料庫實例,就是oracle中只有一個庫。這個時候大部分都有:
資料庫服務名 = 全局資料庫名 = 資料庫名[+ 資料庫域名] = SID)
5. Oracle資料庫的全局資料庫名稱的定義
關於oracle的全局資料庫名稱:
1、如果你只是單機使用的話起名字隨便。
2、如果是多台電腦一起用的話,並且都是作為遠程資料庫的話,就要起一個在全局范圍內能區分誰是誰的名字。
3、【name.domain】只是一個起名字的例子,(你可以不起這樣的名字)。
4、舉個例子:比如你的機器名叫【xxxx】那你就可以起【name.xxxx】因為網路內的機器名字是不同的,這樣就可以區分每一個oracle實例了。
說的比較亂,不知道你聽明白了么。
---
以上,希望對你有所幫助。
6. Oracle資料庫中什麼是全局資料庫名
資料庫名、實例名、資料庫域名、全局資料庫名、服務名 ,
這是幾個令很多初學者容易混淆的概念。相信很多初學者都與我一樣被標題上這些個概念搞得一頭霧水。我們現在就來把它們弄個明白。
一、資料庫名
什麼是資料庫名?
資料庫名就是一個資料庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全資料庫,那麼每一個資料庫都有一個資料庫名。在資料庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。格式如下:
DB_NAME=myorcl
...
在創建資料庫時就應考慮好資料庫名,並且在創建完資料庫之後,資料庫名不宜修改,即使要修改也會很麻煩。因為,資料庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的資料庫名,即修改DB_NAME的值。但是在Oracle啟動時,由於參數文件中的DB_NAME與控制文件中的資料庫名不一致,導致資料庫啟動失敗,將返回ORA-01103錯誤。
資料庫名的作用
資料庫名是在安裝資料庫、創建新的資料庫、創建資料庫控制文件、修改數據結構、備份與恢復資料庫時都需要使用到的。
有很多Oracle安裝文件目錄是與資料庫名相關的,如:
winnt: d:\oracle\proct\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/proct/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\proct\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/proct/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄:
winnt: /home/app/oracle/proct/10.1.0/admin/DB_NAME/bmp/...
另外,在創建數據時,careate database命令中的資料庫名也要與參數文件中DB_NAME參數的值一致,否則將產生錯誤。
同樣,修改資料庫結構的語句alter database, 當然也要指出要修改的資料庫的名稱。
如果控制文件損壞或丟失,資料庫將不能載入,這時要重新創建控制文件,方法是以nomount方式啟動實例,然後以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。
還有在備份或恢復資料庫時,都需要用到資料庫名。
總之,資料庫名很重要,要准確理解它的作用。
查詢當前數據名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數文件。
修改資料庫名
前面建議:應在創建資料庫時就確定好資料庫名,資料庫名不應作修改,因為修改資料庫名是一件比較復雜的事情。那麼現在就來說明一下,如何在已創建數據之後,修改資料庫名。步驟如下:
1.關閉資料庫。
2.修改資料庫參數文件中的DB_NAME參數的值為新的資料庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)
二、資料庫實例名
什麼是資料庫實例名?
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。
資料庫名和實例名可以相同也可以不同。
在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。
查詢當前資料庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數文件中查詢。
資料庫實例名與ORACLE_SID
雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle資料庫參數。而ORACLE_SID是操作系統的環境變數。 ORACLD_SID用於與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt不台, ORACLE_SID還需存在於注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。
資料庫實例名與網路連接
資料庫實例名除了與操作系統交互外,還用於網路連接的oracle伺服器標識。當你配置oracle主機連接串的時候,就需要指定實例名。當然8i以後版本的網路組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明 。
三、資料庫域名
什麼是資料庫域名?
在分布工資料庫系統中,不同版本的資料庫伺服器之間,不論運行的操作系統是unix或是windows,各伺服器之間都可以通過資料庫鏈路進行遠程復制,資料庫域名主要用於oracle分布式環境中的復制。舉例說明如:
全國交通運政系統的分布式資料庫,其中:
福建節點: fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是資料庫域名。
資料庫域名在存在於參數文件中,他的參數是db_domain.
查詢資料庫域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在參數文件中查詢。
全局資料庫名
全局資料庫名=資料庫名+資料庫域名,如前述福建節點的全局資料庫名是:oradb.fj.jtyz
四、資料庫服務名
什麼是資料庫服務名?
從oracle9i版本開始,引入了一個新的參數,即資料庫服務名。參數名是SERVICE_NAME。
如果資料庫有域名,則資料庫服務名就是全局資料庫名;否則,資料庫服務名與資料庫名相同。
查詢資料庫服務名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在參數文件中查詢。
資料庫服務名與網路連接
從oracle8i開如的oracle網路組件,資料庫與客戶端的連接主機串使用資料庫服務名。之前用的是ORACLE_SID,即資料庫實例名
創建Oracle資料庫(以Oracle10g為例)
有兩種創建資料庫的方式,一種是以命令行腳本方式,即手動方式創建;另一種是利用Oracle提供的資料庫配置向導來創建。本篇主要介紹在Unix和Windows下以命令行腳本方式創建Oracle資料庫。
一個完整的資料庫系統,應包括一個物理結構、一個邏輯結構、一個內存結構和一個進程結構,如果要創建一個新的資料庫,則這些結構都必須完整的建立起來
7. 對於Oracle,資料庫名,全局資料庫名,SID都是什麼啊麻煩舉例說下。
資料庫名:顧名思義,資料庫的名字。。例子:db10
全局名:是庫名的完整名,例子:db10.localdomain
他們的關系:庫名可以看成是人的小名,而全局名可看成是人的全名。比如有2個網路,他們都有個DB10庫,但他們的域名肯定是不同的(上面的localdomain)。同一小名的人可以有多個,但全名必須是不同的。
SID:實例名,一般跟資料庫名一樣,是系統用來識別庫的,用ORACLE_SID這個環境變數來識別
8. Oracle 服務名、實例名、資料庫名、全局資料庫名是什麼概念,連接資料庫時輸入哪個它與SQL SERVER 實例
Oracle 服務名Service_name:該參數是oracle8i新引進的。在8i以前,我們用SID來表示標識資料庫的一個實例,但是在Oracle的並行環境中,一個資料庫對應多個實例,這樣就需要多個網路服務名,設置繁瑣。為了方便並行環境中的設置,引進了Service_name參數,該參數對應一個資料庫,而不是一個實例,而且該參數有許多其它的好處。該參數的預設值為Db_name. Db_domain,即等於Global_name。一個資料庫可以對應多個Service_name,以便實現更靈活的配置
實例名Instance_name:資料庫實例名。用於和操作系統之間的聯系,用於對外部連接時使用。在操作系統中要取得與資料庫之間的交互,必須使用資料庫實例名。例如,要和某一個資料庫server連接,就必須知道其資料庫實例名,只知道資料庫名是沒有用的,與資料庫名不同,在數據安裝或創建資料庫之後,實例名可以被修改。
資料庫名Db_name:對一個資料庫(Oracle database)的唯一標識。這種表示對於單個資料庫是足夠的,但是隨著由多個資料庫構成的分布式資料庫的普及,這種命令資料庫的方法給資料庫的管理造成一定的負擔,因為各個資料庫的名字可能一樣,造成管理上的混亂,為了解決這種情況,引入了Db_domain參數,這樣在資料庫的標識是由Db_name和Db_domain兩個參數共同決定的,避免了因為資料庫重名而造成管理上的混亂
全局資料庫名Global_name:對一個資料庫(Oracle database)的唯一標識,oracle建議用此種方法命令資料庫。該值是在創建資料庫是決定的,預設值為Db_name. Db_domain
連接資料庫時輸入哪個。。。。這個需要看tnsnames.ora文件中配置的是哪個,一般是service_name,或者是sid
9. oracle中的全局資料庫名稱和sid的區別
資料庫名(DB_NAME)、實例名(Instance_name)、以及操作系統環境變數(ORACLE_SID)
在ORACLE7、8資料庫中只有資料庫名(db_name)和資料庫實例名(instance_name)。在ORACLE8i、9i中出現了新的參數,即資料庫域名(db_domain)、服務名(service_name)、以及操作系統環境變數(ORACLE_SID)。這些都存在於同一個資料庫中的標識,用於區分不同資料庫的參數。
一、什麼是資料庫名(db_name)?
資料庫名是用於區分數據的內部標識,是以二進制方式存儲於資料庫控制文件中的參數,在數據安裝或創建之後將不得修改。資料庫安裝完成後,該參數被寫入資料庫參數文件pfile中,格式如下:
[code:1:1aaf156970]
.........
db_name="orcl" #(不允許修改)
db_domain=dbcenter.toys.com
instance_name=orcl
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
[/code:1:1aaf156970]
在每一個運行的ORACLE8i資料庫中都有一個資料庫名(db_name),如果一個伺服器程序中創建了兩個資料庫,則有兩個資料庫名。其控制參數據分屬在不同的pfile中控制著相關的資料庫。
二、什麼是資料庫實例名(instance_name)
資料庫實例名則用於和操作系統之間的聯系,用於對外部連接時使用。在操作系統中要取得與資料庫之間的交互,必須使用資料庫實例名。例如,要和某一個資料庫server連接,就必須知道其資料庫實例名,只知道資料庫名是沒有用的,與資料庫名不同,在數據安裝或創建資料庫之後,實例名可以被修改。資料庫安裝完成後,該實例名被寫入資料庫參數文件pfile中,格式如下:
[code:1:1aaf156970]
db_name="orcl" #(不允許修改)
db_domain=dbcenter.toys.com
instance_name=orcl #(可以修改,可以與db_name相同也可不同)
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
[/code:1:1aaf156970]
資料庫名與實例名之間的關系。
資料庫名與實例名之間的關系一般是一一對應關系,有一個資料庫名就有一個實例名,如果在一個伺服器中創建兩個資料庫,則有兩個資料庫名,兩個資料庫實例名,用兩個標識確定一個資料庫,用戶和實例相連接。
但在8i、9i的並行伺服器結構中,資料庫與實例之間不存在一一對應關系,而是一對多關系,(一個資料庫對應多個實例,同一時間內用戶只一個實例相聯系,當某一實例出現故障,其它實例自動服務,以保證資料庫安全運行。)
三、操作系統環境變數(ORACLE_SID)
在實際中,對於資料庫實例名的描述有時使用實例名(instance_name)參數,有時使用ORACLE_SID參數。這兩個都是資料庫實例名,它們有什麼區別呢?(經常弄混)
[code:1:1aaf156970]
(ORACLE_SID)
OS<----------------> ORACLE 資料庫 <--------(Instance_name(實例名))
[/code:1:1aaf156970]
上圖表示實例名instance_name、ORACLE_SID與資料庫及操作系統之間的關系,雖然這里列出的兩個參數都是資料庫實例名,但instance_name參數是ORACLE資料庫的參數,此參數可以在參數文件中查詢到,而ORACLE_SID參數則是操作系統環境變數。
操作系統環境變數ORACLE_SID用於和操作系統交互。也就是說,在操作系統中要想得到實例名,就必須使用ORACLE_SID。此參數與ORACLE_BASE、ORACLE_HOME等用法相同。在資料庫安裝之後,ORACLE_SID被用於定義資料庫參數文件的名稱。如:
$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。
定義方法:
[code:1:1aaf156970]
export ORACLE_SID=orcl
[/code:1:1aaf156970]
如果在同一伺服器中創建了多個資料庫,則必然同時存在多個資料庫實例,這時可以重復上述定義過程,以選擇不同實例。
還可以用
[code:1:1aaf156970]
[oracle@Datacent]$ . oraenv
[/code:1:1aaf156970]
來切換不同的ORACLE_SID來通過操作系統來啟動不同的實例(instance)