文件分類總覽
| 類別 | 文件類型 | 屬性 | 核心職能 |
數據庫文件 (啟動後由實例管理) | 控制文件 | 二進制、多路鏡像 | 數據庫元數據中樞:名稱、數據文件/日志文件路徑、SCN、檢查點、歸檔狀態、RMAN備份記錄 |
| 數據文件 | 二進制、表空間容器 | 存儲所有用戶數據、系統數據字典、Undo、臨時段 |
| 重做日志文件 | 二進制、循環組 | 記錄所有變更Redo向量,保證事務持久性與實例/介質恢復 |
| 跟蹤/告警文件 | 文本 | 後台進程診斷信息、錯誤堆棧、關鍵事件時間線 |
非數據庫文件 (實例啟動前由OS/工具讀取) | 參數文件(PFILE/SPFILE) | 文本/二進制 | 實例啟動配置:SGA大小、控制文件路徑、歸檔目標、優化器模式等 |
| 口令文件 | 二進制 | SYSDBA/SYSOPER遠程認證憑證,支援共享/獨享模式 |
| 歸檔日志文件 | 二進制 | 聯機日志離線副本,構成完整恢復鏈,支援PITR/Data Guard |
控制文件深度剖析
核心內容
- 數據庫名稱、DBID、創建時間、Resetlogs SCN/Time
- 所有表空間名稱、狀態、數據文件路徑/大小/狀態
- 所有Redo Log組/成員路徑/大小/序列號/狀態
- 當前日志序列號、線程號
- 檢查點信息:CKPT SCN、時間、數據文件頭SCN
- 歸檔日志歷史、RMAN備份集/片記錄(控制文件作為RMAN倉庫默認模式)
啟動流程中的角色
1. 讀取參數文件 → 獲取 control_files 路徑
2. 打開控制文件 → 驗證一致性(多鏡像比對)
3. 從控制文件讀取數據文件列表 → 逐個打開數據文件
4. 從控制文件讀取Redo Log列表 → 打開日志文件 → 實例恢復(如需)
5. 打開數據庫 → 可接受用戶連接
參數文件雙形態
| 特性 | PFILE (init.ora) | SPFILE (spfile.ora) |
| 格式 | 文本,可手工編輯 | 二進制,不可直接編輯 |
| 修改生效 | 需重啟 | ALTER SYSTEM SET ... SCOPE=SPFILE/MEMORY/BOTH動態生效 |
| 備份/版本控制 | 易於Git/SVN管理 | 需CREATE PFILE FROM SPFILE導出文本備份 |
| 啟動優先級 | 次要 | 優先讀取spfile.ora → spfile.ora → init.ora → init.ora |
口令文件管理
# 創建/重建
orapwd file=$ORACLE_HOME/dbs/orapwORCL password=SysPass#123 entries=10 force=y
# 參數控制認證模式
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE | SHARED | NONE
歸檔日志:恢復的命脈
- 聯機日志切換 → ARCh進程複製 → 歸檔文件
- 命名:
LOG_ARCHIVE_FORMAT(建議arch_%t_%s_%r.arc)
- 存儲:本地FRA + 遠程Standby雙通道
- 清理:僅限RMAN
DELETE ARCHIVELOG ... BACKED UP n TIMES
跟蹤文件與告警日志
| 類型 | 位置 | 內容 | 管理 |
| 後台進程跟蹤 | DIAGNOSTIC_DEST/diag/rdbms///trace | 進程異常堆棧、死鎖追蹤、性能診斷事件 | 自動輪轉,MAX_DUMP_FILE_SIZE控制大小 |
| 告警日志 | 同目錄 alert_.log | 實例啟動/關閉、日志切換、錯誤(ORA-)、空間告警、備份/恢復事件 | 關鍵監控源,建議日志採集系統實時采集 |
架構鐵律:
• 控制文件強制3路鏡像,分離物理設備。
• 數據文件按業務/類型分表空間,分佈不同磁盤組平衡I/O。
• Redo Log組數≥3,成員≥2,大小使切換15-30min。
• 參數文件生產強制SPFILE,變更納入版本控制。
• 歸檔日志禁止手工管理,全生命周期交給RMAN+FRA。
• 告警日志接入監控平台,關鍵錯誤(ORA-00600/01578/00313等)秒級告警。