| 檔案類型 | 功能 | 查詢視圖 |
| Data File (.dbf) | 儲存表、索引、LOB 等使用者資料 | V$DATAFILE, DBA_DATA_FILES |
| Control File (.ctl) | 資料庫元資料:檔案名、SCN、Checkpoint、RMAN 記錄 | V$CONTROLFILE |
| Redo Log File (.log) | 記錄所有變更,支援崩潰恢復、Data Guard | V$LOGFILE, V$LOG |
輔助檔案 (非強制)
- 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;
六、 架構師視角:資料庫設計原則
- 分離關注點:系統/系統輔助/撤銷/暫存/使用者/索引/LOB 分不同表空間
- 檔案分散:資料檔分置不同磁碟/ASM 磁碟群,平衡 I/O
- 命名規範:
{DB}_{PURPOSE}_{SEQ}.dbf 如 PROD_USERS_01.dbf
- 控制檔多重鏡像:至少 3 份分置不同控制器/儲存陣列
- Redo Log 多工:每組至少 2 成員,分置不同磁碟
資料庫是靜態檔案容器,實例是動態存取引擎。表空間連結兩者,將邏輯業務域映射至物理儲存資源。掌握這層映射關係,是容量規劃、效能調校、高可用架構設計的前提。
- 上一篇文章: Oracle Linux 靜默安裝自動化腳本:核心參數、用戶建立、環境變數一鍵配置
- 下一篇文章: Oracle 實例架構深度解析:SGA/PGA 記憶體結構與五大背景進程職責
Copyright ©
程式碼之家 All Rights Reserved