您可以自行采集数据库对象定义,也可以下载迁移评估采集器完成数据库对象的采集。本文为您介绍如何通过迁移评估采集器采集数据库对象。
背景信息
迁移评估采集器是用于在公有云环境采集用户 Schema 数据的工具。
您在公有云环境下不可以使用公网连接自己的 Oracle 实例,请下载迁移评估采集器并在内网环境运行,采集对应 Schema 的对象 DDL 语句后,再手工上传至迁移评估公有云环境中进行评估。
前提条件
请确保可以直接访问到需要评估的 Oracle 数据库。配置的数据库用户需要具备的权限如下:
至少具备 create session 权限,以确保正常连接。
具备 select any dictionary 的权限,本程序会扫描
DBA_OBJECTS
表获取待评估的对象。具备 select_catalog_role 角色,确保本程序能够正常使用
DBMS_METADATA.GET_DDL
函数来获取相应对象的 DDL 语句。
您可以执行下述命令,检查数据库用户是否具备相关权限。此处以命名执行评估任务的 Oracle 数据库用户为 OMA 为例。
-- 该 SQL 语句的返回中应包含 CONNECT、RESOURCE 和 SELECT_CATALOG_ROLE
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'OMA';
-- 该 SQL 语句的返回中应包含 CREATE SESSION 和 SELECT ANY DICTIONARY
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'OMA';
如果您需要给 Oracle 数据库用户 OMA 授予上述权限,请执行下述语句。
GRANT CREATE SESSION,RESOURCE TO OMA;
GRANT SELECT ANY DICTIONARY TO OMA;
GRANT SELECT_CATALOG_ROLE TO OMA;
安装迁移评估采集器
迁移评估采集器使用 Java 编写,依赖 JDK 1.8 及以上版本。
在左侧导航栏,单击 迁移评估 > 兼容性任务。
在 兼容性评估 页面的右上角,单击 下载采集器。
在 下载采集器 对话框,单击 点击下载。
下载迁移评估采集器后,直接解压即可完成安装。
tar zxvf collector.tar.gz cd oma-collector-1.0.0
解压完成后,目录下包括
oma-collector-1.0.0.jar
和dump
文件夹。
采集数据
进入迁移评估目录。
cd oma-collector-1.0.0
执行下述命令采集数据。
java -jar oma-collector-1.0.0.jar \ -t ORACLE \ #数据库的类型,包括 ORACLE/MYSQL。此处需要大写。 -v 11g \ #数据库的版本。ORACLE 数据库包括 11g、12c、18c 和 19c,MYSQL 数据库包括 5.6、5.7 和 8.0。 -h 10.10.10.1 \ #数据库的地址。 -P 1111 \ #数据库的端口。 -u abcd \ #登录的用户名。 -p \ #登录用户的密码,回车后会要求手动输入密码。 -sn orcl11g.aa.oracle.com \ #Service Name。如果使用 SID 连接使用,则 -sid 参数代替 -sn。 -s "ABCD,AAA" #需要扫描的 Schema,此处需要大写。
按回车键,输入来源数据库的密码。
查看运行结果。
OceanBase Migration Assessment Collector version : 1.0.0 Power by OceanBase Ant Group [INFO ] 17:10:50.320 [main] c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited [INFO ] 17:10:51.794 [main] c.a.o.o.c.scan.OracleDDLScanner - ALL OBJECT COUNT [384] [ OBDBA(384|384) ] Progress: ################################################## |100% [INFO ] 17:11:19.040 [main] c.a.o.oma.collector.OmaCollector - scan finished ... close the file stream [INFO ] 17:11:19.047 [main] c.a.o.oma.collector.OmaCollector - OBDBA scan finish , write to file [.\dump\xxxx.oma.sql] [INFO ] 17:11:19.246 [main] c.a.o.o.c.scan.OracleDDLScanner - ALL OBJECT COUNT [0] [INFO ] 17:11:19.246 [main] c.a.o.oma.collector.OmaCollector - scan finished ... close the file stream [INFO ] 17:11:19.262 [main] c.a.o.oma.collector.OmaCollector - AAA scan finish , can not found any object [INFO ] 17:11:19.262 [main] c.a.o.oma.collector.OmaCollector - 请将 [.\dump\xxxx.oma.sql] 上传到OceanBase公有云环境[https://www.aliyun.com/product/oceanbase]下完成评估.
运行完成后,会在 dump 目录下生成对应的采集文件
xxxx.oma.sql
。程序将提示您:请将 [.\dump\xxxx.oma.sql] 上传到 OceanBase 公有云环境[https://www.aliyun.com/product/oceanbase]下完成评估
。