Thứ Năm, 21 tháng 1, 2021

Quản lý Sao lưu cơ sở dữ liệu Oracle với RMAN

Được cài đặt cùng với cơ sở dữ liệu, Recovery Manager (RMAN) là một ứng dụng client cơ sở dữ liệu Oracle thực hiện các nhiệm vụ sao lưu và phục hồi trên cơ sở dữ liệu của bạn và tự động hóa việc quản trị các chiến lược sao lưu của bạn. Nó đơn giản hóa đáng kể việc sao lưu, khôi phục và khôi phục cơ sở dữ liệu.



Môi trường RMAN bao gồm các tiện ích và cơ sở dữ liệu đóng vai trò trong việc sao lưu dữ liệu của bạn. Ở mức tối thiểu, môi trường cho RMAN phải bao gồm những điều sau:

  • Cơ sở dữ liệu đích (target database) . Đây là cơ sở dữ liệu được RMAN sao lưu.
  • Máy khách RMAN (RMAN client ) là một máy khách cơ sở dữ liệu hướng dòng lệnh, giống như SQL * Plus, với cú pháp lệnh riêng của nó. Từ  RMAN client, bạn có thể đưa ra các lệnh RMAN và một số câu lệnh SQL để thực hiện và báo cáo về các hoạt động sao lưu và phục hồi.

Một số môi trường cũng sẽ sử dụng các thành phần tùy chọn này:

  • flash recovery area : vị trí đĩa trong đó cơ sở dữ liệu có thể lưu trữ và quản lý các tệp liên quan đến sao lưu và phục hồi.
  • Phần mềm quản lý phương tiện : phần mềm được cung cấp bởi các nhà cung cấp trình quản lý phương tiện, được yêu cầu cho RMAN để giao tiếp với các thiết bị sao lưu như ổ băng từ. Ví dụ sản phẩm của Oracle Secure Backup, EMC, Dell, HP, HItachi,....
  • Recovery catalog database : một lược đồ cơ sở dữ liệu riêng biệt được sử dụng để ghi lại hoạt động của RMAN dựa trên một hoặc nhiều cơ sở dữ liệu đích.

Bắt đầu và thoát khỏi RMAN

Ứng dụng RMAN client được khởi động bằng cách đưa ra lệnh RMAN tại dấu nhắc lệnh của hệ điều hành của bạn. RMAN phải kết nối với cơ sở dữ liệu đích (với đặc quyền SYSDBA) để thực hiện các tác vụ sao lưu và phục hồi. RMAN cũng có thể kết nối với cơ sở dữ liệu danh mục khôi phục nếu bạn đang sử dụng. Chỉ định cơ sở dữ liệu danh mục mục tiêu và phục hồi bằng cách sử dụng các tùy chọn dòng lệnh hoặc sử dụng lệnh CONNECT.

Lệnh này minh họa kết nối RMAN với cơ sở dữ liệu đích và danh mục khôi phục khi khởi động:

$ rman TARGET / CATALOG cat_usr/pwd@cat_str

Kết nối với cơ sở dữ liệu đích mà không cần sử dụng recovery catalog:

$  rman TARGET SYS/pwd@target_str

Khởi động RMAN mà không cần kết nối với cơ sở dữ liệu:

$ rman

Sau khi bắt đầu, RMAN hiển thị lời nhắc “ RMAN> ” cho các lệnh của bạn.

Cấu hình cài đặt liên tục cho môi trường RMAN

Bạn có thể sử dụng lệnh RMAN CONFIGURE để tạo cài đặt liên tục trong môi trường RMAN, áp dụng cho tất cả các hoạt động tiếp theo, ngay cả khi bạn thoát và khởi động lại RMAN. Các cài đặt được định cấu hình này có thể chỉ định hành vi của đĩa và kênh SBT, các điểm đến sao lưu, các chính sách ảnh hưởng đến chiến lược sao lưu và những thứ khác.

Lệnh này hiển thị tất cả các cài đặt có thể định cấu hình:

RMAN> SHOW ALL;

Sao lưu Controlfile và Spfile

Tệp điều khiển có thể được sao lưu tự động sau mỗi lần sao lưu RMAN và thay đổi cấu trúc cơ sở dữ liệu như một cách để bảo vệ kho lưu trữ RMAN. Nếu một tệp tin đang được sử dụng, nó cũng được sao lưu. Khi sử dụng RMAN mà không có danh mục khôi phục, bạn nên đặt chế độ tự động sao lưu control file thành ON. Lệnh sau định cấu hình RMAN để tạo các tự động sao lưu tệp điều khiển này:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Theo mặc định, RMAN tự động tạo tên để tự động sao lưu control file và lưu trữ chúng trong FRA nếu được xác định. Lệnh sau định cấu hình RMAN để ghi tự động sao lưu tệp điều khiển vào thư mục /mybackupdir:

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

Phần tử % F của chuỗi định dạng kết hợp DBID, ngày, tháng, năm và số thứ tự để tạo một tên tệp duy nhất. % F phải được bao gồm trong bất kỳ định dạng tự động sao lưu tệp điều khiển nào.

Bạn có thể sao lưu control file khi cơ sở dữ liệu được MOUNT hoặc OPEN. RMAN sử dụng một tệp điều khiển ảnh chụp nhanh để đảm bảo một phiên bản đọc nhất quán. Nếu CONFIGURE CONTROLFILE AUTOBACKUP ON (theo mặc định là OFF), thì RMAN sẽ tự động sao lưu control file và tệp thông số máy chủ sau mỗi lần sao lưu và sau khi thay đổi cấu trúc cơ sở dữ liệu. Tự động sao lưu control file chứa siêu dữ liệu về bản sao lưu trước đó, điều này rất quan trọng để khôi phục sau thảm họa. Bạn nên đặt cấu hình tự động sao lưu control file và là cách duy nhất RMAN có thể khôi phục bản sao lưu tệp điều khiển nếu tất cả các tệp điều khiển bị mất và không có danh mục khôi phục nào được sử dụng.

Nếu tính năng tự động sao lưu không được đặt, thì bạn phải sao lưu thủ công tệp điều khiển theo một trong các cách sau:

  • Chạy BACKUP CURRENT CONTROLFILE.
  • Bao gồm bản sao lưu của control file trong bất kỳ bản sao lưu nào bằng cách sử dụng tùy chọn INCLUDE CURRENT CONTROLFILE của lệnh BACKUP.
  • Sao lưu data file 1, vì RMAN tự động bao gồm tệp điều khiển và SPFILE trong bản sao lưu của datafile 1 khi tự động sao lưu control file được đặt thành ON.

Sao lưu thủ công control file không giống như tự động sao lưu control fileTrong sao lưu thủ công, chỉ dữ liệu kho lưu trữ RMAN cho các bản sao lưu trong phiên RMAN hiện tại nằm trong bản sao lưu control file và không thể tự động khôi phục control file được sao lưu thủ công.

Sao lưu Database file

Sử dụng lệnh RMAN BACKUP để sao lưu tệp. Bạn có thể cấu hình trước các thiết bị và kênh mặc định. Lệnh BACKUP sao lưu dữ liệu của bạn vào thiết bị và kênh mặc định đã định cấu hình cho loại sao lưu được yêu cầu.

Nếu bạn chỉ định BACKUP AS COPY, thì RMAN sẽ sao chép tệp dưới dạng bản sao ảnh (image copies), bản sao bit-for-bit của tệp cơ sở dữ liệu được tạo trên đĩa. Chúng giống với các bản sao của cùng một tệp mà bạn có thể tạo bằng các lệnh của hệ điều hành như cp trên Unix hoặc COPY trên Windows. Tuy nhiên, việc sử dụng BACKUP AS COPY sẽ được ghi lại trong kho lưu trữ RMAN và RMAN có thể sử dụng chúng trong các hoạt động khôi phục. Không thể tạo bản sao hình ảnh trên băng.

Lệnh này tạo bản sao lưu bản sao hình ảnh của tất cả các tệp dữ liệu trong cơ sở dữ liệu:

RMAN> BACKUP AS COPY DATABASE;

Nếu bạn chỉ định BACKUP AS BACKUPSET, thì RMAN sẽ lưu trữ các bản sao lưu của nó trong các bộ sao lưu (backup set). Bộ sao lưu, bao gồm một hoặc nhiều phần sao lưu, chứa dữ liệu tệp vật lý đang được sao lưu. Bộ sao lưu này được viết ở định dạng mà chỉ RMAN mới có thể truy cập. Chỉ RMAN mới có thể tạo và khôi phục các bộ sao lưu. Các bộ sao lưu có thể được ghi vào đĩa hoặc băng (tape) và chúng là loại sao lưu duy nhất mà RMAN có thể sử dụng để ghi các bản sao lưu vào băng.

Lệnh sau tạo một bản sao lưu của cơ sở dữ liệu và nhật ký đã lưu trữ trên băng, ở định dạng bộ sao lưu, sử dụng các kênh đã định cấu hình:

RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;
Lưu ý : Việc sao lưu các tệp dữ liệu dưới dạng bộ sao lưu trên đĩa có thể tiết kiệm không gian và thời gian ổ đĩa vì RMAN sẽ bỏ qua việc sao lưu một số khối tệp dữ liệu không sử dụng. Các bộ sao lưu, sau khi được ghi trên đĩa, có thể được chuyển sang băng bằng lệnh BACKUP BACKUPSET.

Sao lưu các tệp riêng lẻ

Bạn có thể sao lưu từng vùng bảng, datafile và control file, spfile và bộ sao lưu (backupset) với các tùy chọn khác nhau, như trong các ví dụ sau:

RMAN> BACKUP ARCHIVELOG from time 'sysdate-2';
RMAN> BACKUP TABLESPACE system, users, nghiepvu;
RMAN> BACKUP AS BACKUPSET DATAFILE 
'ORACLE_HOME/oradata/trgt/users01.dbf', 
'ORACLE_HOME/oradata/trg/nghiepvu01.dbf';
RMAN> BACKUP DATAFILE 1,3,5;
RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/curr_cf.copy';
RMAN> BACKUP SPFILE;
RMAN> BACKUP BACKUPSET ALL;

Tùy chọn sao lưu

Dưới đây là một số tùy chọn lệnh BACKUP thường được sử dụng:

Tham sốThí dụGiải trình
ĐỊNH DẠNGFORMAT = '/ tmp /% U'Chỉ định vị trí và tên cho các mảnh và bản sao lưu. Bạn phải sử dụng các biến thay thế để tạo tên tệp duy nhất.
NHÃNTAG 'monday_bak' Chỉ định một chuỗi do người dùng xác định làm nhãn cho bản sao lưu. Nếu bạn không chỉ định một thẻ, thì RMAN sẽ chỉ định một thẻ mặc định với ngày và giờ

Các lệnh BACKUP sau đây minh họa các tùy chọn này:

RMAN> BACKUP FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';
RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;

Sao lưu gia tăng (hay còn gọi là thay đổi hay incremental)

Nếu bạn chỉ định BACKUP INCREMENTAL, RMAN sẽ tạo các bản sao lưu tăng dần cho cơ sở dữ liệu của bạn. Các bản sao lưu tăng dần nắm bắt trên cơ sở từng block những thay đổi trong cơ sở dữ liệu của bạn kể từ bản sao lưu gia tăng trước đó. Điểm khởi đầu cho chiến lược sao lưu gia tăng là sao lưu gia tăng mức 0 , sao lưu tất cả các khối trong cơ sở dữ liệu. Các bản sao lưu gia tăng cấp độ 1 , được thực hiện đều đặn, chỉ chứa các khối đã thay đổi kể từ bản sao lưu gia tăng trước đó. Đây có thể là tích lũy (bao gồm tất cả các khối đã thay đổi kể từ bản sao lưu cấp 0 gần đây nhất) hoặc khác biệt (chỉ bao gồm các khối được thay đổi kể từ bản sao lưu gia tăng gần đây nhất, cho dù đó là cấp 0 hay cấp 1).

Các bản sao lưu tăng dần thường nhỏ hơn và tạo nhanh hơn các bản sao lưu cơ sở dữ liệu đầy đủ. Khôi phục từ một bản sao lưu gia tăng nhanh hơn so với việc khôi phục chỉ sử dụng làm lại nhật ký. Trong quá trình khôi phục từ bản sao lưu tăng dần, bản sao lưu mức 0 được sử dụng làm điểm bắt đầu, sau đó các khối đã thay đổi được cập nhật dựa trên bản sao lưu mức 1 nếu có thể để tránh áp dụng lại các thay đổi từ việc thực hiện lại lần lượt. Việc khôi phục với các bản sao lưu gia tăng không yêu cầu bạn phải nỗ lực thêm. Nếu có sẵn các bản sao lưu gia tăng, RMAN sẽ sử dụng chúng trong quá trình khôi phục.

Enterprise Edition bao gồm tính năng theo dõi thay đổi của RMAN để sao lưu gia tăng, giúp cải thiện hiệu suất sao lưu gia tăng bằng cách ghi lại các khối đã thay đổi trong mỗi datafile trong tệp theo dõi thay đổi (change tracking). Nếu tính năng theo dõi thay đổi được bật, RMAN sẽ sử dụng tệp theo dõi thay đổi để xác định các khối đã thay đổi để sao lưu gia tăng, do đó tránh phải quét mọi khối trong tệp dữ liệu.

Bản sao lưu được cập nhật tăng dần

Tính năng sao lưu được cập nhật tăng dần của RMAN cho phép một quy trình sao lưu gia tăng hiệu quả hơn. Các thay đổi từ bản sao lưu cấp 1 có thể được sử dụng để chuyển tiếp bản sao lưu gia tăng cấp 0 bản sao hình ảnh, để nó bao gồm tất cả các thay đổi của SCN mà tại đó bản sao lưu gia tăng cấp 1 được tạo. Việc khôi phục bằng cách sử dụng sao lưu gia tăng cấp 0 được cập nhật sẽ nhanh hơn, vì tất cả các thay đổi từ sao lưu gia tăng cấp 1 đã được áp dụng.

Sao lưu Archived Redo Logs

Archived Redo Logs là chìa khóa để khôi phục  thành công đầy đru dữ liệu, tránh mất mát. Sao lưu chúng thường xuyên. Bạn có thể sao lưu nhật ký bằng BACKUP ARCHIVELOG hoặc sao lưu nhật ký trong khi sao lưu các tệp dữ liệu và kiểm soát tệp bằng cách chỉ định BACKUP… PLUS ARCHIVELOG .

Để sao lưu nhật ký làm lại đã lưu trữ, hãy sử dụng lệnh BACKUP ARCHIVELOG tại dấu nhắc RMAN. Ví dụ này sử dụng đĩa được định cấu hình hoặc kênh sbt để sao lưu một bản sao của mỗi số thứ tự nhật ký cho tất cả nhật ký làm lại đã lưu trữ:

RMAN> BACKUP ARCHIVELOG ALL;

Ngay cả khi redo log đang được lưu trữ đến nhiều đích và bạn sử dụng RMAN để sao lưu archived redo log, RMAN chỉ chọn một bản sao của tệp nhật ký làm lại đã lưu trữ để đưa vào bộ sao lưu. (Vì các bản ghi có cùng số thứ tự nhật ký giống hệt nhau, nên không cần bao gồm nhiều hơn một bản sao.)

Bạn cũng có thể chỉ định một loạt các nhật ký làm lại được lưu trữ theo thời gian, SCN hoặc số thứ tự nhật ký, như trong ví dụ sau:

RMAN> BACKUP ARCHIVELOG 
      FROM TIME 'SYSDATE-30' UNTIL TIME 'SYSDATE-7';

Bạn có thể chỉ định mệnh đề DELETE INPUT hoặc DELETE ALL INPUT cho lệnh BACKUP ARCHIVELOG để xóa các archived log sau khi chúng được sao lưu, loại bỏ bước riêng là xóa thủ công cá carchived log đã lưu trữ. Với DELETE INPUT, RMAN chỉ xóa bản sao cụ thể của archived log đã lưu trữ được chọn cho bộ sao lưu. Với DELETE ALL INPUT, RMAN sẽ xóa từng tệp archived redo log đã sao lưu khỏi tất cả các đích lưu archive.

Khôi phục và phục hồi các tệp cơ sở dữ liệu

Sử dụng lệnh RESTORE và RECOVER để khôi phục RMAN và khôi phục các tệp cơ sở dữ liệu vật lý. Khôi phục tệp dữ liệu là truy xuất chúng từ các bản sao lưu khi cần thiết cho hoạt động khôi phục. Phục hồi là ứng dụng các thay đổi từ làm lại nhật ký và sao lưu gia tăng vào một tệp dữ liệu được khôi phục, để đưa tệp dữ liệu đến SCN mong muốn (tại thời điểm) hoặc thời điểm hiện tại.

Khôi phục toàn bộ cơ sở dữ liệu

Sử dụng các lệnh RESTORE DATABASE và RECOVER DATABASE  trên toàn bộ cơ sở dữ liệu. Ví dụ:

RMAN> STARTUP FORCE MOUNT; 
      RESTORE DATABASE; 
      RECOVER DATABASE; 
      ALTER DATABASE OPEN;
Lưu ý rằng cơ sở dữ liệu không được mở khi khôi phục hoặc khôi phục toàn bộ cơ sở dữ liệu.

Khôi phục các tablespace hiện tại

Sử dụng lệnh RESTORE TABLESPACE và RECOVER TABLESPACE trên các vùng bảng riêng lẻ khi cơ sở dữ liệu đang mở. Đưa không gian bảng cần khôi phục ngoại tuyến, khôi phục và sau đó khôi phục không gian bảng và đưa không gian bảng đã phục hồi trực tuyến. Các bước sau khôi phục không gian bảng người dùng:

RMAN> SQL 'ALTER TABLESPACE users OFFLINE'; 
      RESTORE TABLESPACE users; 
      RECOVER TABLESPACE users; 
      SQL 'ALTER TABLESPACE users ONLINE;

Khôi phục các datafile hiện tại

Sử dụng lệnh RESTORE DATAFILE và RECOVER DATAFILE trên các tệp dữ liệu hiện tại riêng lẻ khi cơ sở dữ liệu mở. Đưa tệp dữ liệu cần khôi phục offline, khôi phục khôi phục tệp dữ liệu và đưa tệp dữ liệu online. Ví dụ, để khôi phục và phục hồi datafile 7:

RMAN> SQL 'ALTER DATABASE DATAFILE 7 OFFLINE'; 
      RESTORE DATAFILE 7;
      RECOVER DATAFILE 7; 
      SQL 'ALTER DATABASE DATAFILE 7 ONLINE';

Khôi phục các block dữ liệu riêng lẻ

RMAN có thể khôi phục các khối (block) tệp dữ liệu bị hỏng riêng lẻ. Khi RMAN thực hiện quét toàn bộ tệp để sao lưu, mọi khối bị hỏng sẽ được liệt kê trong V $ DATABASE_BLOCK_CORRUPTION. Lỗi thường được báo cáo trong alert log, trace file hoặc kết quả của các truy vấn SQL. Sử dụng BLOCKRECOVER để sửa chữa tất cả các khối bị hỏng:

RMAN> BLOCKRECOVER CORRUPTION LIST;

Bạn cũng có thể khôi phục các khối riêng lẻ, như được hiển thị trong ví dụ này:

RMAN>  BLOCKRECOVER DATAFILE 7 BLOCK 233, 235 DATAFILE 4 BLOCK 101;

Báo cáo về Hoạt động RMAN

Các lệnh RMAN LIST và REPORT , tạo báo cáo về các hoạt động sao lưu dựa trên kho lưu trữ RMAN. Sử dụng SHOW ALL để hiển thị cấu hình RMAN hiện tại.

Danh sách sao lưu 

Sử dụng LIST để hiển thị thông tin về bộ sao lưu, bản sao proxy và bản sao hình ảnh được ghi trong kho lưu trữ. Lệnh LIST hiển thị các tệp mà bạn có thể chạy các lệnh CROSSCHECK và DELETE. Sử dụng lệnh này để liệt kê:

  • Các bản sao lưu và bản sao không có trạng thái SN SÀNG (AVAILABLE ) trong kho lưu trữ RMAN
  • Bản sao lưu và bản sao của các tệp dữ liệu có sẵn và có thể được sử dụng trong một hoạt động khôi phục
  • Nhật ký lưu trữ đã chỉ định, bộ sao lưu, phần sao lưu, bản sao tệp điều khiển (control file), bản sao tệp dữ liệu (datafile) và bản sao proxy
  • Các bản sao lưu và bản sao bị giới hạn bởi thẻ, thời gian hoàn thành, khả năng khôi phục hoặc thiết bị
  • Sự bao gồm của một cơ sở dữ liệu cụ thể hoặc tất cả các cơ sở dữ liệu mà kho lưu trữ biết đến
  • Các tập lệnh được lưu trữ trong danh mục khôi phục

Báo cáo về tệp cơ sở dữ liệu và bản sao lưu

Lệnh REPORT thực hiện phân tích phức tạp hơn LIST. Sử dụng lệnh BÁO CÁO để trả lời các câu hỏi như sau:

  • Những tệp nào cần sao lưu?
  • Những tệp nào đã không có bản sao lưu trong một thời gian?
  • Những tệp nào không thể khôi phục được do các hoạt động không thể khôi phục?
  • Những tệp sao lưu nào có thể bị xóa?
  • Lược đồ vật lý của cơ sở dữ liệu tại thời điểm trước đó là gì

Quản lý Kho lưu trữ RMAN

Siêu dữ liệu (metada) kho lưu trữ RMAN luôn được ghi lại trong tệp điều khiển (control file) của cơ sở dữ liệu đích. Bạn cũng có thể tạo một danh mục khôi phục trong một cơ sở dữ liệu riêng và RMAN cũng sẽ ghi lại siêu dữ liệu của nó ở đó.

Giám sát các bản ghi trong controlfile

Nếu bạn không sử dụng danh mục khôi phục, thì cuối cùng các bản ghi tệp điều khiển RMAN sẽ bị ghi đè. Đặt tham số khởi tạo này trong tệp tham số của cơ sở dữ liệu đích để xác định thời gian lưu giữ các bản ghi:

CONTROL_FILE_RECORD_KEEP_TIME = [number_of_days_to_keep]

Bạn có thể định cấu hình chính sách lưu giữ sẽ được RMAN sử dụng để xác định những bản sao lưu nào được coi là lỗi thời. Điều này cho phép bạn xóa các tệp khỏi kho lưu trữ không còn cần thiết để đáp ứng các yêu cầu lưu giữ của bạn. Chính sách này có thể dựa trên thời lượng khôi phục (số ngày tối đa trong quá khứ mà bạn có thể khôi phục) hoặc dự phòng (cần giữ bao nhiêu bản sao của mỗi tệp đã sao lưu).

Tham số RECOVERY WINDOW của lệnh CONFIGURE chỉ định số ngày giữa thời điểm hiện tại và điểm có khả năng khôi phục sớm nhất. RMAN không coi bất kỳ bản sao lưu gia tăng đầy đủ hoặc mức 0 nào là lỗi thời nếu nó nằm trong cửa sổ khôi phục. Ngoài ra, RMAN giữ lại tất cả nhật ký đã lưu trữ và các bản sao lưu gia tăng cấp 1 cần thiết để khôi phục đến một điểm ngẫu nhiên trong cửa sổ.

Chạy lệnh CONFIGURE RETENTION POLICY tại dấu nhắc RMAN. Ví dụ này đảm bảo rằng bạn có thể khôi phục cơ sở dữ liệu đến bất kỳ thời điểm nào trong tuần trước:

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS

Tham số REDUNDANCY của lệnh CONFIGURE RETENTION POLICY chỉ định số lượng bản sao lưu của mỗi tệp dữ liệu và tệp điều khiển mà RMAN nên giữ. Nói cách khác, nếu số lượng bản sao lưu cho một tệp dữ liệu hoặc tệp điều khiển cụ thể vượt quá cài đặt REDUNDANCY, thì các bản sao lưu bổ sung đó là lỗi thời. Chính sách lưu giữ mặc định là REDUNDANCY = 1 .

Khi bạn tạo ra nhiều bản sao lưu, RMAN sẽ theo dõi những bản sao lưu nào cần giữ lại và bản sao lưu nào đã lỗi thời. RMAN giữ lại tất cả các bản ghi arcd và các bản sao lưu tăng dần cần thiết để khôi phục các bản sao lưu không lỗi thời.

Giả sử rằng bạn tạo một bản sao lưu của datafile 7 vào Thứ Hai, Thứ Ba, Thứ Tư và Thứ Năm. Bây giờ bạn có bốn bản sao lưu của tệp dữ liệu. Nếu REDUNDANCY là 2, thì các bản sao lưu thứ Hai và thứ Ba đã lỗi thời. Nếu bạn thực hiện một bản sao lưu khác vào thứ Sáu, thì bản sao lưu vào thứ Tư sẽ trở nên lỗi thời/cũ.

Chạy lệnh CONFIGURE RETENTION POLICY tại dấu nhắc RMAN, như trong ví dụ sau:

RMAN> CCONFIGURE RETENTION POLICY TO REDUNDANCY 3;

RMAN không tự động xóa các bản sao lưu đã lỗi thời theo chính sách lưu giữ. Thay vào đó, RMAN hiển thị chúng dưới dạng OBSOLETE trong đầu ra REPORT OBSOLETE và trong cột OBSOLETE của V$BACKUP_FILES. RMAN xóa các tệp lỗi thời nếu bạn chạy lệnh DELETE OBSOLETE.

Lưu ý : Các bản sao lưu trong khu vực khôi phục flash dễ bị xóa dựa trên cấu hình chính sách lưu giữ RMAN.

Kiểm tra chéo (Crosschecking) và xóa các bản sao lưu

Crosscheck là cần thiết khi một tệp archivelog hoặc bản sao lưu bị xóa theo cách thủ công, tức là không bị xóa bởi RMAN. Lệnh này đảm bảo rằng dữ liệu về các bản sao lưu trong danh mục khôi phục hoặc tệp điều khiển được đồng bộ hóa với dữ liệu tương ứng trên đĩa hoặc trong danh mục quản lý phương tiện. Lệnh CROSSCHECK chỉ hoạt động trên các tệp được ghi trong danh mục khôi phục hoặc tệp điều khiển.

Lệnh CROSSCHECK không xóa bất kỳ tệp nào mà nó không thể tìm thấy, nhưng cập nhật các bản ghi kho lưu trữ của chúng thành HẾT HẠN. Sau đó, bạn có thể chạy DELETE EXPIRED để xóa các bản ghi trong kho lưu trữ cho tất cả các tệp đã hết hạn cũng như bất kỳ tệp vật lý hiện có nào có bản ghi hiển thị trạng thái HẾT HẠN.

Nếu một số phần hoặc bản sao lưu bị đánh dấu nhầm là HẾT HẠN, chẳng hạn như do trình quản lý phương tiện bị định cấu hình sai, thì sau khi đảm bảo rằng các tệp thực sự tồn tại trong trình quản lý phương tiện, hãy chạy lại lệnh CROSSCHECK BACKUP để khôi phục các tệp đó về trạng thái CÓ S AVN.

Kiểm tra chéo sao lưu

RMAN> # kiểm tra bản sao lưu RMAN trên các thiết bị đã định cấu hình 
      CROSSCHECK BACKUP;
RMAN> # kiểm tra bản sao hình ảnh RMAN trên các thiết bị được định cấu hình
      CROSSCHECK COPY;

Nếu các bản sao lưu được lưu trữ bằng trình quản lý phương tiện và các kênh sbt không được định cấu hình, thì bạn phải phân bổ kênh bảo trì trước các lệnh CROSSCHECK và DELETE trên thiết bị sbt:

RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; 
      CROSSCHECK BACKUP;

Lệnh DELETE loại bỏ các bản sao lưu và sao lưu RMAN khỏi các thiết bị DISK và sbt, đánh dấu các chủ đề là ĐÃ XÓA trong tệp điều khiển và xóa các bản ghi khỏi danh mục khôi phục (nếu bạn sử dụng danh mục). Ví dụ:

RMAN> DELETE BACKUPSET 101, 102, 103; 
      DELETE CONTROLFILECOPY '/tmp/cf.cpy'; 
      DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 7300; 
      DELETE BACKUP OF SPFILE TABLESPACE users DEVICE TYPE sbt; 
      DELETE BACKUP OF DATABASE LIKE '/tmp%'; # pattern match 
      DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;
==================================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

#học oracle database
#Oracle Database Administration
#Oracle Tutorial
#Oracle DBA
#tự học oracle
#oca
#ocp

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master