Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Khôi phục một giao dịch đã cam kết

Bạn không thể khôi phục những gì đã được cam kết. Những gì bạn có thể làm, trong tình huống cụ thể này, là một trong những tùy chọn nhanh nhất, là đưa ra truy vấn hồi tưởng đối với bảng bạn đã xóa (các) hàng khỏi đó và chèn chúng trở lại. Đây là một ví dụ đơn giản:

Lưu ý :Thành công của thao tác này phụ thuộc vào giá trị (mặc định 900 giây) của undo_retention tham số - khoảng thời gian (có thể được giảm tự động) trong đó thông tin hoàn tác được giữ lại trong không gian bảng hoàn tác.

/* our test table */
create table test_tb(
   col number
);
/* populate test table with some sample data */
insert into test_tb(col)
   select level
     from dual
  connect by level <= 2;

select * from test_tb;

COL
----------
         1
         2
/* delete everything from the test table */    
delete from test_tb;

select * from test_tb;

no rows selected

Chèn các hàng đã xóa trở lại:

/* flashback query to see contents of the test table 
  as of specific point in time in the past */ 
select *                                   /* specify past time */
  from test_tb as of timestamp timestamp '2013-11-08 10:54:00'

COL
----------
         1
         2
/* insert deleted rows */
insert into test_tb
   select *                                 /* specify past time */  
    from test_tb as of timestamp timestamp '2013-11-08 10:54:00'
   minus
   select *
     from test_tb


 select *
   from test_tb;

  COL
  ----------
          1
          2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy xuất danh sách các thủ tục / chức năng riêng tư từ một phần thân gói

  2. Cấp quyền đối với thủ tục đã lưu trữ cho người dùng khác của Oracle

  3. Số nhận dạng ORA-00972 là tên cột bí danh quá dài

  4. Chúng ta có thể sử dụng phân luồng trong PL / SQL không?

  5. Các phương pháp hay nhất:Nhiệm vụ bảo trì và nâng cao cho Đám mây Oracle