一、安裝
安裝過程中的幾個(gè)關(guān)鍵點(diǎn):全局?jǐn)?shù)據(jù)庫名、系統(tǒng)標(biāo)識(shí)符(SID,實(shí)例名)、服務(wù)器參數(shù)文件(SPFILEXXX(實(shí)例名).ORA)。
監(jiān)聽器的配置: server\NETWORK\ADMIN 文件夾下的參數(shù)文件(listener.ora,tnsnames.ora)。
二、Oracle 體系結(jié)構(gòu)

1、實(shí)例
實(shí)例是后臺(tái)進(jìn)程和內(nèi)存結(jié)構(gòu)的集合,必須啟動(dòng)實(shí)例才能訪問數(shù)據(jù)庫中的數(shù)據(jù),一個(gè)實(shí)例只能打開并使用一個(gè)數(shù)據(jù)庫。
實(shí)例啟動(dòng)時(shí),將分配一個(gè)系統(tǒng)全局區(qū)(SGA)并啟動(dòng)一系列的后臺(tái)進(jìn)程,每個(gè)后臺(tái)進(jìn)程執(zhí)行不同的任務(wù)。
2、數(shù)據(jù)庫
Oracle 數(shù)據(jù)庫物理上指一組操作系統(tǒng)文件(數(shù)據(jù)文件),邏輯上指數(shù)據(jù)庫創(chuàng)建后的邏輯關(guān)系。
3、會(huì)話
會(huì)話時(shí)用戶與 Oracle 服務(wù)器的單個(gè)連接,建立連接時(shí)創(chuàng)建,斷開連接時(shí)關(guān)閉。
當(dāng)一個(gè)數(shù)據(jù)庫用戶同時(shí)對(duì)服務(wù)器產(chǎn)生多個(gè)連接時(shí),則為該用戶創(chuàng)建多個(gè)并行會(huì)話。
4、內(nèi)存
Oracle 內(nèi)存結(jié)構(gòu)包含以下兩個(gè)內(nèi)存區(qū):
系統(tǒng)全局區(qū)(SGA):實(shí)例啟動(dòng)時(shí)分配該內(nèi)存區(qū)。
程序全局區(qū)(PGA):服務(wù)器進(jìn)程啟動(dòng)時(shí)分配該內(nèi)存區(qū)。
A、系統(tǒng)全局區(qū)(SGA,System Global Area 共享全局區(qū))
用來存儲(chǔ)數(shù)據(jù)庫信息,并由服務(wù)器進(jìn)程共享。
按作用可分為:
● 共享池(Shared Pool)【操作共享】
共享池包括 庫緩存區(qū)(Shared SQL & PL/SQL) 和 數(shù)據(jù)字典緩存。
a.庫緩存區(qū):包括最近執(zhí)行的 SQL 解釋版本,PL/SQL 過程、函數(shù)等程序單元的編譯版本,方便用戶共享調(diào)用,節(jié)省開銷及提高進(jìn)程速度。
b.數(shù)據(jù)字典緩存:把頻繁用到的數(shù)據(jù)字典(表,列,索引、權(quán)限等信息)存儲(chǔ)到內(nèi)存中,能減少 SQL語句引起的性能上沖突。
● 數(shù)據(jù)緩沖區(qū)(Data Buffer Cache)【記錄共享】
主要作用是將需要讀取或者存取的數(shù)據(jù)塊進(jìn)行一個(gè)緩沖,從而減少太過頻繁的對(duì)磁盤進(jìn)行讀和寫的操作。所有同時(shí)上線的用戶都可以共享這個(gè)區(qū)域。進(jìn)程在處理一個(gè)查詢時(shí),優(yōu)先查找內(nèi)存中是否有所需的數(shù)據(jù)塊,提高了讀取速度。
● 日志緩沖區(qū)(Redo Log Buffer)
該區(qū)域是將所有記錄數(shù)據(jù)操作的信息都存儲(chǔ)在該緩沖中,在適當(dāng)?shù)臅r(shí)機(jī)由LGWR進(jìn)程將他們寫入到磁盤的日志文件中。
● 大共享區(qū)(Large Pool)
Oracle 可選特征,主要用于多線程。
B、程序全局區(qū)(Program Global Area)
PGA是數(shù)據(jù)庫服務(wù)器內(nèi)存中為單個(gè)用戶進(jìn)程分配的專用的內(nèi)存區(qū)域,是用戶進(jìn)程私有的,不能共享。
它由用戶連接到數(shù)據(jù)庫并創(chuàng)建一個(gè)會(huì)話時(shí)自動(dòng)分配,當(dāng)會(huì)話結(jié)束后自動(dòng)釋放。

5、進(jìn)程
用戶進(jìn)程:數(shù)據(jù)庫用戶請(qǐng)求連接 Oracle 服務(wù)器時(shí)啟動(dòng)。
服務(wù)器進(jìn)程:用戶建立會(huì)話連接時(shí)啟用,處理一個(gè)或多個(gè)用戶進(jìn)程請(qǐng)求。
后臺(tái)進(jìn)程:Oracle 實(shí)例啟動(dòng)時(shí)啟動(dòng),提高系統(tǒng)效能和協(xié)調(diào)多用戶。
數(shù)據(jù)寫進(jìn)程(DBWR):負(fù)責(zé)將塊緩沖區(qū)的數(shù)據(jù)寫入到磁盤中的數(shù)據(jù)文件里。
日志寫進(jìn)程(LGWR):將重做日志緩沖區(qū)的信息寫入到重做日志文件中。
系統(tǒng)監(jiān)控(SMON):如果數(shù)據(jù)庫遇到不正常關(guān)閉的情況,比如突然斷電等。那么再次啟動(dòng)數(shù)據(jù)庫時(shí)SMON進(jìn)程進(jìn)行必要的 數(shù)據(jù)修復(fù)操作。
進(jìn)程監(jiān)控(PMON):負(fù)責(zé)在一個(gè)Oracle進(jìn)程失敗時(shí)清理資源,用于恢復(fù)失敗的用戶進(jìn)程。
檢查點(diǎn)進(jìn)程(CKPT):負(fù)責(zé)在每當(dāng)緩沖區(qū)中的更改永久地紀(jì)錄在數(shù)據(jù)庫中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息,確保數(shù)據(jù)庫的同步。
歸檔進(jìn)程(ARCH):在每次日志切換時(shí)把已滿的日志組進(jìn)行備份歸檔,有歸檔方式和非歸檔方式(默認(rèn))。

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),每個(gè)數(shù)據(jù)庫有一組數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能對(duì)應(yīng)一個(gè)數(shù)據(jù)庫。
日志文件:記錄了對(duì)數(shù)據(jù)庫進(jìn)行的所有操作(*.LOG),主要用于數(shù)據(jù)庫故障時(shí)恢復(fù)。
控制文件:記錄了數(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)教程.中科院培訓(xùn)老師講授
Oracle學(xué)習(xí)筆記二,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