程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> oracle 數據庫學習 基本結構介紹

oracle 數據庫學習 基本結構介紹

編輯:關於Oracle數據庫

普及一下oracle的基礎知識,總結一下,oracle 是由實例和數據庫組成。結構如下:

oracle數據庫由實例、數據庫組成:

* 數據庫由數據文件(包含oracle 數據、索引、表結構等數據)、控制文件(包括每個表的操作信息)、日志文件(數據操作sql語句)、參數文件、口令文件、日志歸檔文件(歸檔模式下)(服務器崩潰、硬盤損壞情況下,通過日志恢復時用)

* 實例由 內存結構(memory strutct) 和 後台進程(background processor)組成。

內存結構組成:

* PGA: Processor Global Area 程序全局區 ,每一個客戶端接入到oracle 服務器都有一個PGA,用於保存該客戶單的相關信息

* SGA: System Global Area 系統全局區,主要是給oracle實例使用,包括 shared pool 、 data buffer area , redo log buffer .

共享池(shared pool):

* 包括library cache 、data directory cache 組成,其中 library cache 主要保存最近的sql 檢查、編譯、執行計劃, 下次有同樣語句過來的時候,可以重用這些,避免重復的檢查編譯執行計劃。 data directory cache 主要保存數據庫數據表的字段定義、索引數據等, shared pool 的大小直接影響到數據庫的性能。

data buffer area : 主要保存用戶對數據的修改,查詢操作。該內存區域的大小直接影響數據庫的性能。

redo log buffer area: 主要保存最近用戶對數據庫的操作記錄,該大小對數據庫性能沒有多大影響

oracle 必須要的後台進程包括:PMON 、 SMON 、 DBWR、 LOGWR、 CKPT、其他,每個作用如下:

*PMON 監控PGA的健康情況,釋放已經死去的PGA,回收資源,管理PGA的生命周期

*SMON 監控SGA的健康情況,收集SGA碎片內存,監控實例健康情況

*DBWR 維護data buffer area 和物理表數據的一致性

*LGWR 維護redo log buffer area 內存數據和日志文件的一致性

*CKPT 設置檢查點,在oracle 實例出現問題的時候,可以恢復到實例失敗前的情況。

oracle 內存結構有 塊、區、段、表空間組成,塊是oracle 在內存中的最小結構, 區、段、 表空間是oracle 依次向上的內存結構。快的太小數據管理麻煩,太大,數據碎片比較多。具體情況具體分析。

表空間是oracle最大的邏輯單位,一個表空間只能屬於一個數據庫,一個數據庫可以包含多個表空間,但默認包含一個system的表空間。創建表空間的語法:

代碼如下:

CREATE TABLESPACE name
DATAFILE path [SIZE interger M|K]
LOGFILE path
[AUTOEXTEND ON | OFF]

客戶端鏈接服務器配置:

以後補充

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved