| 故障類型 | 影響範圍 | 恢復策略 | 關鍵命令/步驟 |
|---|---|---|---|
| 數據文件損壞 | 單表空間/部分對象不可用 | 文件級恢復 | 1. SHUTDOWN IMMEDIATE 2. 從備份恢復文件至原路徑 3. STARTUP MOUNT 4. RECOVER DATAFILE '...' 5. ALTER DATABASE OPEN |
| 控制文件損壞 | 整庫不可掛載 | 控制文件恢復 | 1. SHUTDOWN ABORT 2. 從備份恢復所有控制文件 3. STARTUP (若參數文件路徑正確) 或重建控制文件 |
| 整個文件系統損壞 | 全庫崩潰,磁盤/陣列故障 | 災難級恢復 | 1. 更換硬件、重建RAID、初始化文件系統 2. 重裝OS/Oracle軟件(同版本) 3. 還原所有備份文件 4. 參考控制文件重建流程 5. RECOVER DATABASE 6. ALTER DATABASE OPEN RESETLOGS |
smartctl/MegaCLI/存儲管理界面確認故障盤位,標記物理槽位;MegaCLI -PDList -aAll進度);fsck -y /dev/sdX(若Raw Device則跳過);ALTER DISKGROUP ... ADD DISK 觸發自動再平衡;若文件系統,還原備份文件並執行介質恢復。-- init.ora / spfile
AUDIT_TRAIL = DB_EXTENDED -- 記錄SQL文本+綁定變量 (11g+推薦)
-- 或 XML/OS/XML_EXTENDED
AUDIT_SYS_OPERATIONS = TRUE -- 審計SYS操作
AUDIT_FILE_DEST = /audit/oracle/$ORACLE_SID -- 審計文件目錄
生效方式: 修改SPFILE需STARTUP FORCE重啟實例。
-- 成功/失敗訪問審計
AUDIT SELECT, INSERT, UPDATE, DELETE ON core_table BY ACCESS;
-- 按Session審計(性能較好)
AUDIT SELECT, INSERT, UPDATE, DELETE ON core_table BY SESSION;
-- 精細控制:僅審計特定列變更
AUDIT UPDATE (salary, bonus) ON hr.employees BY ACCESS;
-- 系統級操作審計
AUDIT CREATE SESSION, ALTER SYSTEM, GRANT, REVOKE BY ACCESS;
-- 審計系統用戶
AUDIT ALL ON SYS.AUD$ BY ACCESS; -- 審計審計表本身
-- 禁止/允許寫入審計表(防範竄改)
NOAUDIT INSERT, UPDATE, DELETE ON SYS.AUD$; -- 禁止普通用戶修改審計數據
-- 高風險操作日報
SELECT
TO_CHAR(timestamp, 'YYYY-MM-DD HH24:MI') AS tm,
os_username, db_username, action_name, obj_name, sql_text
FROM dba_audit_trail
WHERE timestamp > SYSDATE - 1
AND (action_name IN ('DROP TABLE','TRUNCATE TABLE','ALTER USER','GRANT','REVOKE')
OR returncode != 0) -- 失敗操作
ORDER BY timestamp DESC;
-- 異常登錄模式檢測
SELECT db_username, COUNT(*) failed_cnt,
MIN(timestamp) first_fail, MAX(timestamp) last_fail
FROM dba_audit_trail
WHERE action_name = 'LOGON' AND returncode != 0
AND timestamp > SYSDATE - 7
GROUP BY db_username
HAVING COUNT(*) > 10 -- 7天內失敗超10次
ORDER BY failed_cnt DESC;
| 優化方向 | 措施 |
|---|---|
| 寫入性能 | AUDIT_TRAIL=DB異步寫入;避免BY ACCESS高頻表,改用BY SESSION; |
| 存儲增長 | 定期歸檔SYS.AUD$至分區表/外部表/數據湖;DBMS_AUDIT_MGMT自動清理(11g+); |
| 查詢性能 | 在AUD$關鍵列建立索引(TIMESTAMP#, ACTION#, USERID); |
| 統一審計(12c+) | 啟用UNIFIED AUDIT,整合標準/精細/數據泵/Recovery Manager審計,性能提升10倍。 |
介質故障恢復考驗的是備份完整性、恢復流程熟練度、硬件協同能力;審計機制建設考驗的是合規意識、策略精細度、數據分析能力。建議將兩者納入年度應急演練計劃(每季度1次介質故障模擬、每月1次審計報告分析),並建立審計數據湖支撐長期威脅狩獵與合規審計溯源。