首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 體系架構基石:資料庫、表空間與資料檔案邏輯物理映射關係

     編輯:Oracle 資料庫基礎

理解 Oracle 體系架構必須從「資料庫」這一核心概念切入。本文詳細闡述資料庫與實例的區別、表空間邏輯劃分、資料檔案物理儲存、三大強制檔案類型,並提供常用查詢指令與操作範例。

一、 資料庫 vs 實例:核心區別

二、 表空間:邏輯儲存單元

  • 每個資料庫**至少一個**表空間:SYSTEM (核心字典)、SYSAUX (輔助元件)、UNDO、TEMP
  • 一個表空間屬於**一個**資料庫,由**一個或多個**資料檔案組成
  • 表空間屬性:ONLINE/OFFLINE、READ ONLY/READ WRITE

關鍵操作指令

-- 建立表空間
CREATE TABLESPACE users DATAFILE '/u01/oradata/users01.dbf' SIZE 100M AUTOEXTEND ON;

-- 修改屬性
ALTER TABLESPACE users OFFLINE;          -- 需無作用中交易
ALTER TABLESPACE users READ ONLY;

-- 查詢狀態
SELECT tablespace_name, status, contents FROM dba_tablespaces;

-- 查詢表空間與資料檔對應
SELECT tablespace_name, file_name, bytes/1024/1024 MB FROM dba_data_files;

表空間特性與用途

維度資料庫實例
本質**靜態**檔案集合 (資料檔、控制檔、Redo Log)**動態**記憶體結構 + 背景進程 (SGA + PMON/SMON/DBWR/LGWR...)
生命週期建立後持久存在,除非 DROP DATABASE啟動/關閉可多次,不影響資料庫檔案
關係一個資料庫可被多個實例掛載 (RAC)一個實例同一時間只能掛載一個資料庫

三、 資料檔案:物理儲存載體

  • 一個資料檔**只能屬於一個**表空間
  • 建立後可 RESIZE / AUTOEXTEND 調整大小
  • 加入表空間後**不可移除**、不可關聯其他表空間

三大強制檔案類型

特性說明典型應用
磁碟配額控制限制使用者在表空間最大用量多租戶/部門隔離
離線/唯讀備份窗口、歷史歸檔表空間歸檔資料、唯讀報表
部分備份恢復表空間級 RMAN 備份/恢復縮短 RTO/RPO
透過資料檔擴展表空間大小 = 所有資料檔大小總和容量規劃依據

輔助檔案 (非強制)

  • Parameter File (PFILE/SPFILE):啟動參數
  • Password File:遠端 SYSDBA 認證
  • Archived Redo Log:歸檔模式下的離線 Redo 複本

四、 基於表空間的常見管理操作

-- 1. 查詢使用者預設表空間
SELECT username, default_tablespace FROM dba_users;

-- 2. 查詢表所在表空間
SELECT table_name, tablespace_name FROM user_tables;

-- 3. 修改使用者預設表空間
ALTER USER scott DEFAULT TABLESPACE users;

-- 4. 移動表至其他表空間 (需鎖表、重建索引)
ALTER TABLE scott.emp MOVE TABLESPACE users;
-- 索引同步移動
ALTER INDEX scott.pk_emp REBUILD TABLESPACE users_idx;

五、 實體檔案結構快速巡檢

-- 資料檔
SELECT file#, name, status, bytes/1024/1024 MB FROM v$datafile;

-- 控制檔
SELECT name, status, is_recovery_dest_file FROM v$controlfile;

-- Redo Log 檔
SELECT group#, member, status, bytes/1024/1024 MB FROM v$logfile;

六、 架構師視角:資料庫設計原則

  1. 分離關注點:系統/系統輔助/撤銷/暫存/使用者/索引/LOB 分不同表空間
  2. 檔案分散:資料檔分置不同磁碟/ASM 磁碟群,平衡 I/O
  3. 命名規範:{DB}_{PURPOSE}_{SEQ}.dbf 如 PROD_USERS_01.dbf
  4. 控制檔多重鏡像:至少 3 份分置不同控制器/儲存陣列
  5. Redo Log 多工:每組至少 2 成員,分置不同磁碟

資料庫是靜態檔案容器,實例是動態存取引擎。表空間連結兩者,將邏輯業務域映射至物理儲存資源。掌握這層映射關係,是容量規劃、效能調校、高可用架構設計的前提。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
檔案類型功能查詢視圖
Data File (.dbf)儲存表、索引、LOB 等使用者資料V$DATAFILE, DBA_DATA_FILES
Control File (.ctl)資料庫元資料:檔案名、SCN、Checkpoint、RMAN 記錄V$CONTROLFILE
Redo Log File (.log)記錄所有變更,支援崩潰恢復、Data GuardV$LOGFILE, V$LOG