執行 Oracle 資料庫執行個體的一般 RMAN 任務 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行 Oracle 資料庫執行個體的一般 RMAN 任務

下節會說明在執行 Oracle 的 Amazon RDS 資料庫執行個體上進行 Oracle Recovery Manager (RMAN) DBA 任務的方法。為了提供受管理的服務體驗,Amazon RDS 並不會提供資料庫執行個體的殼層存取權。而且會將存取權限制在某些需要進階權限的系統程序和資料表。

使用 Amazon RDS 套件 rdsadmin.rdsadmin_rman_util,將 Amazon RDS for Oracle 資料庫執行 RMAN 備份至磁碟。rdsadmin.rdsadmin_rman_util 套件可支援完整和增量資料庫檔案備份、資料表空間備份,以及封存的重做日誌檔備份。

RMAN 備份作業完成後,您即可從 Amazon RDS for Oracle 資料庫執行個體主機複製備份檔案。如此一來,您就能透過該檔案還原至非 RDS 主機,或用來長期儲存備份資料。例如,您可以將備份檔案複製到 Amazon S3 儲存貯體。如需詳細資訊,請參閱 Amazon S3 整合的使用方式。

RMAN 備份作業產生的備份檔案會保留在 Amazon RDS 資料庫執行個體主機上,直到您手動移除這些檔案為止。您可使用 UTL_FILE.FREMOVE Oracle 程序由目錄移除檔案。如需詳細資訊,請參閱 Oracle 資料庫文件中的 FREMOVE 程序

您無法使用 RMAN 來還原 RDS for Oracle 資料庫執行個體。不過,您可以使用 RMAN 將備份還原到內部部署或 Amazon EC2 執行個體。如需詳細資訊,請參閱部落格文章將 Amazon RDS for Oracle 執行個體還原到自我管理的執行個體

注意

若要備份或還原至另一個 Amazon RDS for Oracle 資料庫執行個體,則可繼續使用 Amazon RDS 備份和還原功能。如需詳細資訊,請參閱 備份、還原和匯出資料

RMAN 備份的先決條件

使用 rdsadmin.rdsadmin_rman_util 套件備份資料庫之前,請確定您符合下列先決條件:

  • 確保你的 RDS for Oracle 資料庫處於 ARCHIVELOG 模式。若要啟用此模式,請將備份保留期間設定為非零值。

  • 在備份封存的重做日誌,或是執行包含封存重做日誌的完整或增量備份,以及備份資料庫時,請確保將重做日誌保留期間設定為非零值。需要存檔的重做日誌,才能在復原期間使資料庫檔案保持一致。如需詳細資訊,請參閱 保留封存的重做日誌

  • 請確保您的資料庫執行個體有足夠的可用空間來存放備份。當您備份資料庫時,可以在程序呼叫中將 Oracle 目錄物件指定為參數。RMAN 會將檔案放在指定目錄中。您能夠使用預設目錄 (如 DATA_PUMP_DIR),也能夠建立新目錄。如需詳細資訊,請參閱 在主要資料儲存空間中建立和捨棄目錄

    您可以使用 CloudWatch 測量結果來監督 RDS for Oracle 執行處理中目前的可用空間FreeStorageSpace。我們建議您的可用空間超過資料庫目前的大小,儘管 RMAN 僅備份格式化的區塊並支援壓縮。

RMAN 程序的常見參數

您可以使用 Amazon RDS 套件 rdsadmin.rdsadmin_rman_util 中的程序來執行 RMAN 任務。有多個參數對該套件中的程序而言都是共通的,以下即為該套件的常見參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_directory_name

varchar2

有效的資料庫目錄名稱。

要包含備份檔案的目錄名稱。

p_label

varchar2

a-z, A-Z, 0-9, '_', '-', '.'

包含在備份檔案名稱中的唯一字串。

注意

長度限制為 30 個字元。

p_owner

varchar2

p_directory_name 中指定的有效目錄擁有者。

要包含備份檔案的目錄擁有者。

p_tag

varchar2

a-z, A-Z, 0-9, '_', '-', '.'

NULL

可用於區分備份的字串,以指明備份的目的或用法,例如每日、每週或增量層級備份。

長度限制為 30 個字元。標籤不區分大小寫。無論輸入標籤時使用的大小寫為何,一律以大寫形式儲存標籤。

標籤不需是唯一的,因此多個備份可以有相同的標籤。

如果沒有指定標籤,則 RMAN 會使用 TAGYYYYMMDDTHHMMSS 格式自動指派預設標籤,其中 YYYY 是年、MM 是月、DD 是日、HH 是時 (24 小時制)、MM 是分、SS 是秒。日期和時間指的是 RMAN 開始備份的時間。

例如,如果備份是在 2019-09-27 的 21:45:17 開始的,接收到的標籤可能是 TAG20190927T214517

下列 Amazon RDS for Oracle 資料庫引擎版本支援 p_tag 參數:

  • Oracle Database 21c (21.0.0)

  • 使用 19.0.0.0.ru-2021-10.rur-2021-10.r1 或更新版本的 Oracle Database 19c (19.0.0)

p_compress

boolean

TRUE, FALSE

FALSE

指定 TRUE 可啟用 BASIC 備份壓縮。

指定 FALSE 可停用 BASIC 備份壓縮。

p_include_archive_logs

布林值

TRUE, FALSE

FALSE

指定 TRUE 可在備份中包含封存的重做日誌。

指定 FALSE 可排除備份中的封存重做日誌。

如果您選擇在備份中包含封存的重做日誌,請使用 rdsadmin.rdsadmin_util.set_configuration 程序將保留期間設定為一小時以上。同時,您還需立即呼叫 rdsadmin.rdsadmin_rman_util.crosscheck_archivelog 程序,再開始執行備份。否則,備份作業可能會因缺少遭 Amazon RDS 管理程序刪除的封存重做日誌檔而失敗。

p_include_controlfile

布林值

TRUE, FALSE

FALSE

指定 TRUE 可在備份中包含控制檔案。

指定 FALSE 可排除備份中的控制檔案。

p_optimize

布林值

TRUE, FALSE

TRUE

指定 TRUE 可啟用備份最佳化。在包含封存重做日誌的情況下,此參數可縮減備份大小。

指定 FALSE 可停用備份最佳化。

p_parallel

數字

Oracle Database Enterprise Edition (EE),介於 1254 之間的有效整數

1其他 Oracle 資料庫版本為

1

通道的數目。

p_rman_to_dbms_output

布林值

TRUE, FALSE

FALSE

TRUE 時,RMAN 輸出除了傳送到 DBMS_OUTPUT 目錄中的檔案以外,還會傳送到 BDUMP 套件。在 SQL*Plus 中,使用 SET SERVEROUTPUT ON 來查看輸出。

設定為 FALSE 時,系統只會將 RMAN 輸出傳送至 BDUMP 目錄中的檔案。

p_section_size_mb

數字

有效的整數

NULL

區段大小,以 MB 為單位。

將每個檔案分割為指定的區段大小來平行驗證。

NULL 時,會忽略參數。

p_validation_type

varchar2

'PHYSICAL', 'PHYSICAL+LOGICAL'

'PHYSICAL'

損毀偵測的層級。

指定 'PHYSICAL' 來檢查實體損毀。實體損毀的其中一例是標頭和頁尾中不相符的區塊。

指定 'PHYSICAL+LOGICAL' 來檢查邏輯不一致以及實體損毀。邏輯損毀的其中一例,就是損毀的區塊。

在 RDS 中為甲骨文驗證數據庫文件

您可以使用 Amazon RDS 套件rdsadmin.rdsadmin_rman_util來驗證適用於 Oracle 資料庫檔案的 Amazon RDS,例如資料檔案、表格空間、控制檔和伺服器參數檔案 (SPFiles)。

如需 RMAN 驗證的詳細資訊,請參閱 Oracle 文件中的驗證資料庫檔案和備份,以及 VALIDATE

驗證資料庫

若要驗證 Oracle 適用於 Oracle 的 RDS 資料庫所使用的所有相關檔案,請使用 Amazon RDS 程序rdsadmin.rdsadmin_rman_util.validate_database

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

如需詳細資訊,請參閱 RMAN 程序的常見參數

下列範例會使用參數的預設值來驗證資料庫。

EXEC rdsadmin.rdsadmin_rman_util.validate_database;

下列範例會使用指定的參數值來驗證資料庫。

BEGIN rdsadmin.rdsadmin_rman_util.validate_database( p_validation_type => 'PHYSICAL+LOGICAL', p_parallel => 4, p_section_size_mb => 10, p_rman_to_dbms_output => FALSE); END; /

p_rman_to_dbms_output 參數設定為 FALSE 時,系統會將 RMAN 輸出寫入 BDUMP 目錄中的檔案。

若要檢視 BDUMP 目錄中的檔案,請執行下列 SELECT 陳述式。

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

若要檢視 BDUMP 目錄中的檔案內容,請執行下列 SELECT 陳述式。

SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));

請使用要檢視的檔案名稱來取代原先的檔案名稱。

驗證租戶資料庫

若要驗證容器資料庫 (CDB) 中租戶資料庫的資料檔案,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.validate_tenant

這個程序僅適用於目前的租戶資料庫,並會將下列常見參數用於 RMAN 任務:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

如需詳細資訊,請參閱 RMAN 程序的常見參數。下列資料庫引擎版本支援這個程序:

  • Oracle Database 21c (21.0.0) CDB

  • Oracle Database 19c (19.0.0) CDB

下列範例會使用參數的預設值來驗證目前的資料庫執行個體。

EXEC rdsadmin.rdsadmin_rman_util.validate_tenant;

下列範例會使用參數的指定值來驗證目前的資料庫執行個體。

BEGIN rdsadmin.rdsadmin_rman_util.validate_tenant( p_validation_type => 'PHYSICAL+LOGICAL', p_parallel => 4, p_section_size_mb => 10, p_rman_to_dbms_output => FALSE); END; /

p_rman_to_dbms_output 參數設定為 FALSE 時,系統會將 RMAN 輸出寫入 BDUMP 目錄中的檔案。

若要檢視 BDUMP 目錄中的檔案,請執行下列 SELECT 陳述式。

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

若要檢視 BDUMP 目錄中的檔案內容,請執行下列 SELECT 陳述式。

SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));

請使用要檢視的檔案名稱來取代原先的檔案名稱。

驗證資料表空間

若要驗證與資料表空間相關聯的檔案,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.validate_tablespace

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_tablespace_name

varchar2

有效的資料表空間名稱

資料表空間的名稱。

驗證控制檔案

若要只驗證 Amazon RDS Oracle 資料庫執行個體使用的控制檔案,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.validate_current_controlfile

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_validation_type

  • p_rman_to_dbms_output

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

驗證 SPFILE

若要只驗證 Amazon RDS Oracle 資料庫執行個體使用的伺服器參數檔案 (SPFILE),請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.validate_spfile

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_validation_type

  • p_rman_to_dbms_output

如需詳細資訊,請參閱 RMAN 程序的常見參數

驗證甲骨文數據文件

若要驗證資料檔案,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.validate_datafile

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_datafile

varchar2

有效資料檔案 ID 編號或包含完整路徑的有效資料檔案名稱

資料檔案 ID 編號 (來自 v$datafile.file#) 或包含路徑的完整資料檔案名稱 (來自 v$datafile.name)。

p_from_block

數字

有效的整數

NULL

資料檔案內開始驗證的區塊數量。當此參數為 NULL 時,表示使用的數量為 1

p_to_block

數字

有效的整數

NULL

資料檔案內結束驗證的區塊數量。當此參數為 NULL 時,表示資料檔案內使用的區塊數量達到上限。

啟用和停用區塊變更追蹤功能

區塊變更追蹤會紀錄追蹤檔案中變更的區塊。這項技術可以改善 RMAN 增量備份的效能。如需詳細資訊,請參閱 Oracle 資料庫文件中的使用區塊變更追蹤來改善增量備份效能

讀取複本不支援 RMAN 功能。不過,在您的高可用性策略中,您可能會選擇使用程序 rdsadmin.rdsadmin_rman_util.enable_block_change_tracking 在唯讀複本中啟用區塊追蹤。如果您將此唯讀複本提升至來源資料庫執行個體,則會為新來源執行個體啟用區塊變更追蹤。因此,您的執行個體可能因快速增量備份而受益。

下列資料庫引擎版本支援企業版限定的區塊變更追蹤程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

注意

在單一租用戶 CDB 中,以下操作雖然有效,但沒有客戶可見機制能夠偵測操作的當前狀態。另請參閱 RDS for Oracle CDB 的限制

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.enable_block_change_tracking,為資料庫執行個體啟用區塊變更追蹤功能。若要停用區塊變更追蹤,請使用 disable_block_change_tracking。這些程序不需採用任何參數。

若要判斷資料庫執行個體是否啟用區塊變更追蹤功能,則可執行下列查詢。

SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;

下方範例會為資料庫執行個體啟用區塊變更追蹤功能。

EXEC rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;

下方範例會為資料庫執行個體停用區塊變更追蹤功能。

EXEC rdsadmin.rdsadmin_rman_util.disable_block_change_tracking;

交叉檢查封存的重做日誌

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.crosscheck_archivelog 來交叉檢查封存的重做日誌。

您能夠利用這個程序來交叉檢查控制檔案中註冊的封存重做日誌,並選擇刪除過期的記錄。當 RMAN 製作備份時,它會在控制檔中建立記錄。經過一段時間後,這些記錄會增加控制檔案的大小,建議您定期移除過期的記錄。

注意

標準的 Amazon RDS 備份作業不會使用 RMAN,所以系統不會在控制檔案中建立記錄。

這個程序會採用常見參數 p_rman_to_dbms_output 來處理 RMAN 任務。

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_delete_expired

布林值

TRUE, FALSE

TRUE

當此參數為 TRUE 時,系統會從控制檔案中刪除過期的封存重做日誌。

當此參數為 FALSE 時,系統會保留控制檔案中過期的封存重做日誌。

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

下列範例會將控制檔中的封存重做日誌記錄標示為過期,但不會刪除記錄。

BEGIN rdsadmin.rdsadmin_rman_util.crosscheck_archivelog( p_delete_expired => FALSE, p_rman_to_dbms_output => FALSE); END; /

下方範例會從控制檔案中刪除過期的封存重做日誌。

BEGIN rdsadmin.rdsadmin_rman_util.crosscheck_archivelog( p_delete_expired => TRUE, p_rman_to_dbms_output => FALSE); END; /

備份存檔重做日誌檔

您可以使用 Amazon RDS 套件 rdsadmin.rdsadmin_rman_util 來備份 Amazon RDS Oracle 資料庫執行個體的封存重做日誌。

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援備份封存重做日誌的程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

備份所有封存的重做日誌

若要備份 Amazon RDS Oracle 資料庫執行個體的所有封存重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_archivelog_all

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

下方範例會備份資料庫執行個體的所有封存重做日誌。

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_all( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

備份特定日期範圍內的封存重做日誌

若要透過指定某個日期範圍來備份 Amazon RDS Oracle 資料庫執行個體的特定封存重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_archivelog_date。該日期範圍可用來指定要進行備份的封存重做日誌。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_from_date

日期

介於磁碟上封存重做日誌 start_datenext_date 間的日期。該值必須小於或等於您為 p_to_date 指定的值。

封存日誌備份的開始日期。

p_to_date

日期

介於磁碟上封存重做日誌 start_datenext_date 間的日期。該值必須大於或等於您為 p_from_date 指定的值。

封存日誌備份的結束日期。

下方範例會備份日期範圍內的資料庫執行個體封存重做日誌。

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_date( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_date => '03/01/2019 00:00:00', p_to_date => '03/02/2019 00:00:00', p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

備份特定 SCN 範圍內的封存重做日誌

若要透過指定某個系統變更編號 (SCN) 來備份 Amazon RDS Oracle 資料庫執行個體的特定封存重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_archivelog_scn。該 SCN 範圍可用來指定要進行備份的封存重做日誌。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_from_scn

數字

磁碟上封存重做日誌的 SCN。該值必須小於或等於您為 p_to_scn 指定的值。

封存日誌備份的起始 SCN。

p_to_scn

數字

磁碟上封存重做日誌的 SCN。該值必須大於或等於您為 p_from_scn 指定的值。

封存日誌備份的結束 SCN。

下方範例會備份 SCN 範圍內的資料庫執行個體封存重做日誌。

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_scn( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_scn => 1533835, p_to_scn => 1892447, p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

備份特定序號範圍內的封存重做日誌

若要透過指定某個序號範圍來備份 Amazon RDS Oracle 資料庫執行個體的特定封存重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence。該序號範圍可用來指定要進行備份的封存重做日誌。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_from_sequence

數字

磁碟上封存重做日誌的序號。該值必須小於或等於您為 p_to_sequence 指定的值。

封存日誌備份的起始序號。

p_to_sequence

數字

磁碟上封存重做日誌的序號。該值必須大於或等於您為 p_from_sequence 指定的值。

封存日誌備份的結束序號。

下方範例會備份序號範圍內的資料庫執行個體封存重做日誌。

BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_from_sequence => 11160, p_to_sequence => 11160, p_parallel => 4, p_tag => 'MY_LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /

執行完整資料庫備份

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_database_full,對備份中包含的所有資料檔案區塊執行備份作業。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

下列範例會使用參數的指定值來執行資料庫執行個體的完整備份。

BEGIN rdsadmin.rdsadmin_rman_util.backup_database_full( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_section_size_mb => 10, p_tag => 'FULL_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /

執行租戶資料庫的完整備份

您可以執行所有資枓區塊的備份,包括容器資料庫 (CDB) 中的租戶資料庫。使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_tenant_full 這個程序僅適用於目前的資料庫備份,並會將下列常見參數用於 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需詳細資訊,請參閱 RMAN 程序的常見參數

下列 RDS for Oracle 資料庫引擎版本支援 rdsadmin_rman_util.backup_tenant_full 程序:

  • Oracle Database 21c (21.0.0) CDB

  • Oracle Database 19c (19.0.0) CDB

下列範例會使用參數的指定值來執行目前租戶資料庫的完整備份。

BEGIN rdsadmin.rdsadmin_rman_util.backup_tenant_full( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_parallel => 4, p_section_size_mb => 10, p_tag => 'FULL_TENANT_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /

執行增量資料庫備份

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_database_incremental 來執行資料庫執行個體的增量備份作業。

如需增量備份的詳細資訊,請參閱 Oracle 文件中的增量備份

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_level

數字

0, 1

0

指定 0 可啟用完整增量備份。

指定 1 可啟用非累積增量備份。

下列範例會使用參數的指定值來執行資料庫執行個體的增量備份。

BEGIN rdsadmin.rdsadmin_rman_util.backup_database_incremental( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_level => 1, p_parallel => 4, p_section_size_mb => 10, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /

執行租戶資料庫的增量備份

您可以在 CDB 中執行目前租戶資料庫的增量備份。使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_tenant_incremental

如需增量備份的詳細資訊,請參閱 Oracle Database 文件中的增量備份

這個程序僅適用於目前的租戶資料庫,並會將下列常見參數用於 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需詳細資訊,請參閱 RMAN 程序的常見參數

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0) CDB

  • Oracle Database 19c (19.0.0) CDB

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_level

數字

0, 1

0

指定 0 可啟用完整增量備份。

指定 1 可啟用非累積增量備份。

下列範例會使用參數的指定值來執行目前租戶資料庫的增量備份。

BEGIN rdsadmin.rdsadmin_rman_util.backup_tenant_incremental( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_level => 1, p_parallel => 4, p_section_size_mb => 10, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /

備份資料表空間

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_tablespace 來備份資料表空間。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_parallel

  • p_section_size_mb

  • p_include_archive_logs

  • p_include_controlfile

  • p_optimize

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

此外,這個程序還會額外使用下列參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_tablespace_name

varchar2

有效的資料表空間名稱。

要備份的資料表空間名稱。

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

下列範例會使用參數的指定值來執行資料表空間備份。

BEGIN rdsadmin.rdsadmin_rman_util.backup_tablespace( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_tablespace_name => 'MYTABLESPACE', p_parallel => 4, p_section_size_mb => 10, p_tag => 'MYTABLESPACE_BACKUP', p_rman_to_dbms_output => FALSE); END; /

備份控制檔案

您可以使用 Amazon RDS 程序 rdsadmin.rdsadmin_rman_util.backup_current_controlfile 來備份控制檔案。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_owner

  • p_directory_name

  • p_label

  • p_compress

  • p_rman_to_dbms_output

  • p_tag

如需更多詳細資訊,請參閱 RMAN 程序的常見參數

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

下列範例使用參數的指定值來備份控制檔案。

BEGIN rdsadmin.rdsadmin_rman_util.backup_current_controlfile( p_owner => 'SYS', p_directory_name => 'MYDIRECTORY', p_tag => 'CONTROL_FILE_BACKUP', p_rman_to_dbms_output => FALSE); END; /

執行區塊媒體復原

您可以使用 Amazon RDS 程序復原個別資料區塊 (稱為區塊媒體復原) rdsadmin.rdsadmin_rman_util.recover_datafile_block。您可以使用此過載程序來復原個別資料區塊或一系列資料區塊。

這個程序會採用下列常見參數來處理 RMAN 任務:

  • p_rman_to_dbms_output

如需詳細資訊,請參閱 RMAN 程序的常見參數

此程序會使用下列其他參數。

參數名稱 資料類型 有效值 預設 必要 描述

p_datafile

NUMBER

有效的資料檔 ID 號碼。

包含損毀區塊的資料檔案。使用下列其中一種方式指定資料檔案:

  • 資料檔 ID 號碼,位於 V$DATAFILE.FILE#

  • 完整的資料檔案名稱,包括路徑,位於 V$DATAFILE.NAME

p_block

NUMBER

有效的整數。

要恢復的單個塊的數量。

下列參數是互斥的:

  • p_block

  • p_from_blockp_to_block

p_from_block

NUMBER

有效的整數。

要恢復的區塊範圍內的第一個區塊編號。

下列參數是互斥的:

  • p_block

  • p_from_blockp_to_block

p_to_block

NUMBER

有效的整數。

要恢復的區塊範圍內的最後一個區塊編號。

下列參數是互斥的:

  • p_block

  • p_from_blockp_to_block

下列 Amazon RDS for Oracle 資料庫引擎版本皆支援這個程序:

  • Oracle Database 21c (21.0.0)

  • Oracle 資料庫 19c (19.0.0)

下列範例會復原資料檔 5 中的區塊 100。

BEGIN rdsadmin.rdsadmin_rman_util.recover_datafile_block( p_datafile => 5, p_block => 100, p_rman_to_dbms_output => TRUE); END; /

下列範例會復原資料檔 5 中的區塊 100 到 150。

BEGIN rdsadmin.rdsadmin_rman_util.recover_datafile_block( p_datafile => 5, p_from_block => 100, p_to_block => 150, p_rman_to_dbms_output => TRUE); END; /