Quản Trị Flashback Trong Oracle Database

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;

word image 2412 1

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

Datalinks.vn

Hello các bạn, mình là Dương Nguyễn tác giả của blog này. Với gần 20 năm làm việc trong lĩnh vực CNTT, VT trong và ngoài nước, mong muốn được chia sẻ kiến thức và kinh nghiệm về database với các bạn đam mê và quan tâm đến lĩnh vực này. Đặc biệt là #OracleDatabase hoặc luyện thi #OCP database admin. Các bạn cần người đồng hành thì alo mình nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận