上一篇文章《从ORACLE/MySQL到OceanBase序列》介绍了兼容oracle的数据库从ORACLE/MySQL到OceanBase的问题,但是仍然缺少一个兼容性评测工具。OceanBase发布了OMA (OceanBase迁移评估)工具来填补这一环。本文分享了ORACLE迁移到OceanBase的兼容性评估工具的使用。 软件包很简单,就是一个用户文档《OceanBase迁移评估V2.2.0产品手册20201201.pdf》和一个压缩文件。直接解压即可。工具还在迭代开发中,不同版本的功能不同,文件名也不同。$ ls-lrth Oracle 2 ob-2 . 2 . 0 . tar . gz-rw-r-r-1 obpilot用户61M 12月6日09:07 Oracle 2 ob-2 . 2 . 0 . tar . gz $ tar zxvf Oracle2OB-2.2.0.tar.gz 使用方法[root @ OCP root/Oracle 2 ob-2 . 2 . 0]# shbin/Oracle toob . shan analyze-object-help $ shbin/Oracle toob . sh-help从META-INF获取版本。欢迎使用Oceanbase迁移评估工具2 . 2 . 0用法:oracletoob . sh[Options][command][command Options]选项:-h,- help参数描述默认值:false命令:dumpdump 兼容oracle的数据库 object成为ddl文件用法:dump [options]选项:-待评估黑名单兼容oracle的数据库object blacklist-c,-config配置文件,注意其参数会被对应的命令行参数覆盖-d,-dialect生成DDL语句的语法方言可能值:[as _ source,as _ target]-docker-conndocker主机连接模式- Default utf-8 Default:utf-8-file-type要评估的文件类型oma | OMA|SQLAREA|MABATIS - help参数描述Default: false -h,-要评估的主机数据库地址-镜像名称-镜像路径镜像路径-t -t,- object-types要评估的数据库对象类型-p,-password数据库密码-P,- port要评估的数据库端口- scanner scanner类型default: not _ scan可能值:[filereader,crawler,not _ scan]-s,- schema要评估的数据库模式-schemas/kloc-schemas列表 with-s/-参数叠加- schema - service待评估Oracle数据库服务名称- sid待评估Oracle数据库sid-source-db-connection time out待评估数据库连接超时参数默认值:-1-source-db-type待评估数据库类型-source-db-version待评估数据库版本-target-db-connection timeout参数默认值:0-target-db-host目标OceanBase数据库地址-target-db-password target Oc ean base数据库用户密码-target-db-port目标OceanBase数据库port-target-db 请注意,pl对象中的语句可能包含对源模式的引用,并且不会被转换。可能导致转储的pl对象创建语句无法在目的库成功执行-target-db-service target Oracle服务名称-target-d b-sid target Oracle sid-target-d b-type目标OceanBase数据库租户类型OBORACLE | Obmysql-target-d b-user目标OceanBase数据库用户名-target-db-version目标OceanBase数据库版本-u, -待评估用户兼容oracle的数据库用户名-待评估数据库对象的白名单-D其他辅助参数语法:-dkey = value default:{ } analyze-object评估数据库对象的兼容性用法:analyze-object [options]选项:-黑名单待评估数据库对象的黑名单-c,-config配置文件,注意其参数会被相应的命令行参数覆盖- docker-conn docker主机连接模式-f,-file待评估sql文件目录-e -e,- file-encoding配置文件字符编码, Default utf-8 Default:utf-8-file-type要评估的文件类型oma | OMA|SQLAREA|MABATIS - help参数描述default: false-h,-要评估的主机数据库地址-镜像名称-镜像路径镜像路径-t,- object-types要评估的数据库对象类型-p,-password数据库密码-p,-port要评估的数据库端口- scanner scanner类型Default: not _ scan可能值:[filereader,crawler,Not _ scan]- schemas要评估的数据库模式-schemas要评估的数据库模式列表, with-s/-参数叠加- schema - service待评估Oracle数据库服务名称- sid待评估Oracle数据库sid-source-db-connection time out待评估数据库连接超时参数默认值:-1-source-db-type待评估数据库类型-source-db-version待评估数据库版本-target-db-connection timeout参数默认值:0-target-db-host目标OceanBase数据库地址-target-d b-password target Oc ean base数据库用户密码-target-db-port目标OceanBase /kloc-0 请注意,pl对象中的语句可能包含对源模式的引用,并且不会被转换。可能导致转储的pl对象创建语句无法在目标库中成功执行-target-db-service target Oracle服务名称-target-d b-sid target Oracle sid-target-db-type目标OceanBase数据库租户类型OBORACLE | Obmysql-target-d b-user目标OceanBase数据库用户名-target-db-version目标OceanBase数据库版本-u,-要评估的用户数据库用户名-白名单要评估的数据库对象-w,- with-evaluator评估方法可能值:[PARSER,DB, CRAWLER] -D其他辅助参数语法:-DKEY = value default:{ } Analyze-sql评估SQL语句(包括plsql)的兼容性用法:Analyze-SQL [Options]选项:-黑名单要评估的数据库对象的黑名单-c,- config配置文件,注意其参数会被相应的命令行参数覆盖- docker-conn docker主机连接模式-F,-File要评估的SQL文件目录-E -e,- file-encoding配置文件字符编码, Default utf-8 Default:utf-8-file-type要评估的文件类型oma | OMA|SQLAREA|MABATIS - help参数描述default: false-h,-要评估的主机数据库地址-镜像名称-镜像路径镜像路径-t,- object-types要评估的数据库对象类型-p,-password数据库密码-p,-port要评估的数据库端口- scanner scanner类型Default: not _ scan可能值:[filereader,crawler,Not _ scan]- schemas要评估的数据库模式-schemas要评估的数据库模式列表, with-s/-参数叠加- schema - service待评估Oracle数据库服务名称- sid待评估Oracle数据库sid-source-d b-connection time out待评估数据库连接超时参数默认值:-1-source-db-SQL定义执行查询语句以从数据库中获取收集的sqlarea sql语句待评估数据库类型-source-db-type待评估数据库类型兼容oracle的数据库Version-target-target-d b-connection time out目标OceanBase数据库连接超时参数默认值:0-target-db-host目标OceanBase 请注意,pl对象中的语句可能包含对源模式的引用,并且不会被转换。可能导致转储中的pl对象创建语句无法在目标库中成功执行-target-db-service target Oracle服务名称-target-d b-sid target Oracle sid-target-d b-Type target ocean base兼容oracle的数据库Type ob Oracle | obmysql-target-d b-user target ocean base数据库用户名-target-d b-version target ocean base兼容oracle的数据库version-u,-待评估用户兼容oracle的数据库用户名-白名单待评估数据库对象-w -w,- with-evaluator评估方法可能值:[parser,db下面简单介绍一下,主要是指定以下参数:指定是按照SQL解析器规则求值还是连接一个目标OB。如果没有OB目标环境,选择解析器评估。通常用目标OB环境来评价更准确。关于OB的安装和部署方法,请参考以前的文章。 指定源库ORACLE的版本、连接帐户口令(DBA权限)和源方案(要评估的方案)。 指定目标OB(如果有)连接帐户口令(ORACLE租户的DBA权限),目标方案(空,无数据库对象)。 指定目标OB或要评估的OB的版本号。 使用示例查找ORACLE环境。在这里,我在线下载了一个ORACLE映像进行测试。源模式使用ORACLE的示例模式HR # docker images repository reg . docker . Alibaba-Inc . com/ocean base-platform/ORACLE-XE-11g 1 . 0 . 0 ad 13 c 30 EC 346 22个月前2.13 GB # docker PS container ID IMAGE命令创建的状态端口名为ABC 9 c 12 e 442 c 6 reg . docker . Alibaba-Inc . com/ocean base-platform/ORACLE-XE-11g:1 . 0 . 0 "/bin/Sh-c '/usr/sb…"sh bin/ORACLE toob . 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 OBD ba-schema HR-target-db-type OBORACLE-target-db-version 2 . 2 . 70 从META-INF获取版本。欢迎使用Oceanbase迁移评估工具2 . 2 . 0开始查询源模式[HR]进展到查询表[7/7]预处理对象:[4/65]分析数据库JDBC:ORACLE:Thin:@ 172 . 17 . 0 . 2:1521:Xe模式HR完成分析根据目标OB评估ORACLE在OB(ORACLE)上的HR兼容性(1/2)。sh bin/ORACLE toob . sh analyze-object-with-evaluator d B- 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-d b-host 11。***.***.* 39-target-d B- user obdba @ obo racle # obtest-target-d B- password obdba-target-d B- port 2883-target-d B- schema HR 从META-INF获取版本。欢迎使用Oceanbase迁移评估工具2 . 2 . 0开始查询源模式[HR]继续查询表[7/7]预处理对象:[65/65]评估对象:[5/20]
|