

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 从 Oracle 迁移至 Amazon Aurora PostgreSQL 后验证数据库对象
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql"></a>

*Venkatramana Chintha 和 Eduardo Valentim，Amazon Web Services*

## Summary
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-summary"></a>

此模式描述了一种在将 Oracle 数据库迁移到兼容 Amazon Aurora PostgreSQL 的版本后验证对象 step-by-step的方法。

此模式概述了数据库对象验证的使用场景和步骤；有关更多详细信息，请参阅 AWS [数据库博客上的 AWS SCT 和 AWS DM [S](https://aws.amazon.com/blogs/) 在迁移后验证数据库对象](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)。

## 先决条件和限制
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-prereqs"></a>

**先决条件**
+ 一个活跃的 AWS 账户。
+ 已迁移至 PostgreSQL-Compatibl 的数据库的本地 Oracle 数据库。 
+ 适用[亚马逊RDSDataFullAccess](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html)政策的登录凭证，适用于兼容 Aurora PostgreSQL 的数据库。 
+ 此模式使用 [Aurora Serverless 数据库集群查询编辑器](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html)，该编辑器可在 Amazon Relational Database Service (Amazon RDS) 控制台中找到。但是，您可将此模式与任何其他查询编辑器一起使用。 

**限制**
+ Oracle SYNONYM 对象在 PostgreSQL 中不可用，但可以通过**视图**或 SET search\_path 查询进行部分验证。
+ Amazon RDS 查询编辑器仅在[某些 AWS 区域 以及某些 MySQL 和 PostgreSQL 版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html)中可用。

## 架构
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-architecture"></a>

 

![](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/7c028960-6dea-46ad-894d-e42cefd50c03/images/be5f8ae3-f5af-4c5e-9440-09ab410beaa1.png)


 

## 工具
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-tools"></a>

**工具**
+ [Amazon Aurora PostgreSQL-Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) – Aurora PostgreSQL-Compatible 是一个完全托管式、兼容 PostgreSQL 和 ACID 的关系数据库引擎，结合了高端商用数据库的速度和可靠性，同时还具有开源数据库的成本效益。
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) – Amazon Relational Database Service（Amazon RDS）能够在 AWS 云端轻松设置、操作和扩展关系数据库。它为行业标准的关系数据库提供了经济高效、可调整大小的容量，并管理常见的数据库管理任务。
+ [Query Editor for Aurora Severless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html) – Query 编辑器可帮助在 Amazon RDS 控制台中运行 SQL 查询。您可以在 Aurora Serverless 数据库集群上运行任何有效的 SQL 语句，包括数据操作和数据定义语句。

要验证对象，请使用“附件”部分中的“对象验证脚本”文件中的完整脚本。请参考下表。


| 
| 
| Oracle 对象 | 待用脚本 | 
| --- |--- |
| 软件包 | 查询 1 | 
| 表 | 查询 3 | 
| 观点 | 查询 5 | 
| 序列 | 查询 7 | 
| 触发器 |  查询 9 | 
| 主键 | 查询 11 | 
| 索引 | 查询 13 | 
| 检查约束 | 查询 15 | 
| 外键  | 查询 17  | 


| 
| 
| PostgreSQL 对象 | 待用脚本 | 
| --- |--- |
| 软件包 | 查询 2 | 
| 表 | 查询 4 | 
| 观点 | 查询 6 | 
| 序列 | 查询 8 | 
| 触发器 | 查询 10 | 
| 主键 | 查询 12 | 
| 索引 | 查询 14 | 
| 检查约束 | 查询 16 | 
| 外键 | 查询 18 | 

## 操作说明
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-epics"></a>

### 校验源 Oracle 数据库中的对象
<a name="validate-objects-in-the-source-oracle-database"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在源 Oracle 数据库中，运行“软件包”验证查询。 | 从“附件”部分中，下载并打开“对象验证脚本”文件。通过您的客户端程序连接到源 Oracle 数据库。从“对象验证脚本”文件中，运行“查询 1”验证脚本。重要提示：在查询中，输入您的 Oracle 用户名而非“your\_schema”。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“表”验证查询。 | 从“对象验证脚本”文件中，运行“查询 3”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“视图”验证查询。 | 从“对象验证脚本”文件中，运行“查询 5”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“序列”计数验证。 | 从“对象验证脚本”文件中，运行“查询 7”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“触发器”验证查询。 | 从“对象验证脚本”文件中，运行“查询 9”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“主键”验证查询。 | 从“对象验证脚本”文件中，运行“查询 11”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“索引”验证查询。 | 从“对象验证脚本”文件中，运行“查询 13”验证脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“检查约束”验证查询。 | 从“对象验证脚本”文件中，运行“查询 15”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“外键”验证查询。 | 从“对象验证脚本”文件中，运行“查询 17”验证脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 

### 验证目标 Aurora PostgreSQL-Compatible 中的对象
<a name="validate-objects-in-the-target-aurora-postgresql-compatible-database"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 使用查询编辑器连接至与 Aurora PostgreSQL 兼容的目标数据库。 | 登录 AWS 管理控制台 并打开 Amazon RDS 控制台。在右上角，选择在其中创建 Aurora PostgreSQL 兼容数据库的 AWS 区域。在导航窗格中，选择“数据库”，然后选择目标 Aurora PostgreSQL 兼容数据库。在“操作”中，选择“查询”。重要提示：如果您之前未连接到数据库，将打开“连接到数据库”页面。然后，您需要输入数据库信息，例如用户名和密码。 | 开发人员、数据库管理员 | 
| 运行“软件包”验证查询。 | 在“附件”部分中，从“对象验证脚本”文件中运行“查询 2”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“表”验证查询。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 4”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“视图”验证查询。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 6”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“序列”计数验证。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 8”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“触发器”验证查询。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 10”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“主键”验证查询。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 12”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“索引”验证查询。 | 返回到 Aurora PostgreSQL 兼容数据库的查询编辑器，然后从“对象验证脚本”文件中运行“查询 14”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“检查约束”验证查询。 | 从“对象验证脚本”文件中，运行“查询 16”脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 
| 运行“外键”验证查询。 | 从“对象验证脚本”文件中，运行“查询 18”验证脚本。确保记录查询结果。 | 开发人员、数据库管理员 | 

### 比较源数据库与目标数据库验证记录
<a name="compare-source-and-target-database-validation-records"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 比较和验证两个查询结果。 | 比较 Oracle 和 Aurora PostgreSQL-Compatible 数据库的查询结果，以验证所有对象。如果都匹配，则所有对象都已成功验证。 | 开发人员、数据库管理员 | 

## 相关资源
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-resources"></a>
+ [在迁移后通过 AWS SCT 和 AWS DMS 验证数据库对象](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)
+ [Amazon Aurora 功能：PostgreSQL-Compatible Edition](https://aws.amazon.com/rds/aurora/postgresql-features/)

## 附件
<a name="attachments-7c028960-6dea-46ad-894d-e42cefd50c03"></a>

要访问与此文档相关联的其他内容，请解压以下文件：[attachment.zip](samples/p-attach/7c028960-6dea-46ad-894d-e42cefd50c03/attachments/attachment.zip)