oracle各個版本間的主要技術更新
oracle 8 增長數據庫建立和存儲對象 oracle 8i 總體性能提高 oracle9i 實施應用集羣 oracle 10g 支持網格計算 oracle 11g 自我調整 自我管理
oracle後綴中的字母含義:
i : 包含internet部署的新功能
g: 專一於新興的網格計算模型
c: 雲服務 cloud
oracle中數據庫與實例的概念java
數據庫:信息的物理存儲。
數據庫是物理的,由存儲在磁盤中的文件組成
實例:服務器上運行的軟件,提供了對數據庫的信息的訪問。
實例是邏輯的,由服務器內存中的結構和進程組成
oracle結構
表空間、控制文件、redo日誌文件、日誌檔案、塊變化跟蹤文件、Flashback日誌、恢復備份RMAN
表空間:全部數據存儲在表空間中
數據庫文件:控制文件、數據文件、redo日誌文件
控制文件:包含了數據庫的其餘物理文件的位置信息,以及有關數據庫內容和狀態的關鍵信息,具體包括:
1 數據庫名稱
2 數據庫建立時間
3 數據文件和redo日誌文件的名稱和位置
4 表空間信息
5 數據文件離線範圍
6 日誌歷史及當前日誌順序信息
7 歸檔的日誌信息
8 備份集合、數據片、數據文件、和redo日誌信息
9 數據文件拷貝信息
10 檢查點信息
oracle中的基本結構相關知識
1:數據庫一般存在至少兩個不一樣物理磁盤中的控制文件
2:數據文件存儲數據庫中的實際數據,數據文件僅屬於一個數據庫的一個表空間
3:數據塊的大小事一次讀或者寫操做的最小數據量
4:數據文件的第一個數據塊---數據文件首部,包含了維護整個數據庫完整性的關鍵信息。其中包含檢查點結構(邏輯的時間戳,來指定寫入數據文件的最後時刻)
5:數據文件的三個中間結構層:數據塊,數據區間,段
6:redo文件記錄事務和oracle內部行爲對數據庫形成的變更
7:一個實例使用一個redo線程,一個redo線程由若干redo日誌組構成,一個redo日誌組由一個或者多個日誌成員組成(多個日誌成員實現備份,防止磁盤故障沒法恢復)
8:控制文件丟了,能夠從新構建控制文件的靜態部分。redo文件丟了,就沒法重建了,注意備份。
9:操做系統使用redo日誌文件來表示對應的物理文件,oracle使用redo日誌的順序號來肯定循環使用的日誌文件的額順序
10:redog1m1.log----g1組號m1成員好----日誌文件命名規則
11:日誌文件:在線redo日誌 歸檔redo日誌
oracle中SGA、PGA相關知識
12:共享內存:共享內存池、大內存池、java內存池、 緩衝器緩衝、流內存池
13:SGA:數據庫高速緩存、共享內存池、redo日誌緩存區
14:數據庫高速緩存:緩存從數據庫中獲取的數據,使用最近最少使用算法LRU,若是設置了MEMORY_TARGET或者SGA_TARGET則會自動分配緩存DB_CACHE_SIZE的大小
15:緩存用戶間共享的各類結構,手動指定:SHARED_POOL_SIZE或者MEMORY_TARGET或者SGA_TARGET
16:redo日誌緩存區:緩存redo日誌文件,直到被寫入磁盤redo日誌文件中
17:大內存池:爲各類IO服務器進程、數據庫備份、恢復提供內存分配
18:java內存池:爲java程序運行提供內存分配
19:流內存池:爲oracle streams在SGA中的消息隊列提供內存分配
20:經過PGA_AGGREGATE_TARGET分配PGA內存,全局內存區(PGA)
oracle中相關進程的知識
21:數據庫寫進程DBWn:負責將SGA中的數據庫高速緩存裏的數據塊寫入磁盤中的數據文件。一般只用一個,可是可多達20多個。使用狀況---oracle執行檢查點,保證數據文件內容與redo日誌一致時---用戶請求數據塊讀入告訴緩存中,但高速緩存已經滿時,會寫入最近最少訪問的數據塊
22:日誌寫進程 LGWR:負責將SGA中日誌緩存區中的redo日誌信息寫入磁盤redo日誌文件中
23:系統監視進程SMON:維護數據庫完整性,穩定性
24:進程監視進程PMON:監視訪問數據庫的用戶進程
25:歸檔進程ARCn:將被寫滿的redo日誌文件拷貝到指定的歸檔日誌目錄
26:檢查點進程CKPT:負責執行檢查點時更新數據文件頭
27:恢復進程RECO:自動清除故障或被掛起的分佈式事務
28:派遣進程:部署共享服務器配置的環境
29:全局高速緩存服務 LMS:管理集羣資源和實例間的資源
30:做業隊列:批量調度PL/SQL語句或過程
31:隊列監控進程QMNn:負責監控oracle streams消息隊列
32:自動化存儲管理ASM相關進程:
以上的進程,相對於linux來講,是不一樣的進程,相對於windows來講,是統一oracle進程中的不一樣線程