Cấu hình quản trị Flashback trong Oracle Database bao gồm việc thiết lập các tham số và thực hiện các bước cần thiết để kích hoạt và quản lý các tính năng Flashback. Dưới đây là các bước cụ thể để cấu hình quản trị Flashback trong Oracle Database:
1. Kích hoạt chế độ ARCHIVELOG
Flashback Database yêu cầu cơ sở dữ liệu phải chạy trong chế độ ARCHIVELOG. Để kiểm tra và kích hoạt chế độ này, thực hiện các bước sau:
— Kiểm tra chế độ ARCHIVELOG
ARCHIVE LOG LIST;
— Nếu chưa ở chế độ ARCHIVELOG, thực hiện các bước sau để kích hoạt:
— Đóng cơ sở dữ liệu
SHUTDOWN IMMEDIATE;
— Khởi động cơ sở dữ liệu ở chế độ mount
STARTUP MOUNT;
— Thay đổi chế độ thành ARCHIVELOG
ALTER DATABASE ARCHIVELOG;
— Mở cơ sở dữ liệu
ALTER DATABASE OPEN;
2. Thiết lập Flash Recovery Area (FRA)
Nếu thiết lập rồi thì bỏ qua.
Flash Recovery Area là vùng lưu trữ mà Oracle sử dụng để lưu trữ các tập tin liên quan đến Flashback, bao gồm các bản ghi redo log đã được archive và các bản ghi flashback. Để thiết lập FRA, sử dụng các lệnh sau:
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/path/to/fra' SCOPE=BOTH; ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH; -- Đặt kích thước phù hợp cho FRA
3. Kích hoạt Flashback Database
Sau khi thiết lập FRA, bạn có thể kích hoạt Flashback Database:
-- Đóng cơ sở dữ liệu SHUTDOWN IMMEDIATE; -- Khởi động cơ sở dữ liệu ở chế độ mount STARTUP MOUNT; -- Kích hoạt Flashback Database ALTER DATABASE FLASHBACK ON; -- Mở cơ sở dữ liệu ALTER DATABASE OPEN; -- Kiểm tra chế độ Flashback: select flashback_on from v$database;
4. Sử dụng Flashback Database
Sau khi cấu hình và kích hoạt, bạn có thể sử dụng Flashback Database để quay trở lại trạng thái trước đó của cơ sở dữ liệu. Ví dụ:
-- Đưa cơ sở dữ liệu về trạng thái mount để thực hiện flashback SHUTDOWN IMMEDIATE; STARTUP MOUNT; -- Sử dụng SCN (System Change Number) hoặc thời gian để flashback cơ sở dữ liệu FLASHBACK DATABASE TO SCN 123456; -- Hoặc FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('2024-05-29 12:34:56', 'YYYY-MM-DD HH24:MI:SS'); -- Mở cơ sở dữ liệu với tùy chọn RESETLOGS để hoàn tất quá trình flashback ALTER DATABASE OPEN RESETLOGS;
5. Flashback Table và Flashback Drop
Ngoài Flashback Database, Oracle còn cung cấp các tính năng Flashback Table và Flashback Drop:
Flashback Table
Flashback Table cho phép bạn khôi phục một hoặc nhiều bảng về trạng thái trước đó.
FLASHBACK TABLE table_name TO SCN 123456; -- Hoặc FLASHBACK TABLE table_name TO TIMESTAMP TO_TIMESTAMP('2024-05-29 12:34:56', 'YYYY-MM-DD HH24:MI:SS');
Flashback Drop (Flashback Drop)
Khi bạn xóa một bảng bằng lệnh DROP, bảng đó được đưa vào “Recycle Bin”. Bạn có thể khôi phục bảng đó bằng lệnh:
FLASHBACK TABLE table_name TO BEFORE DROP;
6. Quản lý Flashback Data Archive
Nếu bạn sử dụng tính năng Flashback Data Archive (FDA) để lưu trữ lịch sử dữ liệu dài hạn, bạn cần cấu hình thêm một vài bước nữa:
-- Tạo Flashback Data Archive CREATE FLASHBACK ARCHIVE my_archive TABLESPACE my_tablespace RETENTION 1 YEAR; -- Gán bảng vào Flashback Data Archive ALTER TABLE my_table FLASHBACK ARCHIVE my_archive;
CHÚ Ý:
Thời gian giữ lại thông tin Flashback:
db_flashback_retention_target: là tham số cấu hình cho Flashback retention
alter system set db_flashback_retention_target=1440; --24h
Flashback có thể sử dụng dữ liệu undo để thực hiện việc rollback dữ liệu => có thể thực hiện được hay không chúng ta phải kiểm tra undo_retension xem lưu trữ dữ liệu trong thời gian bao lâu.
Xem thêm tại: https://datalinks.vn/quan-tri-undo-tablespace-trong-oracle-database/
CÁC VIEW VỀ FLASHBACK:
SELECT * FROM V$FLASHBACK_DATABASE_LOG; SELECT * FROM V$FLASHBACK_DATABASE_STAT;
Chúc các bạn thành công