数据库采集

ADAM提供在线采集和采集器采集两种数据库采集方式,您可以根据能否从云上去访问源库自行选择采集方式。

采集方式介绍

  • 在线采集:将源数据库的网络打通,并在源数据库白名单中添加ADAM服务器,确保ADAM服务器可以直接通过在线采集方式进行信息收集。更多信息,请参见在线采集

    • 有公网IP:源数据库具有公网IP,可以通过外网访问。

    • 无公网IP:通过数据库网关DG连接。数据库网关DG(Database Gateway)是一种支持私网数据库远程访问的数据库连接服务。通过数据库网关DG,您可以无需开通公网地址访问并管理本地IDC或其他云厂商的数据库。详情请参见什么是数据库网关

      说明

      目前ADAM支持华北2(北京)、华北3(张家口)、华南1(深圳)、华东1(杭州)、华东2(上海)地域的DG实例。

  • 下载采集器:如果源库不能对外使用公网,或者无法从云上去访问,可以通过ADAM数据采集器采集数据库。更多信息,请参见采集器采集

在线采集

  1. 登录数据管理DMS 5.0

  2. 在顶部菜单栏中,选择集成与开发 > 异构数据库迁移(ADAM) > 数据库评估

  3. 数据库采集页签下,单击在线数据库采集

  4. 单击创建采集任务,开始创建采集任务。

  5. 登录源数据库配置采集账号,赋予相应的权限。

    • Oracle 10g/11g/12c版本(非CDB模式,创建LOCAL USER类型用户)

      1. 创建采集用户eoa_user, 并设置密码为eoaPASSW0RD。

        create user eoa_user identified by eoaPASSW0RD default tablespace users; 
      2. 查询权限。

        grant connect,select_catalog_role to eoa_user;
    • Oracle 12c版本(CDB 模式,需要连接到CDB,创建COMMON USER类型用户)

      create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users; 
       grant connect,select_catalog_role to c##eoa_user container=all; 
       alter user c##eoa_user set container_data=all container=current;
    • Teradate 13 14 15版本

      需要使用具有访问DBC权限的账号。

      grant select,show on dbc to (username)
    • DB2 LUW

      需要db2look相关权限,采集账号授予DBA权限执行。

  6. 完成源数据库账号配置后,单击下一步进入创建采集任务面板,并配置如下信息。

    配置项

    说明

    采集任务名

    自定义采集任务名称。

    源库类型

    选择如下任一源库类型:

    • ORACLE

    • TERADATA

    • DB2_LUW

    源库档案

    根据源库类型,选择目标数据库档案。新建数据库档案的操作,请参见管理数据库档案

    指定schema列表

    指定表列表。多个表名之间使用英文逗号,分隔。

    排除schema列表

    排除表列表。多个表名之间使用英文逗号,分隔。

    是否采集SQL

    选择是否采集SQL。

  7. 配置完成后,单击链接测试,测试通过后,单击启动采集

  8. 待采集任务完成后,勾选采集任务,单击下一步创建画像,进入生成数据库画像流程。

采集器采集

  1. 登录数据管理DMS 5.0

  2. 在顶部菜单栏中,选择集成与开发 > 异构数据库迁移(ADAM) > 数据库评估

  3. 数据库采集页签下,单击下载采集器

  4. 根据目标安装ADAM客户端设备的操作系统,选择下载对应版本的ADAM客户端到本地并解压缩。

    说明

    建议不要在待采集的数据库设备上运行。目标安装ADAM客户端设备最低应满足以下配置要求:

    • 网络:能够连接到待采集的源数据库。

    • CPU:2 core。

    • 内存:8GB。

    • 硬盘:100GB 空余。

  5. 登录源数据库配置采集账号,赋予相应的权限。

    使用具有SYSDBA权限的账号创建临时账号,并配置以下权限。

    说明

    如果您已有包含下面权限的账号,请忽略此步骤,直接使用。

    • Oracle 10g/11g/12c版本(非CDB模式,创建LOCAL USER类型用户)

      1. 创建采集用户eoa_user, 并设置密码为eoaPASSW0RD。

        create user eoa_user identified by eoaPASSW0RD default tablespace users; 
      2. 查询权限。

        grant connect,select_catalog_role to eoa_user;
    • Oracle 12c版本(CDB 模式,需要连接到CDB,创建COMMON USER类型用户)

      create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users; 
       grant connect,select_catalog_role to c##eoa_user container=all; 
       alter user c##eoa_user set container_data=all container=current;
    • Teradate 13 14 15版本

      需要使用具有访问DBC权限的账号。

      grant select,show on dbc to (username)
    • DB2 LUW

      需要db2look相关权限,采集账号授予DBA权限执行。

  6. 采集数据库结构性数据,用于生成可行性报告及兼容报告。

    1. 执行采集命令。

      说明

      .bat是Windows环境下命令,.sh是Linux环境下命令。

      • Oracle 10g

        collect_10g[.sh|.bat] -h -u -p -d <service_name>
      • Oracle 11g

        • Oracle 11g R1

          collect_11gR1[.sh|.bat] -h -u -p -d <service_name>
        • Oracle 11g R2

          collect_11gR2[.sh|.bat] -h -u -p -d <service_name>
      • Oracle 12c 18c 19c

        说明

        针对Oracle 12c的某个pdb进行采集时,请参考Oracle 11g采集操作说明,使用collect_12c脚本进行采集操作。collect_12c[.sh|.bat] –h <host> -u <username> -p <password> -P <port> -d <service_name> -s <sid>

      • Teradate 13 14 15

        collect_td[.sh] -h ip -p password -u username
      • Db2_LUW

        collect_db2_luw[.sh] -h ip -u username -p password -d databasename -P port

      -h: 采集数据库的IP地址。 -u: 采集用户名,此处示例用户为eoa_user。 -p: 采集用户eoa_user 密码eoaPASSW0RD。 -P: 采集数据库的端口,如:1521。 -d: 采集数据库的服务名, 12c是指特定PDB的服务名。 -s: 采集数据库实例名。

    2. 导出采集结果。

      采集完成后,会提示用户生成数据包,并提示数据包路径。日志文件如下:

      [***] ******************************************************************
                                          [***] * Collect Successfully!
                                          [***] *
                                          [***] * Complete the file packaging, the package result path is:
                                          [***] * ~rainmeter/out/data.zip ******************************************************************

  7. 可选:迁移结束后,清除临时账号。

    使用具有SYSDBA权限的账号通过终端连接数据库,并执行下面 SQL。

    1. Oracle 10g 11g 12c 18c 19c(非CDB模式)

      drop user eoa_user cascade;
    2. Oracle 12c 18c 19c(CDB 模式)

      drop user c##eoa_user cascade;
说明
  • 建议在业务低峰期采集数据库数据,通常业务低峰期采集只需要较短时间就可以完成采集。

  • 采集器对CPU要求不高,如果涉及到数据库对象的getddl操作,采集开始时CPU负载会有一些增加,负载增加量取决于源数据库规格和当前负载。

  • 采集器对源数据库的内存占用很少,可以不考虑。