sql >> データベース >  >> RDS >> Oracle

Oracleテーブルのデータを復元するにはどうすればよいですか?

    まず、変更をコミットしましたか?そうでない場合は、rollbackを発行するだけです。 変更を元に戻します。

    変更をコミットしたとすると、他のユーザーが同時にテーブルを変更していますか?他の人が行った変更を保持し、トランザクションで行った変更のみを元に戻す必要がありますか?または、変更が行われる前の時点にテーブル全体を復元できますか?

    テーブル全体を特定の時点に復元できる場合

    FLASHBACK TABLE <<table name>>
      TO TIMESTAMP( systimestamp - interval '10' minute )
    

    UNDOを想定して、テーブルを10分前の状態に戻します。 そうするために必要なものは引き続き利用可能です(したがって、間違いを犯した後、その間違いをフラッシュバックできるようになるまでの時間は限られています)。 FLASHBACK TABLEを発行するため 、また、それを確認する必要があります

    • テーブルで行の移動が有効になっていますALTER TABLE <<table name>> ENABLE ROW MOVEMENT
    • FLASHBACKが必要です テーブルまたはFLASHBACK ANY TABLEに対する権限 システム特権。


    1. iPhoneを購入した購入者は空になります

    2. SQL IF ステートメントが無視されています

    3. MysqlInnoDBのパフォーマンスの最適化とインデックス作成

    4. 注文の合計金額を保存、処理する方法、ordersDetailsスキーマ?