全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

采集数据

更新时间:2018-01-26 11:07:03

采集现有 Oracle 数据库信息。现已支持 Oracle 9i、 Oracle 10g、 Oracle 11g 版本。(如果采集中遇到任何问题请提交工单,工单中请附上同级目录 logs 下的日志文件。)

  1. 登录 Oracle 源数据库,创建数据采集的账号并授权。

    有两种方式:

    • 使用具有 SYSDBA 权限的账号创建临时账号,并配置以下权限(如果用户已有包含下面权限的账号,请忽略此步骤,直接使用)。

      说明:以下权限用于连接 Oracle 数据库系统,收集相关信息并会对结果数据脱敏导出。

      1. create user eoa_user identified by "eoaPASSW0RD" default tablespace users; -- 创建采集用户 eoa_user, 并设置密码为 eoaPASSW0RD
      2. grant connect,resource,select_catalog_role,select any dictionary to eoa_user; -- 为 eoa_user 用户赋予查询权限
      3. grant execute on DBMS_LOGMNR to eoa_user; -- 为 eoa_user 用户赋予执行 DBMS_LOGMNR 权限 (版本为 10g 的数据库需要先执行: CREATE OR REPLACE PUBLIC SYNONYM dbms_logmnr FOR sys.dbms_logmnr)
      4. grant execute on dbms_metadata to eoa_user; -- 为 eoa_user 用户赋予执行 DBMS_METADATA 权限,查询数据对象 DDL 语句
      5. grant select any transaction to eoa_user; -- 为 eoa_user 用户赋予查询事务权限
    • 使用具有 SYSDBA 权限的账号,执行下面命令,自动创建具有以上权限的账号(账号名: eoa_user,密码: eoaPASSW0RD):

      1. sh createReadOnlyUser[.sh|.bat] -h<ip> -u<username> -p<password> -d<service_name|sid>

    注意:后续步骤中采集数据相关命令都在命令行(Windows)窗口或者客户端(Linux)窗口中执行。

  2. 采集数据。

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

      1. 执行采集命令。

        采集命令分为单次性采集与周期性采集。

        • 单次性采集:只采集一次全量数据。

          1. sh onekeyCollect[.sh|.bat] -h<ip> -u<username> -p<password> -d<service_name|sid>
        • 周期性采集:第一次采集全量数据,后面定时增量收集 SQL 相关数据,直到执行取消命令(ctrl + c)或导出命令(步骤 4)。

          1. sh asynCollect[.sh|.bat] -h<ip> -u<username> -p<password> -d<service_name|sid>
      2. 导出采集结果。

        采集完成后,会提示用户生成数据包,并提示数据包路径。

        • 单次性采集:不需要执行命令,采集完成后自动导出。

        • 周期性采集(最好采集一周以上):

        1. sh asynExport[.sh|.bat] -h<ip> -u<username> -p<password> -d<service_name|sid>
    2. 采集集包含参数值的完整 SQL 信息(用于对比性测试报告)

      执行以下命令,收集并打包收集结果:

      1. sh pullAMSData.sh -h<ip> -u<username> -p<password> -d<service_name|sid> -f<filename>
  3. 迁移结束后,请清除临时账号。

    有两种方式:

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

      1. drop user eoa_user cascade;
    • 使用具有 SYSDBA 权限的账号,执行下面命令:

      1. sh clearReadOnlyUser[.sh | .bat] -h<ip> -u<username> -p<password> -d<service_name|sid>
本文导读目录