目录
前言
本工具是使用perl,在安装时会遇到各种问题,解决方式也是一点一点摸索,各种包依赖安装不成功。大家在参考使用时需结合实际情况。 使用的操作系统是centos7.9。 其中
perl -MCPAN -e 'install DBD::Pg'
安装这个模块是各种报错
1. ora2op的下载
1.1 下载地址
在openGauss官方网站上没有直接的下载地址,但是可以找到下载的链接网站。 地址 (https://opengauss.org/zh/supporttools/)
进入后是gitee官方网站。 https://gitee.com/opengauss/openGauss-tools-ora2og
进入后直接点下载、这个网站下载需要账号登录。 下载后的包是这样的 openGauss-tools-ora2og-master.zip
大小为474kb 或者直接从这里下载也行 墨天轮文档:openGauss-tools-ora2og-master.zip 把下载的包上传到操作系统上面
1.2 ora2op 介绍
openGauss-tools-ora2og 介绍 ora2og是一个将Oracle数据库迁移至openGauss的工具,主要编程语言为perl,通过perl DBI模块连接Oracle数据库,自动扫描并提取其中的对象结构及数据,产生SQL脚本,通过手动或自动的方式应用到openGauss。此外,工具还提供丰富配置项,用户可以自定义迁移行为。
ora2og初始代码源自ora2pg,版本为release v21.1:https://github.com/darold/ora2pg/tree/v21.1。
优秀特性 支持导出数据库绝大多数对象类型,包括表、视图、序列、索引、外键、约束、函数、存储过程等。
提供PL/SQL到PL/PGSQL语法的自动转换,一定程度避免了人工修正。
可生成迁移报告,包括迁移难度评估、人天估算。
可选对导出数据进行压缩,节约磁盘开销。
配置选项丰富,可自定义迁移行为。
2. ora2op的安装
2.1 安装perl的依赖包
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-devel perl-DBI perl-Compress-Zlib perl-open
2.2 安装连接Oracle数据库的模块
这个模块的使用需要先配置oracle客户端 下载oracle 19.10的客户端 官网下载地址 oracle-instantclient19.10-jdbc-19.10.0.0.0-1.x86_64.rpm oracle-instantclient19.10-sqlplus-19.10.0.0.0-1.x86_64.rpm oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64.rpm oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm 在root用户下使用rpm进行安装
rpm -ivh oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpmrpm -ivh oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64.rpm rpm -ivh oracle-instantclient19.10-jdbc-19.10.0.0.0-1.x86_64.rpm rpm -ivh oracle-instantclient19.10-sqlplus-19.10.0.0.0-1.x86_64.rpm
在root家目录下配置环境变量
cd /rootvi .base_profileexport ORACLE_HOME=/usr/lib/oracle/19.10/client64export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport PATH=$ORACLE_HOME/bin:$PATH
使变量生效
source .base_profile
获取安装包、然后进行编译安装
[root@master01 DBD-Oracle-1.80]# perl Makefile.PLMultiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 36.Using DBI 1.643 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/Configuring DBD::Oracle for perl 5.016003 on linux (x86_64-linux-thread-multi)If you encounter any problem, a collection of troubleshootingguides are available under lib/DBD/Oracle/Troubleshooting.'DBD::Oracle::Troubleshooting' is the general troubleshootingguide, while platform-specific troubleshooting hintslive in their labelled sub-document (e.g., Win32hints are gathered in 'lib/DBD/Oracle/Troubleshooting/Win32.pod').Trying to find an ORACLE_HOMEYour LD_LIBRARY_PATH env var is set to '/opt/huawei/install/om/lib:/opt/huawei/install/om/script/gspylib/clib:'Found /usr/lib/oracle/19.10/client64WARNING: Setting ORACLE_HOME env var to /usr/lib/oracle/19.10/client64 for you.WARNING: If these tests fail you may have to set ORACLE_HOME yourself!Installing on a linux, Ver#3.10Using Oracle in /usr/lib/oracle/19.10/client64DEFINE _SQLPLUS_RELEASE = "1910000000" (CHAR)Oracle Version 19.10.0.0 (19.10)Found direct-link candidates: libclntsh.soOracle sysliblist:Found header files in /usr/include/oracle/19.10/client64.Your LD_LIBRARY_PATH env var is set to '/opt/huawei/install/om/lib:/opt/huawei/install/om/script/gspylib/clib:'WARNING: Your LD_LIBRARY_PATH env var doesn't include '/usr/lib/oracle/19.10/client64/lib' but probably needs to.client_version=19.10DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.10.0.0\" -DORA_OCI_