檢測到回滾段表空間資料檔遺失/損壞時,**切勿關閉資料庫**。線上狀態提供更多恢復選項。
ALTER DATABASE DATAFILE 'full_path' OFFLINE;ALTER DATABASE RENAME FILE)。SELECT v1.group#, member, sequence# FROM v$log v1, v$logfile v2 WHERE v1.group#=v2.group#;RECOVER DATAFILE 'full_path'; 應用歸檔與線上日誌至「Media recovery complete」。ALTER DATABASE DATAFILE 'full_path' ONLINE;ALTER ROLLBACK SEGMENT <seg> OFFLINE; 重複執行至全離線。SELECT segment_name, status FROM dba_rollback_segs WHERE tablespace_name='RBS'; 必須全為 OFFLINE。DROP ROLLBACK SEGMENT <seg>;SELECT segment_name, xacts active_tx, v.status FROM v$rollstat v, dba_rollback_segs WHERE tablespace_name='RBS' AND segment_id=usn;SELECT s.sid, s.serial#, s.username, r.name rollback FROM v$session s, v$transaction t, v$rollname r WHERE r.name IN (...) AND s.taddr=t.addr AND t.xidusn=r.usn;ALTER SYSTEM KILL SESSION 'sid,serial#'; 重複至無事務,再確認 OFFLINE 並 DROP。DROP TABLESPACE rbs INCLUDING CONTENTS;(失敗請聯繫 Oracle Support)。rbs_test。SET TRANSACTION USE ROLLBACK SEGMENT rbs_test; INSERT ...SHUTDOWN ABORT 強制中斷。回滾段表空間檔案損壞屬高頻棘手故障(介質損壞、誤操作、斷電等)。關鍵在於:線上資料庫勿關機、歸檔模式優先檔案級恢復、非歸檔或備份不可用時重建表空間、殺掉阻礙離線的活躍事務。實戰演練是掌握此類恢復的唯一途徑。