迁移数据

您将使用 Oracle SQL Developer 迁移数据库并将表复制到 Oracle。

运行移植脚本

在 Oracle Autonomous Database 中运行 master.sql 脚本。

  1. 连接到 Oracle Autonomous Database。
  2. 在 SQL*Plus 或 Oracle SQL Developer 中运行 master.sql
    运行 master.sql 将创建 DB2INST1 用户和 Emulate 用户。

Emulate 处理存储过程和函数的转换。

DB2INST1 将在自治数据库中创建所有表和视图。

将数据上载到存储

将数据文件从本地系统上载到您所在区域的 Oracle Cloud Infrastructure Object Storage

如果数据文件为 2 GB 或更小,则可以使用控制台上载文件。如果数据文件超过 2 GB,则可以使用 Oracle Cloud Infrastructure (OCI) 命令行界面 (command-line interface, CLI) 手动或自动上载到对象存储。

使用 CLI 时,指定您选择的部件大小,Oracle Cloud Infrastructure Object Storage 会将对象拆分成若干部分,并自动上载所有部分。您可以选择设置可并行上载的最大部分数。默认情况下,CLI 会限制可以并行上载到三个部分的数目。使用 CLI 时,在上载完成时不必执行提交。

  1. 要使用控制台上载文件,请执行以下操作:
    1. 打开 OCI 控制台,转到 对象存储详细信息 ,然后单击存储桶名称以查看其详细信息。
    2. 单击 上载对象
    3. 选择要上载的对象。

      选择要上载的文件时,这些文件将显示在滚动列表中。如果您决定不想上载所选的文件,请单击文件名右侧的 X 图标。

      如果要上载的选定文件以及已存储在存储桶中的文件具有相同的名称,则将显示一条覆盖消息警告。

    4. (可选)在“Object name prefix(对象名称前缀)”字段中,为选择要上载的文件指定文件名前缀。
    5. 单击 上载对象
      所选对象将上载并显示在存储桶中的对象列表中。
  2. 要使用 CLI 将数据文件从本地系统上载到对象存储桶,请执行以下操作:
    1. 打开命令提示符。
    2. 输入类似下面的命令:
      oci os object put -ns object_storage_namespace -bn bucket_name --file file_path --name object_name --part-size upload_part_size_in_MiB --parallel-
      upload-count maximum_number_parallel_uploads 
      使用环境的参数替换以下变量:
      • object_storage_namespace:用于请求的顶级名称空间。如果未提供,则可以通过调用 oci os ns get 来获取此参数。
      • bucket_name:存储桶的名称。
      • file_path:包括文件名的完整文件路径。
      • object_name:对象的名称。默认值是不包括路径的文件名。
      • upload_part_size_in_MiB:mibytes 中每个多部分的大小 (MiB)。
      • maximum_number_parallel_uploads:可以并行上载的最大部分数。默认值为 3。

创建身份证明

创建身份证明以访问 Autonomous Data Warehouse,然后将对象存储身份证明存储在数据仓库中。

SQL Developer 可以使用包含客户端身份证明的 Wallet 来访问 Oracle Autonomous Data Warehouse。要创建 wallet, 您必须具有 Oracle Autonomous Data Warehouse 的管理员账户。

  1. 导航到 Oracle Autonomous Data Warehouse 的服务控制台。
  2. 单击管理
  3. 单击“管理”页上的 下载客户端身份证明
  4. 输入 Wallet 口令并在客户端身份证明中确认口令。
  5. 单击 下载 以保存客户端安全身份证明 zip 文件。
    您必须保护此文件以防止未经授权的数据库访问。
  6. 登录到 Oracle Cloud Infrastructure 控制台,单击 用户 图标,然后选择 用户设置
  7. 单击“资源”部分中的 Auth 令牌 ,然后单击 生成令牌
  8. 提供验证令牌的说明,然后单击 Generate Token(生成令牌)
    显示标记时复制该标记。
  9. 单击 复制 链接,并将标记信息存储在安全位置。
    关闭对话框后,您将无法在控制台中再次看到该标记。
  10. 单击关闭

将数据迁移到 Autonomous Database

使用 Oracle SQL Developer Web 将数据插入 Oracle Autonomous Data Warehouse

  1. 导航到 Oracle Autonomous Data Warehouse 的服务控制台。
  2. 单击 开发 ,然后单击 SQL Developer Web
  3. 输入 Oracle Autonomous Data Warehouse 实例的管理用户名和密码,然后单击登录
  4. 以管理员用户身份登录,以便从 Oracle SQL Developer Web 连接到 Oracle Autonomous Data Warehouse
  5. Oracle SQL Developer Web 中,执行以下 SQL 语句以创建替代指定参数和标志的对象存储身份证明。
    SET DEFINE OFF 
    BEGIN 
    DBMS_CLOUD.CREATE_CREDENTIAL( 
    credential_name => 'ADW_CREDENTIALS', 
    username => 'adwc_user@example.com', 
    password => 'auth token' 
    ); 
    END;
     /
    使用环境的参数替换以下变量:
    • ADW_CREDENTIALS:要存储的 Autonomous Data Warehouse 身份证明的名称。
    • adwc_user@example.com:自治数据仓库用户的用户名。用户名将出现在 用户设置 中。如果您使用的是联合账户,请确保提供完整的用户名,例如:service_name/user_name>@example.com
    • auth token:先前创建的验证标记。
  6. 通过列出对象存储桶中的文件来验证用户名和密码。
    select object_name, bytes from dbms_cloud.list_objects('Credential Name','https://objectstorage.region.oraclecloud.com/n/tenancy/b/Bucket name/');
    BE
    使用环境的参数替换以下变量:
    • Credential Name
    • 对象存储链接中的 regiontenancyBucket name
  7. 使用 Oracle SQL Developer Web 或 SQL Developer 将数据加载到刚创建的表中。
    BEGIN   
          DBMS_CLOUD.COPY_DATA(     
    table_name =>'ARTIST', 
    schema_name => 'DB2INST1',
    credential_name => 'ADW_CREDENTIALS ',     
    file_uri_list =>object storage link,      
    format => json_object('delimiter' value '"#EOFD#"','escape' value true, 'recorddelimiter' value '"<EORD>\n"') );  
    END;
    /
    COMMIT;
    使用环境的参数替换以下变量:
    • 表名
    • 方案名
    • Credential Name
    • object storage link
    • EORD
  8. 验证数据是否已加载到表中。
    select * from DB2INST1.artist