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

Oracle 物理結構故障緊急處理:控制檔、Redo Log、資料檔分級恢復指南

     編輯:Oracle 資料庫基礎

前言

物理結構故障指構成資料庫的物理檔案損壞,可能源於硬體故障或人為誤操作。優先排除硬體問題,再按下列流程處理。

控制檔損壞

單一控制檔損壞

  1. SHUTDOWN IMMEDIATE 關閉資料庫
  2. 查 init.ora 確認所有控制檔路徑
  3. OS 命令以正確控制檔覆蓋損壞檔
  4. STARTUP 啟動資料庫
  5. 執行完整備份

所有控制檔損壞

  1. SHUTDOWN IMMEDIATE
  2. 從備份還原最近控制檔(磁帶或 RMAN)
  3. STARTUP MOUNT → ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS 產生重建腳本
  4. 查 alert.log 確認 trace 路徑,修改腳本反映最新資料庫結構,存為 createcontrol.sql
  5. SHUTDOWN ABORT → STARTUP NOMOUNT → @createcontrol.sql 重建控制檔
  6. 完整備份

Redo Log 損壞

查詢 v$logfile、v$log 確認損壞組號與狀態(INVALID/INACTIVE/ACTIVE/CURRENT)。

Inactive Log Group 損壞

ALTER DATABASE DROP LOGFILE GROUP n;
ALTER DATABASE ADD LOGFILE GROUP n ('path',...) SIZE size;

Active (非 Current) Log Group 損壞

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP n;

Current Log Group 損壞

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP n;
-- 若失敗,僅能做時間點不完整恢復

完成後 ALTER DATABASE OPEN 並完整備份。

部分資料檔損壞

  • 非 SYSTEM 表空間:資料庫保持 OPEN,單獨恢復損壞檔
  • SYSTEM 表空間:資料庫異常終止,需 STARTUP MOUNT 狀態下恢復

可查閱警報日誌判斷損壞檔是否屬 SYSTEM 表空間。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved