學習oracle,最好首先了解oracle的框架。這樣對oracle有乙個整體的認識,有高屋建瓴的作用
1、物理結構(由控制檔案、資料檔案、重做日誌檔案、引數檔案、歸檔檔案、口令檔案組成)
乙個 資料庫中的資料儲存在磁碟上物理檔案,被使用時,調入記憶體。
其中控制檔案、資料檔案、重做日誌檔案、跟蹤檔案及警告日誌(trace files,alert files)屬於資料庫檔案;
引數檔案(parameter file)口令檔案(password file)是非資料庫檔案
1.1資料檔案:儲存資料的檔案.資料檔案典型地代表了根據他們使用的磁碟空間和數量所決定的乙個oracle資料庫的容積。
由於效能原因,每一種型別的資料放在相應的乙個或一系列檔案中,將這些檔案放在不同的磁碟中。
types:
.data dictionary .data
.redo data .index
.temporary data 等等
1.2控制檔案:包含維護和驗證資料庫完整性的必要資訊、例如,控制檔案用於識別資料檔案和重做日誌檔案,乙個資料庫至少需要乙個控制檔案.
控制檔案內容
。資料庫名
。表空間資訊
。所有資料檔案的名字和位置
。所有redo日誌檔案的名字和位置
。當前的日誌序列號
。檢查點資訊
。關於redo日誌和歸檔的當前狀態資訊
控制檔案的使用過程
控制檔案把oracle引導到資料庫檔案的其它部分。啟動乙個例項時,oracle 從引數檔案中讀取控制檔案的名字和位置。安裝資料庫時,oracle 開啟控制檔案。最終開啟資料庫時,oracle 從控制檔案中讀取資料檔案的列表並開啟其中的每個檔案。
1.3重做日誌檔案:含對資料庫所做的更改記錄,這樣萬一出現故障可以啟用資料恢復。乙個資料庫至少需要兩個重做日誌檔案.
1.4 跟蹤檔案及警告日誌(trace files and alert files)
在instance 中執行的每乙個後台程序都有乙個跟蹤檔案(trace file)與之相連。trace file 記載後台程序所遇到的重大事件的資訊。
警告日誌( alert log)是一種特殊的跟蹤檔案,每個資料庫都有乙個跟蹤檔案,同步記載資料庫的訊息和錯誤.
1.5引數檔案:包括大量影響oracle資料庫例項功能的設定,如以下設定:
。資料庫控制檔案的定位
。oracle用來快取從磁碟上讀取的資料的記憶體數量
。預設的優化程式的選擇.
和資料庫檔案相關,執行兩個重要的功能
1〉為資料庫指出控制檔案
2〉為資料庫指出歸檔日誌的目標
1.6歸檔檔案:是重做日誌檔案的離線副本,這些副本可能對於從介質失敗中進行恢復很必要。
1.7口令檔案:認證哪些使用者有許可權啟動和關閉oracle例程.
2、邏輯結構(表空間、段、區、塊)
表空間:是資料庫中的基本邏輯結構,一系列資料檔案的集合。
段:是物件在資料庫中占用的空間.
區:是為資料一次性預留的乙個較大的儲存空間.
塊:oracle最基本的儲存單位,在建立資料庫的時候指定.
3、記憶體分配(sga和pga)
sga:是用於儲存資料庫資訊的記憶體區,該資訊為資料庫程序所共享。它包含oracle 伺服器的資料和控制資訊,它是在oracle伺服器所駐留的計算機的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。
pga:包含單個伺服器程序或單個後台程序的資料和控制資訊,與幾個程序共享的sga 正相反,pga 是只被乙個程序使用的區域,pga 在建立程序時分配,在終止程序時**.
4、後台程序
包括資料寫程序(database writer,dbwr)、日誌寫程序(log writer,lgwr)、系統監控(system monitor,smon)、程序監控(process monitor,pmon)、檢查點程序(checkpoint process,ckpt)、歸檔程序、服務程序、使用者程序)
資料寫程序:負責將更改的資料從資料庫緩衝區快取記憶體寫入資料檔案
系統監控:檢查資料庫的一致性如有必要還會在資料庫開啟時啟動資料庫的恢復
程序監控:負責在乙個oracle 程序失敗時清理資源
檢查點程序:負責在每當緩衝區快取記憶體中的更改永久地記錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊。該程序在檢查點出現時,對全部資料檔案的標題進行修改,指示該檢查點。在通常的情況下,該任務由lgwr執行。然而,如果檢查點明顯地降低系統效能時,可使ckpt程序執行,將原來由lgwr程序執行的檢查點的工作分離出來,
由ckpt程序實現。對於許多應用情況,ckpt程序是不必要的。只有當資料庫有許多資料檔案,lgwr在檢查點時明顯地降低效能才使ckpt執行。ckpt程序不將塊寫入磁碟,該工作是由dbwr完成的。 init.ora檔案中 checkpoint_process 引數控制ckpt程序的使能或使不能。預設時為false,即為使不能。
歸檔程序:在每次日誌切換時把已滿的日誌組進行備份或歸檔
服務程序:使用者程序服務。
使用者程序:在客戶端,負責將使用者的sql語句傳遞給服務程序,並從伺服器段拿回查詢資料。
5、scn(system changenumber):
系統改變號,乙個由系統內部維護的序列號。當系統需要更新的時候自動增加,他是系統中維持資料的一致性和順序恢復的重要標誌。
架構師小掌握哪些知識
架構師首先必須具有豐富的開發經驗,是個技術主管。因為他必須清楚什麼是可以實現的,實現的方式有哪些,相應的難度怎麼樣,實現出來的系統面對需求變化的適應性等一系列指標。另外,需要對面向過程 物件導向 面向服務等設計理念有深刻的理解,可以快速的察覺出實現中的問題並提出相應的改進 重構 方案 也就是通常說的...
架構師應該掌握哪些設計模式
今天去參加了北京博文視點出版社在上海辦的乙個open party http www.douban.com event 11051981 其中有兩個topic給我很大的啟發,乙個是溫昱的 架構 設計的事實與謬誤 另乙個是老趙 jeffz cn 的 web應用中的快取 當然,我的收穫未必是他們兩位想要傳...
學習Oracle應該掌握的技能
說明 了解 掌握 理解 精通 綜合運用 初步了解 1分 了解 2分 掌握 理解 3分 熟練掌握 理解透徹 4分 精通 5分 綜合運用 6分 1.熟練掌握oracle的安裝 windows linux 10g 11g 2.掌握oracle的解除安裝 windows linux 10g 11g 3.熟練...