oracle資料庫與實例
㈠ 什麼是oracle實例,什麼是oracle資料庫,二者有什麼區別
資料庫(database):物理操作系統文件或磁碟( disk)的集合。使用Oracle 10g 的自動存儲管理(Automatic Storage Management,ASM)或RAW 分區時,資料庫可能不作為操作系統中單獨的文件,但定義仍然不變。
實例(instance):一組Oracle 後台進程/線程以及一個共享內存區,這些內存由同一個計算機上運行的線程/進程所共享。這里可以維護易失的、非持久性內容(有些可以刷新輸出到磁碟)。就算沒有磁碟存儲,資料庫實例也能存在。也許實例不能算是世界上最有用的事物,不過你完全可以把它想成是最有用的事物,這有助於對實例和資料庫劃清界線。
這兩個詞有時可互換使用,不過二者的概念完全不同。實例和資料庫之間的關系是:資料庫可以由多個實例裝載和打開,而實例可以在任何時間點裝載和打開一個資料庫。實際上,准確地講,實例在其整個生存期中最多能裝載和打開一個資料庫!
一般來說,我們的一個資料庫對應一個實例,但在集群RAC情況下,共享資料庫文件時,一個資料庫是可以被多個實例同時使用的。
同一時間,一個實例只能打開一個資料庫,也就是一個實例只能操作或管理一個資料庫;通常,同一時間,一個資料庫只能被一個實例打開,但RAC情況除外。
安裝oracle時,通常會安裝一個實例——資料庫對(當然可以裝多對),而且他們的名字相同(也就是實例和資料庫名字相同),他們的名字當然可以不同,不管相不相同,他們的聯系是通過xxx/pfile/init.ora初始化文件聯系的。因為xxx就是實例的名字,而xxx.ora中的db_name,則記錄相應資料庫的名字。
㈡ oracle實例和資料庫的區別
實例由稱為系統全局區(SGA)的共享內存以及若干後台進程組成。
生存期就是它在內存中存在的時間。資料庫是由磁碟上的物理文件組成,可以永久存在。
實例與資料庫可以是多對一的關系。在打開資料庫的時候,nomount階段就是創建並啟動實例,即根據初始化參數文件分配內存,啟動後台服務進程。
㈢ oracle里實例和資料庫之間的關系
實例
就是管理相關庫的內存結構的名字(由sga、pga、伺服器進程、用戶進程、後台進程等組成)
資料庫
就是實際的磁碟上的文件(數據文件、日誌文件、控制文件等),負責保存數據,但由對應的實例來操作它的數據
其實,在我們傳統的概念里,資料庫是一個統稱的名字,在oracle中,你可以把「資料庫」理解成一個大概念,也要把它理解成一個小概念
㈣ Oracle中的Instance實例和資料庫的區別
oracle資料庫:
資料庫指與Oracle相關的一些文件的集合(包括數據文件, 控制文件, redo等)
oracle的instance:
實例指與Oracle相關的一些進程(SMON, PMON, DBWR等)和共享內存(SGA)的集合.
一個資料庫可以同時被多個實例掛載和打開.
一個實例可以掛載和打開任何資料庫, 但是一次只能打開一個資料庫.
Difference between DB_NAME and Instance_Name
P11_QUESTION_ID:533422350794)
A database is a set of files (data, redo, ctl and so on)
An instance is a set of processes (SMON, PMON, DBWR, etc) and a shared memory segment
(SGA).
A database may be mounted and opened by many INSTANCES (Parallel Server) concurrently.
An instance may mount and open ANY database -- however it may only open a single database
at any time.
㈤ Oracle中的Instance實例和資料庫的區別
Oracle中Instance實例和資料庫的區別是:
1、資料庫實例
指資料庫伺服器的內存及相關處理程序,它是Oracle的心臟。與Oracle性能關系最大的是SGA(System Global Area,即系統全局區活共享內存區),SGA包含三個部分:
1、數據緩沖區,可避免重復讀取常用的數據;
2、日誌緩沖區,提升了數據增刪改的速度,減少磁碟的讀寫而加快速度;
3、共享池,使相同的sql語句不再編譯,提升了SQL的執行速度。
oracle資料庫實例的另一部分就是一些後台進程了,他主要包括:
1.系統監控進程
2.進程監控
3.資料庫寫進程
4.日誌寫進程
5.檢驗點進程
6.其他進程
這些後台進程合起來完成資料庫管理任務
在訪問資料庫的時候。器後台先啟動實例。啟動實例前要先分配內存區。然後在啟動後台進程。資料庫啟動過程中必須啟動上面的前五個進程。否則實例無法創建。
注意:在啟動oracle資料庫的時候。因為有些進程是在開機啟動項中自動啟動的。所以佔用了很大一部分內存。如果您電腦上還有一些其他佔用內存比較大的程序。在啟動oracle資料庫的時候有可能會因內存不足而啟動失敗。
2、在Oracle中,數據的存儲有好幾種。第一種是文件形式,也就是在你的磁碟中創建一批文件,數據控制文件,聯機重做日誌文件等構成,外加臨時文件,是靜態存儲的。
oracle體系結構:
㈥ 如何區分Oracle的資料庫,實例,服務名,SID
實例
實例就是一組操作系統進程(或者是一個多線程的進程)以及一些內存。這些進程可以操作資料庫;實例 就是治理相關庫的內存結構的名字(由SGA、PGA、伺服器進程、用戶進程、後台進程等組成)
資料庫
資料庫只是一個文件集合(包括數據文件、臨時文件、重做日誌文件和控制文件)。在任何時刻,一個實例只能有一組相關的文件(與一個資料庫關聯)。資料庫 就是實際的磁碟上的文件(數據文件、日誌文件、控制文件等),負責保存數據,但由對應的實例來操作它的數據
3.服務名
服務名 就是對外公布的名稱,為網路監聽服務
4.SID
sid用於實例區分各個資料庫,service name用於外部鏈接。
㈦ 如何理解Oracle實例和資料庫的概念
資料庫由oracle軟體和實例構成,oracle軟體提供系統級的命令,比如sqlplus、dbca之類的,在創建實例之前也是可以用sqlplus命令的;實例簡單來說就是我們能看得見的資料庫
㈧ oracle里實例和資料庫之間的關系
實例是一個臨時性的東西,你簡單理解為內存中的東西,隨時消亡
而資料庫就是各種數據文件,包括控制文件什麼的
㈨ 什麼是Oracle資料庫實例
資料庫實例(instance_name)是用於和操作系統進行聯系的標識,也就是說資料庫和操作系統之間的交互使用的是資料庫實例。
資料庫名和實例名可以相同也可以不同。在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。
用系統sysdba許可權登錄後:查詢oracle實例的方法:
方法一:sql」select instance_name from v$instance「;
方法二:使用show命令」show parameter instance「。
㈩ 什麼是oracle實例,什麼是oracle資料庫,二者有什麼區別
這個問題如果回答得形象點就是:
一個資料庫可以包含一個或者多個實例
實例的定義:由操作系統後台進程和分配的內存區域構成。說
得簡單點就是oracle在nomount狀態就分配了內存區域,一個實
例也就差不多快形成了。