[Oracle]Oracle資料庫資料被修改或者刪除恢復資料

阿婆說發表於2018-07-06

1.SELECT * FROM CT_FIN_RiskItem–先查詢表,確定資料的確不對(cfstatus第一行缺少)
2.select * from CT_FIN_RiskItem as of timestamp to_timestamp(`2017-04-20 10:45:03`, `yyyy-mm-dd hh24:mi:ss`)–查詢修改資料之前時間該表資料是否正常,如果正常採用該時間戳進行下一步的閃回資料!

下面呢有兩種閃回方式:
2.1查詢上一布正確資料對應的SCN號然後進行閃回資料
1.SELECT timestamp_to_scn(to_timestamp(`2017-04-20 10:45:03`, `yyyy-mm-dd hh24:mi:ss`)) SCN FROM CT_FIN_RiskItem
拿到SCN號

2.FLASHBACK TABLE CT_FIN_RiskItem TO SCN 123579067
執行該語句的時候,可能會報ORA – 08189 : cannot flashback the table becau(ORA – 08189 : 因為未啟用行移動功能, 不能閃回表) !
ALTER TABLE CT_FIN_RiskItem ENABLE ROW MOVEMENT
然後在執行閃回即可。
資料是不是回來了?so easy !

2.2直接使用正確資料時間戳進行資料閃回
FLASHBACK TABLE CT_FIN_RiskItem TO TIMESTAMP to_timestamp(`2017-04-20 10:45:03`, `yyyy-mm-dd hh24:mi:ss`)

相關文章