AWS Database Migration Service
分步迁移指南 (API 版本 2016-01-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

步骤 6:验证架构转换

要验证架构转换,可使用 SQL Workbench/J 将在 Oracle 中找到的对象与 Amazon Redshift 数据库进行比较。

使用 SQL Workbench/J 验证架构转换

  1. 在 SQL Workbench/J 中,选择 File,然后选择 Connect window。选择在上一步中创建的 RedshiftConnection。选择 OK

  2. 运行以下脚本以验证目标 Amazon Redshift 数据库中的 SH 架构中的对象类型数和计数。这些值应匹配源 Oracle 数据库中的对象数。

    SELECT 'TABLE' AS OBJECT_TYPE, TABLE_NAME AS OBJECT_NAME, TABLE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND OBJECT_SCHEMA = 'sh';

    此查询的输出应类似以下内容。

    object_type | object_name | object_schema ------------+-------------+-------------- TABLE | channels | sh TABLE | customers | sh TABLE | products | sh TABLE | promotions | sh TABLE | sales | sh
  3. 使用以下查询验证在 Amazon Redshift 集群中创建的排序键和分配键。

    set search_path to '$user', 'public', 'sh'; SELECT tablename, "column", TYPE, encoding, distkey, sortkey, "notnull" FROM pg_table_def WHERE (distkey = TRUE OR sortkey <> 0);

    查询结果反映了使用 AWS SCT 键管理进行的分配键 (distkey) 和排序键 (sortkey) 选择。

    tablename | column | type | encoding | distkey | sortkey | notnull -----------+---------------------+-----------------------------+----------+---------+---------+-------- channels | channel_id | numeric(38,18) | none | true | 1 | true customers | cust_id | numeric(38,18) | none | false | 4 | true customers | cust_gender | character(2) | none | false | 1 | true customers | cust_year_of_birth | smallint | none | false | 3 | true customers | cust_marital_status | character varying(40) | none | false | 2 | false products | prod_id | integer | none | true | 4 | true products | prod_subcategory | character varying(100) | none | false | 3 | true products | prod_category | character varying(100) | none | false | 2 | true products | prod_status | character varying(40) | none | false | 1 | true promotions | promo_id | integer | none | true | 1 | true sales | prod_id | numeric(38,18) | none | false | 4 | true sales | cust_id | numeric(38,18) | none | false | 3 | true sales | time_id | timestamp without time zone | none | true | 1 | true sales | channel_id | numeric(38,18) | none | false | 2 | true sales | promo_id | numeric(38,18) | none | false | 5 | true