全部产品

数据库采集

ADAM提供在线采集和下载数据采集器采集两种数据库采集方式,您可以根据源库能否通过公网访问自行选择。

背景信息

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

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

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

      说明

      目前ADAM华北2(北京)只支持张家口地域的DG实例,申请DG实例时请注意将页面左上角的地区切换到华北3(张家口)后申请。

  • 下载采集器:对于源库无法通过外网连通的情况,可以下载ADAM数据采集器进行采集。

在线采集

  1. 登录ADAM控制台

  2. 单击左侧导航栏中的数据库评估

  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,resource,select_catalog_role,select any dictionary to eoa_user;
      3. DBMS_LOGMNR权限。

        说明

        版本为 10g 的数据库需要先执行

        create or replace public synonym DBMS_LOGMNR for sys.dbms_logmnr;
        grant execute on DBMS_LOGMNR to eoa_user;
      4. DBMS_METADATA权限,查询数据对象DDL语句。

        grant execute on DBMS_METADATA to eoa_user;
      5. 查询事务权限。

        grant select any transaction to eoa_user;
      6. 查询表权限。

        grant select any table to eoa_user;
      7. 分析表权限。

        grant analyze any to eoa_user;
      8. 产生随机编号权限。

        grant execute on dbms_random to eoa_user;
    • Oracle 12c(CDB 模式,需要连接到 CDB,创建 COMMON USER 类型用户)

      create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users;
      grant connect,resource,select_catalog_role,select any dictionary to c##eoa_user container=all;
      grant execute on DBMS_LOGMNR to c##eoa_user container=all;
      grant execute on dbms_metadata to c##eoa_user container=all;
      grant select any table to c##eoa_user container=all;
      grant select any transaction to c##eoa_user container=all;
      grant analyze any to c##eoa_user container=all;
      grant execute on dbms_random to c##eoa_user container=all;
      alter user c##eoa_user set container_data=all container=current;
    • ADAM支持 TD 13 14 15版本的数据库采集

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

        grant select,show on dbc to (username)
    • ADAM支持DB2 LUW版本的数据库采集

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

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

    1. 采集任务名:自定义采集任务名称。

    2. 源库类型

      • 源库类型选择ORACLE

        服务器/SID:源Oracle数据库的服务名或SID。

      • 源库类型选择TERADATA或者DB2_LUW

        数据库名:源数据库的数据库名。

    3. 源库网络种类

      1. 选择具有公网IP的数据库

      2. 选择无公网IP:Port的数据库(通过数据库网关DG接入)

        • DG区域:选择源库对应的DG实例所属的地域。

        • DG实例:选择源库对应的DG实例ID。

    4. 填写源数据库其他信息。

      • 主机IP:源数据库的IP。

        说明

        在源库中添加白名单: 39.100.131.0/24,47.241.17.0/24,149.129.255.0/24,47.254.192.180,47.89.251.0/24,47.245.13.0/24,47.75.108.0/24,以保证ADAM能够成功在线采集数据。

      • 端口:源数据库连接端口。

      • 用户名:步骤5中创建的采集用户。

      • 口令:上述用户名对应的密码。

      • (可选)高级配置项编码配置中输入源数据库的编码方式。

  7. 填写完毕后,单击链接测试,测试通过后,单击启动采集

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

下载采集器采集数据

如果源库不能对外使用公网,或者无法从云上访问,需要使用线下流程采集。

  1. 下载 ADAM 采集器

    1. 登录 ADAM 控制台

    2. 单击左侧导航栏中的数据库评估

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

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

      说明

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

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

      • CPU:2 core

      • 内存:8GB

      • 硬盘:100GB 空余

    5. 配置采集账号,赋予相应的权限。

      1. 登录源数据库。

      2. 使用具有 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,resource,select_catalog_role,select any dictionary to eoa_user;
          3. DBMS_LOGMNR权限。

            说明

            版本为 10g 的数据库需要先执行:

            create or replace public synonym DBMS_LOGMNR for sys.dbms_logmnr;
            grant execute on DBMS_LOGMNR to eoa_user;
          4. DBMS_METADATA权限,查询数据对象DDL语句。

            grant execute on dbms_metadata to eoa_user;
          5. 查询事务权限。

            grant select any transaction to eoa_user;
          6. 查询表权限。

            grant select any table to eoa_user;
          7. 分析表权限。

            grant analyze any to eoa_user;
          8. 产生随机编号权限。

            grant execute on dbms_random to eoa_user;
        • Oracle 12c (CDB 模式,需要连接到 CDB,创建 COMMON USER 类型用户)

          create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users;
          grant connect,resource,select_catalog_role,select any dictionary to c##eoa_user container=all;
          grant execute on DBMS_LOGMNR to c##eoa_user container=all;
          grant execute on dbms_metadata to c##eoa_user container=all;
          grant select any table to c##eoa_user container=all;
          grant select any transaction to c##eoa_user container=all;
          grant analyze any to c##eoa_user container=all;
          grant execute on dbms_random to c##eoa_user container=all;
          alter user c##eoa_user set container_data=all container=current;
        • Teradate 13 / 14 / 15

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

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

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

      3. 采集数据库结构性数据(用于生成可行性报告及兼容报告)

        采集器现已支持Oracle 10g / 11g / 12c版本,Teradate 13 / 14 / 15版本,DB2_LUW版本。(如果采集中遇到任何问题请提交工单,工单中请附上同级目录 logs 下的日志文件。)

        1. 执行采集命令(.bat 是在 Windows 环境下命令;.sh 是在 Linux 环境下命令)。

          1. Oracle 10g

            collect_10g[.sh|.bat] -h -u -p -d <service_name>
          2. 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>
          3. Oracle 12c

            说明

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

          4. Teradate 13 / 14 / 15

            collect_td[.sh] -h ip -p password -u username
          5. 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: 采集数据库实例名,只对 12c 有用。

        2. 导出采集结果。

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

          [***] ******************************************************************
          [***] *     Collect Successfully!
          [***] *
          [***] * Complete the file packaging, the package result path is: 
          [***] *        ~rainmeter/out/data.zip ******************************************************************
        3. 迁移结束后,清除临时账号。

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

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

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

            drop user c##eoa_user cascade;
    说明

    ADAM数据库采集器对源数据库的内存占用很少,可以不考虑;其对CPU要求也不高,当涉及到数据库对象的getddl操作时,会在采集开始时CPU负载有一些增加,负载增加量取决于源数据库规格和当前负载。建议在业务低峰期采集,可以提升采集速度,通常业务低峰期采集只需要较短时间就可以完成。