一、安裝
安裝過程中的幾個關鍵點:全域資料庫名、系統標識符(SID,執行個體名)、伺服器參數檔案(SPFILEXXX(執行個體名).ORA)。
監聽器的配置: server\NETWORK\ADMIN 檔案夾下的參數檔案(listener.ora,tnsnames.ora)。
二、Oracle 體繫結構
1、執行個體
執行個體是後台進程和記憶體結構的集合,必須啟動執行個體才能訪問資料庫中的資料,一個執行個體只能開啟並使用一個資料庫。
執行個體啟動時,將分配一個系統全域區(SGA)並啟動一系列的後台進程,每個後台進程執行不同的任務。
2、資料庫
Oracle 資料庫物理上指一組作業系統檔案(資料檔案),邏輯上指資料庫建立後的邏輯關係。
3、會話
會話時使用者與 Oracle 伺服器的單個串連,建立串連時建立,中斷連線時關閉。
當一個資料庫使用者同時對伺服器產生多個串連時,則為該使用者建立多個並行會話。
4、記憶體
Oracle 記憶體結構包含以下兩個記憶體區:
系統全域區(SGA):執行個體啟動時分配該記憶體區。
程式全域區(PGA):伺服器處理序啟動時分配該記憶體區。
A、系統全域區(SGA,System Global Area 共用全域區)
用來儲存資料庫資訊,並由伺服器處理序共用。
按作用可分為:
● 共用池(Shared Pool)【操作共用】
共用池包括 庫緩衝區(Shared SQL & PL/SQL) 和 資料字典緩衝。
a.庫緩衝區:包括最近執行的 SQL 解釋版本,PL/SQL 過程、函數等程式單元的編譯版本,方便使用者共用調用,節省開銷及提高進程速度。
b.資料字典緩衝:把頻繁用到的資料字典(表,列,索引、許可權等資訊)儲存到記憶體中,能減少 SQL語句引起的效能上衝突。
● 資料緩衝區(Data Buffer Cache)【記錄共用】
主要作用是將需要讀取或者存取的資料區塊進行一個緩衝,從而減少太過頻繁的對磁碟進行讀和寫的操作。所有同時上線的使用者都可以共用這個地區。進程在處理一個查詢時,優先尋找記憶體中是否有所需的資料區塊,提高了讀取速度。
● 日誌緩衝區(Redo Log Buffer)
該地區是將所有記錄資料操作的資訊都儲存在該緩衝中,在適當的時機由LGWR進程將他們寫入到磁碟的記錄檔中。
● 大共用區(Large Pool)
Oracle 可選特徵,主要用於多線程。
B、程式全域區(Program Global Area)
PGA是資料庫伺服器記憶體中為單個使用者進程分配的專用的記憶體地區,是使用者進程私人的,不能共用。
它由使用者串連到資料庫並建立一個會話時自動分配,當會話結束後自動釋放。
5、進程
使用者進程:資料庫使用者請求串連 Oracle 伺服器時啟動。
伺服器處理序:使用者建立會話串連時啟用,處理一個或多個使用者進程請求。
後台進程:Oracle 執行個體啟動時啟動,提高系統效能和協調多使用者。
資料寫進程(DBWR):負責將塊緩衝區的資料寫入到磁碟中的資料檔案裡。
日誌寫進程(LGWR):將重做日誌緩衝區的資訊寫入到重做記錄檔中。
系統監控(SMON):如果資料庫遇到不正常關閉的情況,比如突然斷電等。那麼再次啟動資料庫時SMON進程進行必要的 資料修複操作。
進程監控(PMON):負責在一個Oracle進程失敗時清理資源,用於恢複失敗的使用者進程。
檢查點進程(CKPT):負責在每當緩衝區中的更改永久地紀錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊,確保資料庫的同步。
歸檔進程(ARCH):在每次日誌切換時把已滿的日誌組進行備份歸檔,有歸檔方式和非歸檔方式(預設)。
6、資料庫邏輯結構
資料庫、資料表空間(tablespace)、段(segment)、區(extent)、資料區塊(block)
7、資料庫物理結構
資料檔案:用於存放所有的資料(*.DBF),每個資料庫有一組資料檔案,一個資料檔案只能對應一個資料庫。
記錄檔:記錄了對資料庫進行的所有操作(*.LOG),主要用於資料庫故障時恢複。
控制檔案:記錄了資料庫所有檔案的控制資訊(*.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.內容參考:
Oracle.10G.資料庫系統教程.中科院培訓老師講授
Oracle學習筆記二,Oracle體繫結構 http://www.lurenjia.net/article.asp?id=189
Oracle 9i資料庫伺服器的體繫結構 http://www.it-waibao.com/IToutsourcing/support/database/Oracle/catalogTreeID100_folderID520_infoID10452.html