全部产品
云市场

采集数据

更新时间:2019-11-29 16:48:20

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

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

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

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

      • Oracle 10g / 11g / 12c(非 CDB 模式,创建 LOCAL USER 类型用户)
        1. -- 创建采集用户 eoa_user, 并设置密码为 eoaPASSW0RD
        2. create user eoa_user identified by "eoaPASSW0RD" default tablespace users;
        3. -- 查询权限
        4. grant connect,resource,select_catalog_role,select any dictionary to eoa_user;
        5. -- DBMS_LOGMNR 权限 (版本为 10g 的数据库需要先执行: CREATE OR REPLACE PUBLIC SYNONYM dbms_logmnr FOR sys.dbms_logmnr)
        6. grant execute on DBMS_LOGMNR to eoa_user;
        7. -- DBMS_METADATA 权限,查询数据对象 DDL 语句
        8. grant execute on dbms_metadata to eoa_user;
        9. -- 查询事务权限
        10. grant select any transaction to eoa_user;
        11. -- 分析表权限
        12. grant analyze any to eoa_user;
        13. -- 产生随机编号权限
        14. grant execute on dbms_random to eoa_user;
      • Oracle 12c (CDB 模式,需要连接到 CDB,创建 COMMON USER 类型用户)
        1. create user c##eoa_user identified by "eoaPASSW0RD" default tablespace users;
        2. 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;
        3. grant execute on dbms_metadata to c##eoa_user container=all;
        4. grant select any table to c##eoa_user container=all;
        5. grant select any transaction to c##eoa_user container=all;
        6. grant analyze any to c##eoa_user container=all;
        7. grant execute on dbms_random to c##eoa_user container=all;
  2. 采集数据(终端版)。

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

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

        • Oracle 10g / 11g

          1. collect_10g[.sh|.bat] -h <ip> -u <username> -p <password> -d <service_name>
          2. collect_11g[.sh|.bat] -h <ip> -u <username> -p <password> -d <service_name>
          • -h: 采集 Oracle 数据库的IP地址
          • -u: 采集用户 eoa_user
          • -p: 采集用户 eoa_user 密码 eoaPASSW0RD
          • -P: 采集 Oracle 数据库的端口,如: 1521
          • -d: 采集 Oracle 数据库的服务名
        • Oracle 12c

          1. collect_12c[.sh|.bat] –h <host> -u <username> -p <password> -P <port> -d <service_name> -s <sid>
          • -h: 采集 Oracle 数据库的IP地址
          • -u: 采集用户 eoa_user
          • -p: 采集用户 eoa_user 密码 eoaPASSW0RD
          • -P: 采集 Oracle 数据库的端口,如: 1521
          • -d: 采集 Oracle 数据库的服务名, 12c 是指特定 PDB 的服务名
          • -s: 采集 Oracle 数据库实例名,只对 12c 有用
      2. 导出采集结果。

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

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

    • 使用具有 SYSDBA 权限的账号通过终端连接数据库,并执行下面 SQL :
      • Oracle 10g / 11g / 12c(非 CDB 模式)
        1. drop user eoa_user cascade;
      • Oracle 12c(CDB 模式)
        1. drop user c##eoa_user cascade;