执行 Oracle 数据库实例的常见 RMAN 任务 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

执行 Oracle 数据库实例的常见 RMAN 任务

在下一节中,您可以了解如何在运行 Oracle 的 Amazon RDS 数据库实例上执行 Oracle Recovery Manager (RMAN) DBA 任务。为了提供托管服务体验,Amazon RDS 未提供数据库实例的 Shell 访问权限。并且它还限制了对需要高级权限的某些系统程序和表的访问。

使用 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 指标 FreeStorageSpace 监控 RDS for Oracle 实例中的当前可用空间。尽管 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 年 9 月 27 日 21:45:17,则收到的标签可能为 TAG20190927T214517

以下 Amazon RDS for Oracle 数据库引擎版本支持 p_tag 参数:

  • Oracle Database 21c (21.0.0)

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

  • Oracle Database 12c 第 2 版 (12.2),使用 12.2.0.1.ru-2021-10.rur-2021-10.r1 或更高版本

  • Oracle Database 12c 第 1 版 (12.1),使用 12.1.0.2.V26 或更高版本

p_compress

布尔值

TRUE, FALSE

FALSE

指定 TRUE 以启用基本备份压缩。

指定 FALSE 以禁用基本备份压缩。

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

number

对于 Oracle Database 企业版 (EE),为介于 1254 之间的有效整数。

1对于其他 Oracle Database 版本为 。

1

通道数。

p_rman_to_dbms_output

布尔值

TRUE, FALSE

FALSE

TRUE 时,在 DBMS_OUTPUT 目录中的文件之外,RMAN 输出还发送到 BDUMP 包。在 SQL*Plus 中,使用 SET SERVEROUTPUT ON 查看输出。

FALSE 时,RMAN 输出只发送到 BDUMP 目录中的文件。

p_section_size_mb

number

有效的整数

NULL

扇区大小,以兆字节 (MB) 为单位。

通过将每个文件拆分为指定扇区大小来并行验证。

NULL 时将忽略参数。

p_validation_type

varchar2

'PHYSICAL', 'PHYSICAL+LOGICAL'

'PHYSICAL'

检测损坏的程度。

指定 'PHYSICAL' 检查物理损坏。物理损坏的例子包括数据块在标头和脚注中不匹配。

指定 'PHYSICAL+LOGICAL' 在物理损坏之外,还检查逻辑不一致的情况。逻辑损坏的例子包括数据块损坏。

在 RDS for Oracle 中验证数据库文件

您可以使用 Amazon RDS 包 rdsadmin.rdsadmin_rman_util 验证 Amazon RDS for Oracle 数据库文件,例如数据文件、表空间、控制文件以及服务器参数文件(SPFILE)。

有关 RMAN 验证的更多信息,请参阅验证数据库文件和备份以及 Oracle 文档中的 VALIDATE

验证数据库

要验证 RDS for Oracle 中的 Oracle 数据库使用的所有相关文件,请使用 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 过程的常见参数

验证 Oracle 数据文件

要验证数据文件,请使用 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

number

有效的整数

NULL

在数据文件中开始验证的块的编号。当这为 NULL 时,将使用 1

p_to_block

number

有效的整数

NULL

在数据文件中结束验证的块的编号。当这为 NULL 时,将使用数据文件中的最大块。

启用和禁用数据块更改跟踪

数据库更改跟踪记录更改了跟踪文件中的数据块。此技术可以提高 RMAN 增量备份的性能。有关详细信息,请参阅 Oracle 数据库文档中的使用数据块更改跟踪来提高增量备份性能

只读副本不支持 RMAN 特征。但是,作为高可用性策略的一部分,您可以选择使用过程 rdsadmin.rdsadmin_rman_util.enable_block_change_tracking 在只读副本中启用数据块跟踪。如果您将此只读副本提升为源数据库实例,则会为新的源实例启用数据块更改跟踪。因此,您的实例可以受益于快速的增量备份。

以下数据库引擎版本仅在企业版中支持数据块更改跟踪过程:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本(已弃用)

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本(已弃用)

注意

在单租户 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,因此不会在控制文件中创建记录。

该过程使用 RMAN 任务的常见参数 p_rman_to_dbms_output

有关更多信息,请参阅“RMAN 过程的常见参数”。

此过程还使用以下其他参数。

参数名称 数据类型 有效值 默认值 必需 描述

p_delete_expired

布尔值

TRUE, FALSE

TRUE

当为 TRUE 时,从控制文件中删除过期的存档重做日志记录。

当为 FALSE 时,保留控制文件中过期的存档重做日志记录。

以下 Amazon RDS for Oracle 数据库引擎版本支持此过程:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本

以下示例将控制文件中存档的重做日志记录标记为已过期,但不删除这些记录。

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 Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本

备份所有存档重做日志

要备份 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

date

介于磁盘上存在的存档重做日志的 start_datenext_date 之间的日期。该值必须小于或等于为 p_to_date 指定的值。

存档日志备份的起始日期。

p_to_date

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

number

磁盘上存在的存档重做日志的 SCN。该值必须小于或等于为 p_to_scn 指定的值。

存档日志备份的起始 SCN。

p_to_scn

number

磁盘上存在的存档重做日志的 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

number

磁盘上存在的存档重做日志的序列号。该值必须小于或等于为 p_to_sequence 指定的值。

存档日志备份的起始序列号。

p_to_sequence

number

磁盘上存在的存档重做日志的序列号。该值必须大于或等于为 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 Database 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 Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本

此过程还使用以下其他参数。

参数名称 数据类型 有效值 默认值 必需 描述

p_level

number

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 数据库文档中的增量备份

该过程仅适用于当前租户数据库,并使用 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

number

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 Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本

以下示例使用参数的指定值来执行表空间备份。

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 Database 19c(19.0.0)

  • Oracle Database 12c 第 2 版(12.2),使用 12.2.0.1.ru-2019-01.rur-2019-01.r1 或更高版本

  • Oracle Database 12c 第 1 版(12.1),使用 12.1.0.2.v15 或更高版本

以下示例使用参数的指定值来备份控制文件。

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 Database 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; /