Quản trị Restore Point trong Oracle

Trong Oracle Database, restore point là một điểm tham chiếu cho phép bạn quay lại trạng thái cơ sở dữ liệu tại thời điểm đó. Điều này rất hữu ích cho việc khôi phục dữ liệu sau các thay đổi quan trọng hoặc các thao tác có khả năng gây rủi ro. Có hai loại restore points trong Oracle:

  1. Normal Restore Point: Điểm khôi phục thông thường, chỉ lưu vị trí SCN (System Change Number) tại thời điểm tạo ra.
  2. Guaranteed Restore Point: Điểm khôi phục được đảm bảo, giữ lại tất cả thông tin cần thiết để quay lại trạng thái đó mà không phụ thuộc vào các bản sao lưu.

Tạo Restore Point

Normal Restore Point

create restore point normal_restore_point;

Guaranteed Restore Point

create restore point guaranteed_restore_point guarantee flashback database;

Kiểm tra Restore Point

Để xem các restore points đã tạo, bạn có thể sử dụng câu lệnh sau:

select name, scn, time, guarantee_flashback_database
from v$restore_point;

Sử dụng Restore Point

Flashback Database

Để khôi phục cơ sở dữ liệu về một restore point cụ thể, bạn cần đưa cơ sở dữ liệu về trạng thái mount và sử dụng lệnh Flashback Database:

— Đưa cơ sở dữ liệu về trạng thái MOUNT

shutdown immediate;

startup mount;

— Khôi phục về restore point

flashback database to restore point normal_restore_point;

— Mở cơ sở dữ liệu

alter database open resetlogs;

Xóa Restore Point

Khi không còn cần đến các restore point, bạn có thể xóa chúng để giải phóng không gian:

drop restore point normal_restore_point;

Quản lý Flash Recovery Area

Đảm bảo rằng Flash Recovery Area (FRA) có đủ không gian để lưu trữ thông tin liên quan đến các restore points, đặc biệt là với guaranteed restore points.

Kiểm tra dung lượng FRA

select * from v$recovery_file_dest;

alter system set db_recovery_file_dest_size = 20g;

Kiểm tra database đã bật flashback hay chưa:

select flashback_on from v$database;

Kiểm tra log flashback

select * from v$flashback_database_log;

Đặt kích thước log flashback

alter database flashback logfile size <new_size>;

Kiểm tra thông tin Flashback tối đa có thể về trước?

–theo time

select to_char(oldest_flashback_time,’dd-mon-yyyy hh24:mi:ss’) from v$flashback_database_log;

–theo scn

select oldest_flashback_scn from v$flashback_database_log;

Lưu ý:

Restore point chỉ được duy trì trong thời gian được quy định bởi tham số DB_FLASHBACK_RETENTION_TARGET. Khi thời gian này hết, Oracle có thể tự động xóa các restore point cũ.

Trước khi tạo restore point thì CSDL phải được active tính năng Flashback_ON

alter database flashback on;

Guaranteed Restore Points yêu cầu không gian lưu trữ lớn hơn và có thể làm đầy Flash Recovery Area nếu không được quản lý đúng cách.

Flashback Database có thể không phục hồi được các thay đổi ở mức cấu trúc (như DROP TABLE) nếu không sử dụng guaranteed restore points.

Chỉ định chính xác restore point cần thiết để tránh mất dữ liệu quan trọng.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi 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