首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 兩大核心概念:Database 與 Instance 架構詳細圖解

     編輯:Oracle 資料庫相關知識

一、Database(資料庫)— 靜態儲存結構

1. Tablespace(表空間)

  • 邏輯劃分,每庫至少一個 SYSTEM 表空間。
  • 一表空間屬於一資料庫,由一或多個 Datafile 組成。
  • 特性:控制磁碟分配、限制用戶配額、Online/Offline/ReadOnly、支援表空間級備份恢復、大小 = 組成 Datafile 大小總和。

常用查詢

-- 表空間狀態
SELECT tablespace_name, status FROM dba_tablespaces;
-- 表空間與 Datafile 對應
SELECT tablespace_name, bytes, file_name FROM dba_data_files;
-- 用戶預設表空間
SELECT username, default_tablespace FROM dba_users;
-- 表所在表空間
SELECT table_name, tablespace_name FROM user_tables;
-- 移動表至其他表空間
ALTER TABLE t MOVE TABLESPACE new_ts;

2. Datafile(資料檔)

  • 物理檔案,屬於單一表空間,創建後可調整大小(ALTER DATABASE DATAFILE ... RESIZE)。
  • 必須三類檔案:Datafile、Controlfile、Redo Logfile。其他(Parameter file、Password file、Archived log)為輔助。

查看物理檔案組成

SELECT * FROM v$datafile;
SELECT * FROM v$controlfile;
SELECT * FROM v$logfile;

二、Instance(實例)— 動態進程與記憶體

參數儲存於 init.ora (PFILE) 或 SPFILE (spfile.ora)。啟動時讀取,修改參數需重啟生效(動態參數除外)。

1. Memory Structure

區域特性主要組件
SGA (System Global Area)所有進程共享Shared Pool、Database Buffer Cache、Redo Log Buffer、Large Pool、Java Pool、Streams Pool、In-Memory Area (12c+)
PGA (Program Global Area)單一進程專用Sort Area、Hash Area、Session Info、Cursor State、SQL Work Area

2. Background Processes

進程職責
PMON進程失敗清理(釋放鎖、回滾交易、釋放 SGA 資源)
SMON實例恢復、臨時段清理、合併自由空間
DBWn將髒緩衝寫入 Datafile(LRU、Checkpoint、快速啟動)
LGWR將 Redo Log Buffer 寫入 Online Redo Logfile(Commit 觸發、1/3 滿、3 秒超時)
CKPTCheckpoint 時更新 Controlfile/Datafile 標頭 SCN,縮短恢復時間
ARCn歸檔模式下將填滿的 Redo Log 複製至歸檔目的地
MMAN自動記憶體管理(AMM/ASMM)調整 SGA/PGA 組件大小
RECO分散式交易恢復(兩階段提交失敗時)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved