Quản trị Backup Restore với Rman trong Oracle database

Quản trị và cấu hình sao lưu (backup) cho Oracle Database là một phần quan trọng của quản trị cơ sở dữ liệu để đảm bảo tính toàn vẹn và phục hồi dữ liệu khi có sự cố. Oracle cung cấp nhiều phương pháp sao lưu, nhưng công cụ phổ biến và mạnh mẽ nhất là Recovery Manager (RMAN). Dưới đây là các bước để cấu hình và quản trị sao lưu Oracle Database bằng RMAN.

Vùng FRA: Là vùng lưu trữ phục vụ cho việc recovery và backup, chúng ta cần quan tâm đến dung lượng thực tế và dung lượng đã được set cho vùng này.

show parameter recovery

word image 2396 1

Có nhiều tham số cho vùng này:

db_recovery_file_dest: chỉ ra đường dẫn chứa FRA

db_recovery_file_dest_size: dung lượng lưu trữ tối đa FRA

recovery_parallelism: tăng tốc sử dụng parallel

remote_recovery_file_dest: đường dẫn remote FRA

Cấu hình:

alter system set db_recovery_file_dest=’/backup’;

(nhớ cấp quyền sở hữu thư mục này cho user oracle…)

alter system set db_recovery_file_dest_size=100G;

alter system set recovery_parallelism=5;

BACKUP

Phân biệt giữa backup level 0 (full) và level 1 (incremental)

LV0: là backup full đầy đủ

LV1-difrential: là backup tăng trưởng các thay đổi từ bản incremential gần nhất

LV1-cumulative: là backup tăng trưởng các thay đổi từ bản lv0 gần nhất

Thông thường sẽ sử dụng LV0 và LV1-difrential

Kết nối vào rman:

rman target /

Để hiển thị tất cả cấu hình hiện tại của rman:

show all;

word image 2396 2

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; Chỉ giữ lại một bản sao lưu mới nhất của mỗi đối tượng (ví dụ: datafile, controlfile). Những bản sao lưu cũ hơn sẽ bị xóa.

CONFIGURE BACKUP OPTIMIZATION OFF; Tắt chế độ tối ưu hóa sao lưu. RMAN sẽ không kiểm tra xem một bản sao lưu đã tồn tại trước đó hay chưa mà sẽ luôn tạo một bản sao lưu mới.

CONFIGURE DEFAULT DEVICE TYPE TO DISK; Đặt loại thiết bị mặc định cho các thao tác sao lưu và khôi phục là đĩa (disk).

CONFIGURE CONTROLFILE AUTOBACKUP ON; Bật tự động sao lưu control file và SPFILE (server parameter file) mỗi khi thực hiện một backup.

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘%F’; Định dạng tên tệp cho các bản sao lưu tự động của control file và SPFILE trên đĩa. %F là một mẫu cho tên tệp chứa tên cơ sở dữ liệu và số sequence.

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; Thiết lập độ song song của thiết bị đĩa là 1 và kiểu backup là backupset. Điều này có nghĩa là chỉ sử dụng một kênh để sao lưu.

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; Chỉ tạo một bản sao lưu của mỗi tệp dữ liệu trên đĩa.

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; Chỉ tạo một bản sao lưu của mỗi tệp archivelog trên đĩa.

CONFIGURE MAXSETSIZE TO UNLIMITED; Không giới hạn kích thước tối đa của một backupset.

CONFIGURE ENCRYPTION FOR DATABASE OFF; Tắt chế độ mã hóa cho các bản sao lưu cơ sở dữ liệu.

CONFIGURE ENCRYPTION ALGORITHM ‘AES128’; Thiết lập thuật toán mã hóa là AES128. Mặc dù chế độ mã hóa đang tắt, nhưng nếu bật lên, thuật toán này sẽ được sử dụng.

CONFIGURE COMPRESSION ALGORITHM ‘BASIC’ AS OF RELEASE ‘DEFAULT’ OPTIMIZE FOR LOAD TRUE; Thiết lập thuật toán nén là ‘BASIC’ và tối ưu hóa cho tải công việc mặc định.

CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; Lưu giữ các bản ghi đầu ra của RMAN trong 7 ngày.

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; Không tự động xóa các tệp archivelog.

CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/app/oracle/product/19.3.0/dbhome_1/dbs/snapcf_duodb.f’; Đặt tên tệp cho snapshot của control file.

=>> Để cấu hình thông tin nào thì chúng ta sẽ gõ lại thông tin đó:

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

=>> lệnh trên sẽ giữa lại 3 bảng copy của backup thay vì 1 theo mặc định.

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

new RMAN configuration parameters:

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

new RMAN configuration parameters are successfully stored

Full Backup:

backup database plus archivelog;

Incremental Backup:

backup incremental level 0 database;

Incremental level 1 (chỉ sao lưu những thay đổi từ lần sao lưu trước).

backup incremental level 1 database;

backup incremental level 1 cumulative database;

Sao Lưu Control File và SPFILE

backup current controlfile;

backup spfile;

Backup datafile:

backup datafile ‘/u01/app/oradata/test/users01.dbf’;

backup datafile 4;

## lấy thông tin datafile tại: SELECT file#, name FROM v$datafile;

Backup tablespace:

backup tablespace users;

Backup nén:

backup as compressed backupset database;

Backup lưu thông tin cụ thể:

backup format ‘/u01/app/oracle/backup/%u’ database;

Backup với tag:

backup database tag = ‘full_backup’;

RESTORE DATABASE – KHÔI PHỤC CƠ SỞ DỮ LIỆU

restore database;

recover database;

restore controlfile from ‘/path/to/backup/controlfile.bkp’;

restore controfile from autobackup;

Tạo một script rman để tự động hóa quá trình sao lưu.

vi /home/oracle/backup_script.rman

run {

backup incremental level 0 database plus archivelog;

delete obsolete;

}

Thiết lập một cron job để chạy script RMAN tự động.

crontab -e

0 2 * * * /path/to/oracle_home/bin/rman TARGET / @/home/oracle/backup_script.rman

=>> chạy script vào mỗi ngày lúc 2 giờ sáng

Kiểm Tra Bản Sao Lưu

list backup;

Kiểm Tra Khả Năng Phục Hồi

restore database preview;

SCRIPT BACKUP HÀNG NGÀY:

Backup level 0:

RUN {

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 4096 M;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/backup/ctl_%F’;

ALLOCATE CHANNEL RMAN_1 DEVICE TYPE DISK; ALLOCATE CHANNEL RMAN_2 DEVICE TYPE DISK;

ALLOCATE CHANNEL RMAN_3 DEVICE TYPE DISK;

ALLOCATE CHANNEL RMAN_4 DEVICE TYPE DISK;

CROSSCHECK ARCHIVELOG ALL;

CROSSCHECK BACKUP;

BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE FILESPERSET 4 FORMAT ‘/backup/db_level0_df%T_s%s_s%p’;

BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE INPUT FORMAT ‘/backup/arc_%T_s%s_s%p’;

DELETE NOPROMPT OBSOLETE;

DELETE NOPROMPT EXPIRED BACKUP;

DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;

}

Backup level 1:

RUN {

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 4096 M;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/backup/ctl_%F’;

ALLOCATE CHANNEL RMAN_1 DEVICE TYPE DISK;

ALLOCATE CHANNEL RMAN_2 DEVICE TYPE DISK;

ALLOCATE CHANNEL RMAN_3 DEVICE TYPE DISK;

ALLOCATE CHANNEL RMAN_4 DEVICE TYPE DISK;

CROSSCHECK ARCHIVELOG ALL; CROSSCHECK BACKUP;

BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 DATABASE FILESPERSET 4 FORMAT ‘/backup/db_level1_df%T_s%s_s%p’;

BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE INPUT FORMAT ‘/backup/arc_%T_s%s_s%p’;

DELETE NOPROMPT OBSOLETE;

DELETE NOPROMPT EXPIRED BACKUP;

DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;

}

%T: Ngày hiện tại (theo định dạng YYYYMMDD).

%s: Số sao lưu (backup set number).

%p: Số phần (backup piece number).

 

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