一、安裝
安裝過程中的幾個關(guān)鍵點:全局數(shù)據(jù)庫名、系統(tǒng)標識符(SID,實例名)、服務(wù)器參數(shù)文件(SPFILEXXX(實例名).ORA)。
監(jiān)聽器的配置: server\NETWORK\ADMIN 文件夾下的參數(shù)文件(listener.ora,tnsnames.ora)。
二、Oracle 體系結(jié)構(gòu)
1、實例
實例是后臺進程和內(nèi)存結(jié)構(gòu)的集合,必須啟動實例才能訪問數(shù)據(jù)庫中的數(shù)據(jù),一個實例只能打開并使用一個數(shù)據(jù)庫。
實例啟動時,將分配一個系統(tǒng)全局區(qū)(SGA)并啟動一系列的后臺進程,每個后臺進程執(zhí)行不同的任務(wù)。
2、數(shù)據(jù)庫
Oracle 數(shù)據(jù)庫物理上指一組操作系統(tǒng)文件(數(shù)據(jù)文件),邏輯上指數(shù)據(jù)庫創(chuàng)建后的邏輯關(guān)系。
3、會話
會話時用戶與 Oracle 服務(wù)器的單個連接,建立連接時創(chuàng)建,斷開連接時關(guān)閉。
當一個數(shù)據(jù)庫用戶同時對服務(wù)器產(chǎn)生多個連接時,則為該用戶創(chuàng)建多個并行會話。
4、內(nèi)存
Oracle 內(nèi)存結(jié)構(gòu)包含以下兩個內(nèi)存區(qū):
系統(tǒng)全局區(qū)(SGA):實例啟動時分配該內(nèi)存區(qū)。
程序全局區(qū)(PGA):服務(wù)器進程啟動時分配該內(nèi)存區(qū)。
A、系統(tǒng)全局區(qū)(SGA,System Global Area 共享全局區(qū))
用來存儲數(shù)據(jù)庫信息,并由服務(wù)器進程共享。
按作用可分為:
● 共享池(Shared Pool)【操作共享】
共享池包括 庫緩存區(qū)(Shared SQL & PL/SQL) 和 數(shù)據(jù)字典緩存。
a.庫緩存區(qū):包括最近執(zhí)行的 SQL 解釋版本,PL/SQL 過程、函數(shù)等程序單元的編譯版本,方便用戶共享調(diào)用,節(jié)省開銷及提高進程速度。
b.數(shù)據(jù)字典緩存:把頻繁用到的數(shù)據(jù)字典(表,列,索引、權(quán)限等信息)存儲到內(nèi)存中,能減少 SQL語句引起的性能上沖突。
● 數(shù)據(jù)緩沖區(qū)(Data Buffer Cache)【記錄共享】
主要作用是將需要讀取或者存取的數(shù)據(jù)塊進行一個緩沖,從而減少太過頻繁的對磁盤進行讀和寫的操作。所有同時上線的用戶都可以共享這個區(qū)域。進程在處理一個查詢時,優(yōu)先查找內(nèi)存中是否有所需的數(shù)據(jù)塊,提高了讀取速度。
● 日志緩沖區(qū)(Redo Log Buffer)
該區(qū)域是將所有記錄數(shù)據(jù)操作的信息都存儲在該緩沖中,在適當?shù)臅r機由LGWR進程將他們寫入到磁盤的日志文件中。
● 大共享區(qū)(Large Pool)
Oracle 可選特征,主要用于多線程。
B、程序全局區(qū)(Program Global Area)
PGA是數(shù)據(jù)庫服務(wù)器內(nèi)存中為單個用戶進程分配的專用的內(nèi)存區(qū)域,是用戶進程私有的,不能共享。
它由用戶連接到數(shù)據(jù)庫并創(chuàng)建一個會話時自動分配,當會話結(jié)束后自動釋放。
5、進程
用戶進程:數(shù)據(jù)庫用戶請求連接 Oracle 服務(wù)器時啟動。
服務(wù)器進程:用戶建立會話連接時啟用,處理一個或多個用戶進程請求。
后臺進程:Oracle 實例啟動時啟動,提高系統(tǒng)效能和協(xié)調(diào)多用戶。
數(shù)據(jù)寫進程(DBWR):負責將塊緩沖區(qū)的數(shù)據(jù)寫入到磁盤中的數(shù)據(jù)文件里。
日志寫進程(LGWR):將重做日志緩沖區(qū)的信息寫入到重做日志文件中。
系統(tǒng)監(jiān)控(SMON):如果數(shù)據(jù)庫遇到不正常關(guān)閉的情況,比如突然斷電等。那么再次啟動數(shù)據(jù)庫時SMON進程進行必要的 數(shù)據(jù)修復操作。
進程監(jiān)控(PMON):負責在一個Oracle進程失敗時清理資源,用于恢復失敗的用戶進程。
檢查點進程(CKPT):負責在每當緩沖區(qū)中的更改永久地紀錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息,確保數(shù)據(jù)庫的同步。
歸檔進程(ARCH):在每次日志切換時把已滿的日志組進行備份歸檔,有歸檔方式和非歸檔方式(默認)。
6、數(shù)據(jù)庫邏輯結(jié)構(gòu)
數(shù)據(jù)庫、表空間(tablespace)、段(segment)、區(qū)(extent)、數(shù)據(jù)塊(block)
7、數(shù)據(jù)庫物理結(jié)構(gòu)
數(shù)據(jù)文件:用于存放所有的數(shù)據(jù)(*.DBF),每個數(shù)據(jù)庫有一組數(shù)據(jù)文件,一個數(shù)據(jù)文件只能對應(yīng)一個數(shù)據(jù)庫。
日志文件:記錄了對數(shù)據(jù)庫進行的所有操作(*.LOG),主要用于數(shù)據(jù)庫故障時恢復。
控制文件:記錄了數(shù)據(jù)庫所有文件的控制信息(*.CTL)。
語法查看:
C:\> sqlplus "sys/test1234 as sysdba"
SQL> DESC v$controlfile
SQL> SELECT status,name FROM v$controlfile
SQL> DESC v$datafile
SQL> SELECT file#,status,name FROM v$datafile
SQL> DESC v$logfile
SQL> SELECT member FROM v$controlfile
ps.內(nèi)容參考:
Oracle.10G.數(shù)據(jù)庫系統(tǒng)教程.中科院培訓老師講授
Oracle學習筆記二,Oracle體系結(jié)構(gòu)
http://www.lurenjia.net/article.asp?id=189
Oracle 9i數(shù)據(jù)庫服務(wù)器的體系結(jié)構(gòu)
http://www.it-waibao.com/IToutsourcing/support/database/Oracle/catalogTreeID100_folderID520_infoID10452.html
posted on 2008-10-06 22:52
黃小二 閱讀(4395)
評論(2) 編輯 收藏 所屬分類:
[DB].Oracle