软件包
$ls -lrth Oracle2OB-2.2.0.tar.gz
-rw-r--r-- 1 obpilot users 61M Dec 6 09:07 Oracle2OB-2.2.0.tar.gz
$tar zxvf Oracle2OB-2.2.0.tar.gz
使用方法
[root@ocp /root/Oracle2OB-2.2.0]
#sh bin/OracleToOb.sh analyze-object --help
$sh bin/OracleToOb.sh --help
get version from META-INF.
Welcome to Oceanbase Migration Assessment Tool 2.2.0
Usage: OracleToOb.sh [options] [command] [command options]
Options:
-h, --help
参数说明
Default: false
Commands:
dump Dump数据库对象成为ddl文件
Usage: dump [options]
Options:
--blacklist
待评估数据库对象黑名单
-c, --config
配置文件,注意其参数会被对应命令行参数覆盖
-d, --dialect
生成DDL语句的语法方言
Possible Values: [AS_SOURCE, AS_TARGET]
--docker-conn
docker宿主机连接方式
-f, --file
待评估的sql文件目录
-e, --file-encoding
配置文件字符编码,默认UTF-8
Default: UTF-8
--file-type
待评估文件类型OMA|SQLAREA|MABATIS
--help
参数说明
Default: false
-h, --host
待评估数据库地址
--image
镜像名称
--image-path
镜像路径
-t, --object-types
待评估数据库对象类型
-p, --password
待评估数据库密码
-P, --port
待评估数据库端口
--scanner
scanner类型
Default: NOT_SCAN
Possible Values: [FILEREADER, CRAWLER, NOT_SCAN]
-s, --schema
待评估的数据库schema
--schemas
待评估的数据库schema列表, 会与-s/--schema的参数叠加
--service
待评估Oracle数据库service name
--sid
待评估Oracle数据库sid
--source-db-connectionTimeout
待评估数据库连接超时参数
Default: -1
--source-db-type
待评估数据库类型
--source-db-version
待评估数据库版本
--target-db-connectionTimeout
目标OceanBase数据库连接超时参数
Default: 0
--target-db-host
目标OceanBase数据库地址
--target-db-password
目标OceanBase数据库用户密码
--target-db-port
目标OceanBase数据库端口
--target-db-schema
目标库schema,
注意pl对象中的语句可能包含对源schema的引用,将不会被转换,可能会导致dump出的pl对象创建语句无法在目的库成功执行
--target-db-service
目标oracle service name
--target-db-sid
目标oracle sid
--target-db-type
目标OceanBase数据库租户类型 OBORACLE|OBMYSQL
--target-db-user
目标OceanBase数据库用户名
--target-db-version
目标OceanBase数据库版本
-u, --user
待评估数据库用户名
--whitelist
待评估数据库对象白名单
-D
其它辅助参数
Syntax: -Dkey=value
Default: {}
analyze-object 评估数据库对象的兼容性
Usage: analyze-object [options]
Options:
--blacklist
待评估数据库对象黑名单
-c, --config
配置文件,注意其参数会被对应命令行参数覆盖
--docker-conn
docker宿主机连接方式
-f, --file
待评估的sql文件目录
-e, --file-encoding
配置文件字符编码,默认UTF-8
Default: UTF-8
--file-type
待评估文件类型OMA|SQLAREA|MABATIS
--help
参数说明
Default: false
-h, --host
待评估数据库地址
--image
镜像名称
--image-path
镜像路径
-t, --object-types
待评估数据库对象类型
-p, --password
待评估数据库密码
-P, --port
待评估数据库端口
--scanner
scanner类型
Default: NOT_SCAN
Possible Values: [FILEREADER, CRAWLER, NOT_SCAN]
-s, --schema
待评估的数据库schema
--schemas
待评估的数据库schema列表, 会与-s/--schema的参数叠加
--service
待评估Oracle数据库service name
--sid
待评估Oracle数据库sid
--source-db-connectionTimeout
待评估数据库连接超时参数
Default: -1
--source-db-type
待评估数据库类型
--source-db-version
待评估数据库版本
--target-db-connectionTimeout
目标OceanBase数据库连接超时参数
Default: 0
--target-db-host
目标OceanBase数据库地址
--target-db-password
目标OceanBase数据库用户密码
--target-db-port
目标OceanBase数据库端口
--target-db-schema
目标库schema,
注意pl对象中的语句可能包含对源schema的引用,将不会被转换,可能会导致dump出的pl对象创建语句无法在目的库成功执行
--target-db-service
目标oracle service name
--target-db-sid
目标oracle sid
--target-db-type
目标OceanBase数据库租户类型 OBORACLE|OBMYSQL
--target-db-user
目标OceanBase数据库用户名
--target-db-version
目标OceanBase数据库版本
-u, --user
待评估数据库用户名
--whitelist
待评估数据库对象白名单
-w, --with-evaluator
评估方式
Possible Values: [PARSER, DB, CRAWLER]
-D
其它辅助参数
Syntax: -Dkey=value
Default: {}
analyze-sql 评估sql语句(包含plsql)的兼容性
Usage: analyze-sql [options]
Options:
--blacklist
待评估数据库对象黑名单
-c, --config
配置文件,注意其参数会被对应命令行参数覆盖
--docker-conn
docker宿主机连接方式
-f, --file
待评估的sql文件目录
-e, --file-encoding
配置文件字符编码,默认UTF-8
Default: UTF-8
--file-type
待评估文件类型OMA|SQLAREA|MABATIS
--help
参数说明
Default: false
-h, --host
待评估数据库地址
--image
镜像名称
--image-path
镜像路径
-t, --object-types
待评估数据库对象类型
-p, --password
待评估数据库密码
-P, --port
待评估数据库端口
--scanner
scanner类型
Default: NOT_SCAN
Possible Values: [FILEREADER, CRAWLER, NOT_SCAN]
-s, --schema
待评估的数据库schema
--schemas
待评估的数据库schema列表, 会与-s/--schema的参数叠加
--service
待评估Oracle数据库service name
--sid
待评估Oracle数据库sid
--source-db-connectionTimeout
待评估数据库连接超时参数
Default: -1
--source-db-sql
定义查询语句执行以从数据库中获取采集到的sqlarea sql语句
--source-db-type
待评估数据库类型
--source-db-version
待评估数据库版本
--target-db-connectionTimeout
目标OceanBase数据库连接超时参数
Default: 0
--target-db-host
目标OceanBase数据库地址
--target-db-password
目标OceanBase数据库用户密码
--target-db-port
目标OceanBase数据库端口
--target-db-schema
目标库schema,
注意pl对象中的语句可能包含对源schema的引用,将不会被转换,可能会导致dump出的pl对象创建语句无法在目的库成功执行
--target-db-service
目标oracle service name
--target-db-sid
目标oracle sid
--target-db-type
目标OceanBase数据库租户类型 OBORACLE|OBMYSQL
--target-db-user
目标OceanBase数据库用户名
--target-db-version
目标OceanBase数据库版本
-u, --user
待评估数据库用户名
--whitelist
待评估数据库对象白名单
-w, --with-evaluator
评估方式
Possible Values: [PARSER, DB, CRAWLER]
-D
其它辅助参数
Syntax: -Dkey=value
Default: {}
指定是根据 SQL Parser 规则评估 还是连接到一个目标 OB 去评估。如果没有 OB 目标环境就选择 Parser 评估。通常使用目标 OB 环境去评估更精准。OB 安装部署方法可以参考以前文章。
指定源库 ORACLE 的版本、连接账户密码(DBA 权限)、源 SCHEMA(需要评估的 SCHEMA)。
指定目标 OB(如果有的话)连接账户密码(ORACLE 租户的 DBA 权限)、目标 SCHEMA(空的,没有数据库对象)。
指定目标 OB 或要评估的 OB 版本号。
使用示例
#docker images
REPOSITORY
reg.docker.alibaba-inc.com/oceanbase-platform/oracle-xe-11g 1.0.0 ad13c30ec346 22 months ago 2.13GB
#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab9c12e442c6 reg.docker.alibaba-inc.com/oceanbase-platform/oracle-xe-11g:1.0.0 "/bin/sh -c '/usr/sb…" 4 months ago Up About an hour 22/tcp, 8080/tcp, 0.0.0.0:1521->1521/tcp oracle-xe-11g
sh bin/OracleToOb.sh analyze-object --with-evaluator parser --source-db-type ORACLE --source-db-version 11g -h 172.17.0.2 -P 1521 --sid XE -p obdba --user obdba --schema HR --target-db-type OBORACLE --target-db-version 2.2.70
get version from META-INF.
Welcome to Oceanbase Migration Assessment Tool 2.2.0
Start to query source schema [HR]
Progress to query table [7/7]
Preprocessed objects: [4/65]
ANALYZE database jdbc:oracle:thin:@172.17.0.2:1521:XE schema HR finish analysis
sh bin/OracleToOb.sh analyze-object --with-evaluator db --source-db-type ORACLE --source-db-version 11g -h 127.0.0.1 -P 1521 --sid XE -u obdba -p obdba -s HR --target-db-type OBORACLE --target-db-version 2.2.70 --target-db-host 11.***.***.*39 --target-db-user obdba@oboracle#obtest --target-db-password obdba --target-db-port 2883 --target-db-schema hr
get version from META-INF.
Welcome to Oceanbase Migration Assessment Tool 2.2.0
Start to query source schema [HR]
Progress to query table [7/7]
Preprocessed objects: [65/65]
Evaluated objects: [5/20]
[obpilot@xxxxxx /home/obpilot/Oracle2OB-2.2.0]
$ls -lrth analysis/
total 40K
-rw-r--r-- 1 obpilot users 16K Dec 6 09:17 HR.20201206091727.html
-rw-r--r-- 1 obpilot users 3.4K Dec 6 09:17 HR.20201206091727.incompatible.txt
-rw-r--r-- 1 obpilot users 3.4K Dec 6 09:43 HR.20201206094318.incompatible.txt
-rw-r--r-- 1 obpilot users 16K Dec 6 09:43 HR.20201206094318.html


其他参考
有关产品工具介绍见 OceanBase 官网:oceanbase.com 。官网文档非常丰富。
有关产品培训可以关注 OBCA 和 OBCP 认证。
文章转载自数据库技术闲谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




