

# 在 RDS for Oracle 中验证数据库文件
<a name="Appendix.Oracle.CommonDBATasks.ValidateDBFiles"></a>

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

有关 RMAN 验证的更多信息，请参阅[验证数据库文件和备份](https://docs.oracle.com/database/121/BRADV/rcmvalid.htm#BRADV90063)以及 Oracle 文档中的 [VALIDATE](https://docs.oracle.com/database/121/RCMRF/rcmsynta2025.htm#RCMRF162)。

**Topics**
+ [验证数据库](#Appendix.Oracle.CommonDBATasks.ValidateDB)
+ [验证租户数据库](#Appendix.Oracle.CommonDBATasks.ValidateTenantDB)
+ [验证表空间](#Appendix.Oracle.CommonDBATasks.ValidateTablespace)
+ [验证控制文件](#Appendix.Oracle.CommonDBATasks.ValidateControlFile)
+ [验证 SPFILE](#Appendix.Oracle.CommonDBATasks.ValidateSpfile)
+ [验证 Oracle 数据文件](#Appendix.Oracle.CommonDBATasks.ValidateDataFile)

## 验证数据库
<a name="Appendix.Oracle.CommonDBATasks.ValidateDB"></a>

要验证 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 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)。

以下示例使用参数的默认值来验证数据库。

```
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'));
```

将文件名替换为您要查看的文件的名称。

## 验证租户数据库
<a name="Appendix.Oracle.CommonDBATasks.ValidateTenantDB"></a>

要验证容器数据库（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 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)。以下数据库引擎版本支持此过程：
+ 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'));
```

将文件名替换为您要查看的文件的名称。

## 验证表空间
<a name="Appendix.Oracle.CommonDBATasks.ValidateTablespace"></a>

要验证与表空间关联的文件，请使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.validate_tablespace`。

该过程使用 RMAN 任务的以下常见参数：
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

有关更多信息，请参阅“[RMAN 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)”。

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


****  

| 参数名称 | 数据类型 | 有效值 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  有效的空间表名称  |  —  |  是  |  表空间的名称。  | 

## 验证控制文件
<a name="Appendix.Oracle.CommonDBATasks.ValidateControlFile"></a>

要仅验证 Amazon RDS Oracle 数据库实例使用的控制文件，请使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.validate_current_controlfile`。

该过程使用 RMAN 任务的以下常见参数：
+ `p_validation_type`
+ `p_rman_to_dbms_output`

有关更多信息，请参阅“[RMAN 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)”。

## 验证 SPFILE
<a name="Appendix.Oracle.CommonDBATasks.ValidateSpfile"></a>

要仅验证 Amazon RDS Oracle 数据库实例使用的服务器参数文件 (SPFILE)，请使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.validate_spfile`。

该过程使用 RMAN 任务的以下常见参数：
+ `p_validation_type`
+ `p_rman_to_dbms_output`

有关更多信息，请参阅 [RMAN 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)。

## 验证 Oracle 数据文件
<a name="Appendix.Oracle.CommonDBATasks.ValidateDataFile"></a>

要验证数据文件，请使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.validate_datafile`。

该过程使用 RMAN 任务的以下常见参数：
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

有关更多信息，请参阅“[RMAN 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)”。

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


****  

| 参数名称 | 数据类型 | 有效值 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  varchar2  |  有效的数据文件 ID 编号或包含完整路径的有效数据文件名称  |  —  |  是  |  数据文件 ID 编号（来自 `v$datafile.file#`）或包含路径的完整数据文件名（来自 `v$datafile.name`）。  | 
|  `p_from_block`  |  number  |  有效的整数  |  `NULL`  |  否  |  在数据文件中开始验证的块的编号。当这为 `NULL` 时，将使用 `1`。  | 
|  `p_to_block`  |  number  |  有效的整数  |  `NULL`  |  否  |  在数据文件中结束验证的块的编号。当这为 `NULL` 时，将使用数据文件中的最大块。  | 