『壹』 如何區分Oracle的資料庫,實例,服務名,SID
這個話題太長,我給你復制一段吧。
一、資料庫名
什麼是資料庫名?
資料庫名就是一個資料庫的標識,就像人的身份證號一樣。他用參數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的資料庫實例
就是一個表空間裡面有N個用戶表,系統表,N個存儲過程和N個視圖這樣子? 一個資料庫實例就相當於一個sql server(下面簡稱mss)的一個服務,
假設你的機器叫做AA,安裝mss後,和默認建立一個服務名叫做aa,如果再安裝一次mss,會提示你是否使用現有的服務名。Oracle的一個實例可以認為是一個服務。
表空間是一個虛擬概念,是一組文件的簡稱,例如我的Oracle有一個表空間myspace,用來存放臨時的數據,我可以給temp指定三個文件,c:myspace.ora d:myspace1.ora e:myspace2.ora 我見一個表,設置這個表的數據存放在myspace上,如果我向表中插入1000行數據,可能會被均勻的存放到myspace*.ora中。
『叄』 什麼是Oracle資料庫實例
資料庫實例(instance_name)是用於和操作系統進行聯系的標識,也就是說資料庫和操作系統之間的交互使用的是資料庫實例。
資料庫名和實例名可以相同也可以不同。在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。
用系統sysdba許可權登錄後:查詢oracle實例的方法:
方法一:sql」select instance_name from v$instance「;
方法二:使用show命令」show parameter instance「。
『肆』 簡述Oracle資料庫中實例和資料庫的概念以及它們之間的關系
實例
就是管理相關庫的內存結構的名字(由SGA、PGA、伺服器進程、用戶進程、後台進程等組成)
資料庫
就是實際的磁碟上的文件(數據文件、日誌文件、控制文件等),負責保存數據,但由對應的實例來操作它的數據
其實,在我們傳統的概念里,資料庫是一個統稱的名字,在Oracle中,你可以把「資料庫」理解成一個大概念,也要把它理解成一個小概念
『伍』 什麼是oracle的實例
oracle實例就是一些能支撐資料庫運行的資料庫程序。
它由操作系統的多個後台進程和一個共享的內存池所組成,共享的內存池可以被所有進程訪問。
Oracle 用一個個實例來管理資料庫訪問。用戶如果要存取資料庫(也就是硬碟上的文件) 里的數據, 必須通過Oracle實例才能實現, 不能直接讀取硬碟上的文件。
實際上, Oracle 實例就是平常所說的資料庫服務(service) 。
在任何時刻一個實例只能與一個資料庫關聯,訪問一個資料庫;而同一個資料庫可由多個實例訪問(RAC)。
(5)orcal分布式資料庫的實例擴展閱讀
oracle資料庫的特點:
1、完整的數據管理功能:
1)數據的大量性
2)數據的保存的持久性
3)數據的共享性
4)數據的可靠性
2、完備關系的產品:
1)信息准則---關系型DBMS的所有信息都應在邏輯上用一種方法,即表中的值顯式地表示;
2)保證訪問的准則
3)視圖更新准則---只要形成視圖的表中的數據變化了,相應的視圖中的數據同時變化
4)數據物理性和邏輯性獨立准則
3、分布式處理功能:
ORACLE資料庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式資料庫功能了,一個ORACLE分布式資料庫由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關系型產品構成。
4、用ORACLE能輕松的實現數據倉庫的操作。
參考資料來源:網路—實例
參考資料來源:網路—Oracle資料庫
『陸』 資料庫oracle簡介
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的資料庫解決方案。
ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
特點
1、完整的數據管理功能:[2]
1)數據的大量性
2)數據的保存的持久性
3)數據的共享性
4)數據的可靠性
2、完備關系的產品:
1)信息准則---關系型DBMS的所有信息都應在邏輯上用一種方法,即表中的值顯式地表示;
2)保證訪問的准則
3)視圖更新准則---只要形成視圖的表中的數據變化了,相應的視圖中的數據同時變化
4)數據物理性和邏輯性獨立准則
3、分布式處理功能:
ORACLE資料庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式資料庫功能了,一個ORACLE分布式資料庫由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關系型產品構成。
4、用ORACLE能輕松的實現數據倉庫的操作。
這是一個技術發展的趨勢,不在這里討論。
優點
■ 可用性強
■ 可擴展性強
■ 數據安全性強
■ 穩定性強
『柒』 簡單!oracle建立的資料庫實例是什麼樣子的
實例可以理解為一個庫的運行實體。
oracle和access不同,不能直接通過訪問文件來讀取數據,一般可以通過sql
plus來訪問資料庫的實例。
『捌』 如何用ORACLE 11g實現分布式資料庫
如何用ORACLE 11g實現分布式資料庫
通過DBLink連接起來的幾個庫可以看成分布式資料庫。 分布式資料庫系統就是由一個〔或多個互通〕網路系統中的一個或多個資料庫主機上的一個或多個DB組成的資料庫網路。
『玖』 oracle rac和分布式資料庫的區別
分布式資料庫是多個資料庫,而rac只是一個庫多個實例;
rac事務上沒有協調的問題,而分布式資料庫由於是多個庫需要事務上的協調;
分布式資料庫數據是分散存儲在各個節點,但是設備一般都是廉價的設備,經常出現節點故障,不過對用戶來說是透明的;RAC是ORACLE集群,數據是共享存儲,只有一份,每個節點都不存放數據。節點可以宕,但是數據不會丟失;
分布式資料庫支持的節點多,增加節點基本為線性增加;rac支持的節點數少,增加節點性能不是線性增加;
Oracle最大的問題在於shared everything的架構,導致IO的處理能力有限,而且擴展能力也有限;而分布式資料庫是shared nothing架構
『拾』 Oracle資料庫的實例是什麼
資料庫名就是一個資料庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全資料庫,那麼每一個資料庫都有一個資料庫名。在資料庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。