Giới thiệu
Flashback Table là gì?
Một số chú ý quan trọng khi sử dụng Flashback
-
Không flashback được những đối tượng thuộc schema SYS.
-
Nếu bảng cần flashback có bảng con tham chiếu đến, cần flashback bảng con trước.
- Nếu những hành động sau diễn ra sau thời điểm bạn cần flashback, thao tác flashback sẽ không thực hiện được:
- upgrading, moving, truncating table,
- thêm constraint vào table, thêm table vào cluster
- thay đổi hay xoá cột trong bảng
- thay đổi column encryption key
- add, drop, merg, split, coales, hay truncate partition hay subpartition (trừ việc thêm partition kiểu range).
-
Các đối tượng dependant với table (indexes, trigger) sẽ quay lại nhưng tên sẽ giữ nguyên như lúc ở recyclebin. Cần thay đổi lại tên sau khi flashback.
Các bước thực hiện Flashback
Kiểm tra xem Flashback log đã được enable hay chưa
select flashback_on from v$database;
Nếu chưa, bạn hãy thực hiện bước sau:
Enable Flashback log
alter database flashback on;
và set thời gian bạn muốn lưu trữ các file flashback log (mặc định là 1440 phút = 24 giờ)
alter system set db_flashback_retention_target= 2880;
Tạo bảng và thêm dữ liệu
create table duydx.products ( id number primary key, product_name varchar2(50) );
Thêm dữ liệu cho bảng
insert into duydx.products values (1,'Product 1'); insert into duydx.products values (2,'Product 2'); insert into duydx.products values (3,'Product 3'); insert into duydx.products values (4,'Product 4'); insert into duydx.products values (5,'Product 5'); commit;
Kiểm tra SCN hay thời gian hiện tại
select to_char(current_scn) from v$database; TO_CHAR(CURRENT_SCN) ---------------------------------------- 4668734
select to_char(sysdate, 'dd-MON-YYYY hh24.MI.SS') from dual; TO_CHAR(SYSDATE,'DD-MON-YYH --------------------------- 12-DEC-2022 11.14.50
Giả lập xoá nhầm dữ liệu
delete duydx.products; commit;
Bạn đã xoá nhầm toàn bộ dữ liệu của bảng products!!!
Đừng lo lắng, hãy ngay lập tức làm theo các bước dưới đây:
Enable row movement
alter table duydx.products enable row movement;
Flashback to scn
flashback table duydx.products to scn 4668734;
Flashback to timestamp
flashback table duydx.products to timestamp to_timestamp('12-DEC-2022 11.14.50','dd-MON-YY hh24.MI.SS');
Disable row movement
alter table duydx.products disable row movement;
Kiểm tra lại dữ liệu
select * from duydx.products;
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
Form đăng ký
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.