Đầu tiên, bạn có thực hiện thay đổi không? Nếu không, bạn có thể chỉ cần đưa ra một rollback
để hoàn nguyên các thay đổi của bạn.
Giả sử rằng bạn đã thực hiện các thay đổi của mình, những người dùng khác có đang sửa đổi bảng cùng một lúc không? Bạn có cần giữ lại những thay đổi mà người khác đã thực hiện và chỉ hoàn nguyên những thay đổi bạn đã thực hiện trong giao dịch của mình không? Hay bạn có thể khôi phục toàn bộ bảng về một thời điểm trước khi thực hiện các thay đổi của bạn không?
Nếu bạn có thể khôi phục toàn bộ bảng vào một thời điểm
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
sẽ trả một bảng về trạng thái 10 phút trước, giả sử rằng UNDO
cần thiết để làm như vậy vẫn có sẵn (vì vậy bạn chỉ có một thời gian giới hạn sau khi mắc lỗi để có thể hồi tưởng lại sai lầm đó). Để phát hành một FLASHBACK TABLE
, bạn cũng phải đảm bảo rằng
- Bảng đã cho phép di chuyển hàng
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Bạn phải có
FLASHBACK
các đặc quyền trên bảng hoặcFLASHBACK ANY TABLE
đặc quyền hệ thống.