Sử dụng AWS Backup và Oracle Fast Recovery Area trên Amazon FSx for NetApp ONTAP để sao lưu/khôi phục cơ sở dữ liệu Oracle trên Amazon EC2

Tác giả: Naim Mucaj, Joe Guo, và Ryan Niu 

Ngày đăng: 29 tháng 04 năm 2025 

Danh mục: Advanced (300), Amazon FSx for NetApp ONTAP, AWS Backup, Storage, Technical How-to

Khi dữ liệu tăng trưởng theo cấp số nhân, các tổ chức vận hành cơ sở dữ liệu Oracle ưu tiên việc giảm thiểu thời gian sao lưu và thời gian khôi phục nhanh hơn trong trường hợp thảm họa. Cơ sở dữ liệu Oracle trên Amazon Elastic Compute Cloud (Amazon EC2) thường cấu hình Oracle Fast Recovery Area (FRA) để đáp ứng các yêu cầu bảo vệ dữ liệu, khôi phục thảm họa và tuân thủ.

FRA là một vị trí lưu trữ tập trung, được Oracle quản lý, giúp đơn giản hóa việc quản lý sao lưu và khôi phục bằng cách tự động lưu trữ, tổ chức và quản lý tất cả các tệp liên quan đến khôi phục cơ sở dữ liệu trong một khu vực thống nhất duy nhất, giảm chi phí quản trị và tăng tốc độ khôi phục. Để củng cố thêm chiến lược sao lưu này, AWS Backup cung cấp một giải pháp bổ sung lý tưởng, đặc biệt cho các phiên bản EC2 lưu trữ cơ sở dữ liệu Oracle. Dịch vụ được quản lý hoàn toàn này tự động hóa quy trình sao lưu, tích hợp với các dịch vụ AWS khác và cho phép lập lịch sao lưu linh hoạt và chính sách lưu giữ, đảm bảo độ bền dữ liệu và tuân thủ.

Trong bài viết này, chúng tôi trình bày chi tiết một chiến lược sao lưu hai hướng cho cơ sở dữ liệu Oracle chạy trên các phiên bản EC2 như được hiển thị trong hình 1. Phương pháp này kết hợp: (1) FRA được cấu hình trên Amazon FSx for NetApp ONTAP cho nhu cầu khôi phục ngắn hạn (<30 ngày), cho phép khôi phục nhanh chóng theo thời điểm sử dụng các công cụ gốc của Oracle, và (2) AWS Backup để lưu giữ dài hạn (>30 ngày) các bản sao lưu cơ sở dữ liệu đầy đủ. Giải pháp kép này mang đến cho các Quản trị viên Cơ sở dữ liệu Oracle (DBA) khả năng vừa khôi phục tức thì, vừa bảo vệ các bản sao lưu dài hạn một cách toàn diện

Mô hình thời gian và phạm vi bao phủ của chiến lược sao lưu kép.

Hình 1: Mô hình thời gian và phạm vi bao phủ của chiến lược sao lưu kép.


Tổng quan giải pháp


Hình 2 minh họa quy trình làm việc:
1. Cơ sở dữ liệu Oracle trên Amazon EC2 được cấu hình với Amazon Elastic Block Store (Amazon EBS) cho các tệp Dữ liệu và Log của Oracle.
2. Dịch vụ AWS Backup để sao lưu các phiên bản EC2 theo khoảng thời gian đều đặn.
3. Thư mục FRA được gắn kết với một volume FSx for ONTAP để lưu trữ các archive Oracle và bản sao lưu FRA.

Hình 2: Cơ sở dữ liệu Oracle trong Amazon EC2 sử dụng AWS Backup và FSx for ONTAP để sao lưu và khôi phục


Điều kiện tiên quyết


Các điều kiện tiên quyết sau đây cần thiết để tiếp tục với bài viết này:

Bài viết này giả định rằng người đọc đã có kiến thức về cơ sở dữ liệu Oracle, cách cấu hình hệ điều hành Linux, cách mount các phân vùng NFS, và đã quen thuộc với dịch vụ FSx for ONTAP.
Để tạo một triển khai tương tự trong môi trường của bạn, bạn phải có tài khoản AWS với quyền truy cập vào Amazon EC2, AWS Backup và FSx for ONTAP, và đáp ứng các điều kiện tiên quyết của ONTAP để gắn kết client Linux.
Cơ sở dữ liệu Oracle được cấu hình và AWS Command Line Interface (AWS CLI) trong một phiên bản EC2.
Một hệ thống tệp FSx for ONTAP với volume được cấu hình và chia sẻ NFS được gắn kết với Oracle Server, đây là vị trí lưu trữ FRA.

Cấu hình FSx for ONTAP cho các thực hành tốt nhất của FRA
Khi tạo hệ thống tệp FSx ONTAP, nó nên được cấu hình với những điều sau:

– Chế độ IOPS đĩa tự động.

– Triển khai Multi-Availability Zone (AZ) để có tính khả dụng cao.

– Dung lượng thông lượng phù hợp (khuyến nghị 512 MBps).

– Máy ảo lưu trữ (SVM) nên được tạo trên hệ thống tệp FSx for ONTAP với thông tin xác thực quản trị phù hợp và cấu hình bảo mật.

– Chính sách này sẽ tự động di chuyển toàn bộ dữ liệu ít được truy cập (cold data) đến tầng lưu trữ Capacity Pool sau hai ngày (giả sử đang sử dụng nén sao lưu RMAN). Chính sách và cài đặt này di chuyển tất cả dữ liệu lạnh đến tầng capacity pool sau hai ngày (nếu không sử dụng nén RMAN, thì đặt thời gian làm mát thành 14 ngày).

Quy trình triển khai
Các bước sau sẽ hướng dẫn bạn từng bước để triển khai giải pháp này.

1. Cấu hình AWS Backup (lưu giữ dài hạn >30 ngày)
Bạn có thể chọn AWS Backup để lập lịch sao lưu hàng ngày của phiên bản EC2 (điều này chỉ sao lưu các volume EBS được gắn cục bộ). AWS Backup lưu trữ hiệu quả các bản sao lưu định kỳ của bạn bằng cách sử dụng các kế hoạch sao lưu. Chỉ có snapshot EBS đầu tiên thực hiện sao chép đầy đủ, và tất cả các snapshot tiếp theo là snapshot tăng dần, chỉ sao chép các khối đã thay đổi từ Amazon EBS, do đó giảm thời gian sao lưu và chi phí lưu trữ. Oracle hỗ trợ Tối ưu hóa Snapshot Lưu trữ, cho phép chụp snapshot của bên thứ ba của cơ sở dữ liệu mà không cần đặt cơ sở dữ liệu vào chế độ sao lưu. Theo mặc định, AWS Backup hiện tạo các bản sao lưu nhất quán về sự cố của các volume EBS được gắn với một phiên bản EC2. Người dùng không còn cần dừng phiên bản của họ hoặc phối hợp giữa nhiều volume EBS được gắn với cùng một phiên bản EC2 để đảm bảo tính nhất quán về sự cố của trạng thái ứng dụng của họ.

Tạo bản sao lưu theo lịch hàng ngày của các phiên bản EC2 lưu trữ máy chủ Oracle của bạn như được hiển thị trong Hình 3.

Hình 3. Cấu hình kế hoạch AWS Backup (và các quy tắc liên quan nếu không sử dụng mặc định)


Hình 4 hiển thị các ảnh chụp màn hình mẫu của kế hoạch sao lưu và liên kết một phiên bản EC2 với kế hoạch sao lưu.

Hình 4. Gán tài nguyên cho kế hoạch (máy chủ Oracle EC2)


Hình 5, hiển thị kế hoạch AWS Backup được cấu hình để thực hiện sao lưu hàng ngày của các máy chủ Oracle EC2 theo đặc tả của bạn với thời gian lưu giữ được đặt, theo yêu cầu (trong ví dụ này, 12 tháng).

Hình 5. Xác thực cấu hình kế hoạch Backup

Mặc dù AWS Backup hiện đang tạo bản sao lưu hàng ngày của phiên bản EC2, chúng tôi cũng muốn đảm bảo rằng chúng tôi cấu hình FRA để đảm bảo khả năng sao lưu và khôi phục Oracle chi tiết trong thời gian ngắn, chẳng hạn như 30 ngày. Điều này cho phép khôi phục theo thời điểm.

2. Cấu hình FRA (lưu giữ ngắn hạn <30 ngày)
FSx for ONTAP cung cấp lưu trữ chia sẻ được quản lý hoàn toàn trong AWS Cloud với các khả năng truy cập và quản lý dữ liệu phổ biến của ONTAP. FSx for ONTAP cung cấp một số lợi thế cho nhu cầu lưu trữ cơ sở dữ liệu, cả tệp cơ sở dữ liệu cốt lõi và FRA. Nó cung cấp lưu trữ SSD hiệu suất cao với độ trễ dưới mili giây, làm cho nó phù hợp cho các khối lượng công việc đòi hỏi khắt khe. Dịch vụ cung cấp lưu trữ tệp chia sẻ giàu tính năng, nhanh và linh hoạt có thể truy cập rộng rãi từ trong AWS hoặc tại chỗ.

Đặc biệt đối với FRA, một số lợi ích chính của việc sử dụng FSx for ONTAP bao gồm:
– Các tính năng hiệu quả lưu trữ như nén, khử trùng lặp và nén có thể giúp giảm chi phí lưu trữ tổng thể.
– Phân tầng tự động dữ liệu đến lưu trữ chi phí thấp hơn, giúp tối ưu hóa chi phí trong khi duy trì hiệu suất (xem phân tầng dữ liệu volume để hiểu các tùy chọn phân tầng khác nhau và cấu hình volume FRA của bạn cho phù hợp).
– Các tính năng bảo vệ dữ liệu tích hợp như tạo ảnh chụp nhanh (snapshot), nhân bản (cloning) và sao chép đồng bộ (replication)
– Lưu trữ có tính khả dụng cao và bền vững với các bản sao lưu được quản lý hoàn toàn và hỗ trợ khôi phục thảm họa xuyên vùng.
– Hỗ trợ cho các ứng dụng bảo mật dữ liệu và chống virus để bảo vệ các tệp cơ sở dữ liệu nhạy cảm.

a) Tạo cấu trúc thư mục cần thiết trong volume FSx for ONTAP được gắn kết (điều kiện tiên quyết, với ví dụ sau giả sử nó được gắn kết là /fsx).

# replace <ORACLE_SID> with your database name/SID

mkdir -p /fsx/ontap/FRA/<ORACLE_SID>

chown oracle:oinstall /fsx/ontap/FRA/<ORACLE_SID>

chmod 755 /fsx/ontap/FRA/<ORACLE_SID>

b) Bật chế độ archive log (nếu chưa được bật).

# Connect to Oracle as SYSDBA

SQL> sqlplus / as sysdba

# Enable archivelog mode if not already enabled:

-- Check current archive mode

SQL> ARCHIVE LOG LIST;

-- If needed, enable archivelog mode

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;

c) Đặt các tham số khởi tạo FRA.

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=100G SCOPE=BOTH;

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/fsx/ontap/FRA/<ORACLE_SID>' SCOPE=BOTH;

SQL> ALTER DATABASE OPEN;

# Verify FRA configuration

SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST;

SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST_SIZE;

SQL> SELECT * FROM V$RECOVERY_FILE_DEST;

# Optional: Move existing archive logs to new FRA

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST' SCOPE=BOTH;

SQL> ALTER SYSTEM SWITCH LOGFILE;

d) Cấu hình sao lưu Oracle RMAN.

Đầu tiên, cấu hình kho lưu trữ RMAN để tự động sao lưu tệp điều khiển đến FSx for ONTAP:

RMAN TARGET /

RMAN> CONFIGURE COMPRESSION ALGORITHM ‘BASIC’;

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+FRA';

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

e) Tạo script bash cho các log archive RMAN và lập lịch với crontab:

dt=`date +%Y%m%d_%H%M%S`

rman target / log=/fsx/ontap/FRA/<ORACLE_SID>/rman_arch_bkup_oratst_${dt}.log <<EOF

RUN

{

    allocate channel c1_efs device type disk format '/fsx/ontap/FRA/<ORACLE_SID>/arch-D-%d_%T_s%s_p%p' MAXPIECESIZE 10G;

    RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG ALL DELETE ALL INPUT;

    release channel c1_efs;

}

EOF

Để lập lịch sao lưu log archive mỗi năm phút, thêm vào crontab:

*/5 * * * * /path/to/rman_archive.sh


Các tác vụ trước đó đã cấu hình và thực thi tạo ra kế hoạch bảo vệ sao lưu từ AWS Backup và trong Oracle (sao lưu đến FRA). Các bước sau đây là các tác vụ cần thực hiện để khôi phục cơ sở dữ liệu theo yêu cầu của bạn (hoặc vượt quá 30 ngày thông qua AWS Backup hoặc trong vòng 30 ngày sử dụng Oracle).

3. Khôi phục thông qua FRA đến thời điểm trong thời gian lưu giữ được chỉ định (trong trường hợp này, 30 ngày)
Hướng dẫn từng bước để khôi phục cơ sở dữ liệu Oracle sử dụng các bản sao lưu RMAN được lưu trữ trong FRA.

a) Chuẩn bị trước khôi phục.

-- Check FRA location
SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST;

-- List RMAN backups

RMAN> LIST BACKUP;

RMAN> CROSSCHECK BACKUP; -- Validate backup integrity

SQL> SELECT CURRENT_SCN FROM V$DATABASE;

SQL> SHUTDOWN IMMEDIATE;

b) Khôi phục cơ sở dữ liệu. Bỏ qua nếu tệp điều khiển còn nguyên vẹn.

# Start RMAN
rman target /

RMAN> STARTUP NOMOUNT;

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; -- Automatically checks FRA

RMAN> ALTER DATABASE MOUNT;

c) Khôi phục cơ sở dữ liệu

RMAN> RUN {

  RESTORE DATABASE;

}

d) Phục hồi cơ sở dữ liệu.

RMAN> RECOVER DATABASE; -- Applies archived logs and incremental backups from FRA

e) Để khôi phục theo thời điểm.

RMAN> RECOVER DATABASE UNTIL TIME 'YYYY-MM-DD:HH24:MI:SS';

f) Mở cơ sở dữ liệu.

RMAN> ALTER DATABASE OPEN RESETLOGS; -- Required after incomplete recovery

4. Khôi phục thông qua AWS Backup đến thời gian sao lưu đã lập lịch (trong trường hợp này, > 30 ngày).
Dịch vụ AWS Backup tạo các snapshot nhất quán về sự cố trên tất cả các volume EBS được gắn với một phiên bản EC2. Do đó, bạn có thể loại bỏ nhu cầu đặt cơ sở dữ liệu vào chế độ sao lưu bằng cách kết hợp tính năng này và tính năng Tối ưu hóa Snapshot Lưu trữ được giới thiệu trong cơ sở dữ liệu Oracle 12c.

Để có một minh họa chi tiết hơn về tính năng snapshot EBS trước đó, tham khảo bài viết sau: Cải thiện hiệu suất sao lưu và khôi phục Oracle với các snapshot nhất quán về sự cố đa volume Amazon EBS.

Sau khi các volume EBS được khôi phục từ snapshot, mặc dù nhất quán về sự cố, cơ sở dữ liệu thường cần khôi phục phương tiện trong Oracle để làm cho nó hoạt động hoàn toàn.

Khi thực hiện khôi phục cơ sở dữ liệu Oracle từ các snapshot được khôi phục bằng AWS Backup, nếu cần khôi phục theo thời điểm, thì dấu thời gian của (các) snapshot phải được biết.

SQL> startup mount;

SQL> recover database until time 'YYYY-MM-DD:HH24:MI:SS' snapshot time 'YYYY-MM-DD:HH24:MI:SS';

Để an toàn, một số giây (chẳng hạn như một phút) được thêm vào thời gian snapshot trước đó để tính đến sự khác biệt đồng hồ có thể có giữa các volume.


Dọn dẹp


Có chi phí liên quan đến việc chạy các phiên bản EC2, hệ thống tệp FSx và AWS Backup. Hãy nhớ xóa và chấm dứt các hệ thống tệp và phiên bản EC2 không sử dụng, và xóa các bản sao lưu nếu chúng không còn cần thiết.

Kết luận


Trong bài viết này, chúng tôi đã minh họa việc sử dụng AWS Backup cho Oracle trên Amazon EC2 và Amazon FSx for NetApp ONTAP làm mục tiêu lưu trữ cho Oracle FRA.

Với chiến lược sao lưu này, cơ sở dữ liệu Oracle chạy trên Amazon EC2 có thể được khôi phục và phục hồi đến một thời điểm trong thời gian lưu giữ FRA đã đặt (trong kịch bản này, 30 ngày). Trong khi đó, AWS Backup có thể được sử dụng để khôi phục dữ liệu không theo thời điểm vượt quá 30 ngày.

Bạn có thể sử dụng giải pháp này để tạo điều kiện khôi phục các bản sao của cơ sở dữ liệu sản xuất của bạn cho mục đích phát triển hoặc thử nghiệm và để khôi phục từ lỗi người dùng loại bỏ dữ liệu hoặc làm hỏng dữ liệu hiện có.

Để tìm hiểu thêm về AWS Backup, tham khảo Tài liệu AWS Backup. Để tìm hiểu thêm về FSx for ONTAP, tham khảo tài liệu FSx for ONTAP.

TAGS: Amazon EC2, Amazon FSx for NetApp ONTAP, AWS Backup, AWS storage, Oracle

Naim Mucaj

Naim Mucaj là Kiến trúc sư Giải pháp cấp cao, chuyên về các dịch vụ Quản lý Dữ liệu và Lưu trữ tại AWS. Anh có hơn 20 năm kinh nghiệm trong việc thiết kế và xây dựng các giải pháp dữ liệu và hạ tầng, luôn tập trung vào kết quả hướng đến khách hàng. Ngoài việc hỗ trợ khách hàng, khi không làm việc tại AWS, Naim thường thích đi du lịch và tìm hiểu về các nền văn hóa mới.

Joe Guo

Joe Guo là Kỹ sư Hỗ trợ Đám mây tại AWS, làm việc tại Sydney, Úc. Anh có hơn 20 năm kinh nghiệm trong ngành CNTT và đam mê hỗ trợ khách hàng giải quyết những thách thức phức tạp. Ngoài công việc, anh thích xem phim, du lịch và dành thời gian cho gia đình.

Ryan Niu
Ryan Niu là một Kiến trúc sư Giải pháp dày dạn kinh nghiệm với hơn 20 năm chuyên môn trong CNTT doanh nghiệp, chuyên về di cư đa đám mây và Oracle. Anh là chuyên gia trong chuyển đổi hạ tầng, tích hợp dữ liệu và giải pháp quản lý danh tính (IAM), với nhiều dự án thành công trong các lĩnh vực chính phủ, tài chính và bán lẻ.