Oracle迁移至openGauss的工具:ora2op的安装配置

devtools/2024/9/19 23:05:38/ 标签: oracle, 数据库, gaussdb, 架构, SQL, openGauss

目录

前言

1. ora2op的下载

1.1 下载地址

1.2 ora2op 介绍

2. ora2op的安装

2.1 安装perl的依赖包

2.2 安装连接Oracle数据库的模块

2.3 安装ora2op

openGauss%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%A8%A1%E5%9D%97-toc" style="margin-left:40px;">2.4 安装连接openGauss数据库的模块


前言

本工具是使用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_102 -DORA_OCI_112Checking for functioning wait.phSystem: perl5.016003 linux x86-02.bsys.centos.org 3.10.0-957.1.3.el7.x86_64 #1 smp thu nov 29 14:49:43 utc 2018 x86_64 x86_64 x86_64 gnulinuxCompiler:   gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64Linker:     /usr/bin/ldSysliblist:Linking with -lclntsh.Checking if your kit is complete...Looks goodLD_RUN_PATH=/usr/lib/oracle/19.10/client64/libUsing DBD::Oracle 1.80.Using DBD::Oracle 1.80.Multiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 1807.Using DBI 1.643 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/Generating a Unix-style MakefileWriting Makefile for DBD::OracleWriting MYMETA.yml and MYMETA.json

[root@master01 DBD-Oracle-1.80]# make && make installcp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.podcp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pmcp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.hcp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.podcp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.podcp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.podcp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pmcp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.podcp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.hcp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.hcp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.podcp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.podcp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.podcp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pmcp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.podcp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.podcp mk.pm blib/arch/auto/DBD/Oracle/mk.pmRunning Mkbootstrap for Oracle ()chmod 644 "Oracle.bs""/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644"/usr/bin/perl" -p -e "s/~DRIVER~/Oracle/g" /usr/local/lib64/perl5/auto/DBI/Driver.xst > Oracle.xsi"/usr/bin/perl" "/usr/share/perl5/vendor_perl/ExtUtils/xsubpp"  -typemap '/usr/share/perl5/ExtUtils/typemap' -typemap '/root/DBD-Oracle-1.80/typemap'  Oracle.xs > Oracle.xscmv Oracle.xsc Oracle.cgcc -c  -I/usr/include/oracle/19.10/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic   -DVERSION=\"1.80\" -DXS_VERSION=\"1.80\" -fPIC "-I/usr/lib64/perl5/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.10.0.0\" -DORA_OCI_102 -DORA_OCI_112 Oracle.cgcc -c  -I/usr/include/oracle/19.10/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic   -DVERSION=\"1.80\" -DXS_VERSION=\"1.80\" -fPIC "-I/usr/lib64/perl5/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.10.0.0\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.cgcc -c  -I/usr/include/oracle/19.10/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic   -DVERSION=\"1.80\" -DXS_VERSION=\"1.80\" -fPIC "-I/usr/lib64/perl5/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.10.0.0\" -DORA_OCI_102 -DORA_OCI_112 oci8.crm -f blib/arch/auto/DBD/Oracle/Oracle.soLD_RUN_PATH="/usr/lib/oracle/19.10/client64/lib" gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro   Oracle.o dbdimp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so  \   -L/usr/lib/oracle/19.10/client64/lib -lclntsh   \chmod 755 blib/arch/auto/DBD/Oracle/Oracle.soManifying 13 pod documents"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644Manifying 13 pod documentsFiles found in blib/arch: installing files in blib/lib into architecture dependent library treeInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.hInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/dbdimp.hInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/ocitrace.hInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/mk.pmInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.soInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle.pmInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/GetInfo.pmInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Object.pmInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Cygwin.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Vms.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Hpux.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Linux.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Sun.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Macos.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Aix.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Win64.podInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Oracle/Troubleshooting/Win32.podInstalling /root/perl5/man/man3/DBD::Oracle.3pmInstalling /root/perl5/man/man3/DBD::Oracle::GetInfo.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Object.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Aix.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Cygwin.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Hpux.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Linux.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Macos.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Sun.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Vms.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Win32.3pmInstalling /root/perl5/man/man3/DBD::Oracle::Troubleshooting::Win64.3pmAppending installation info to /root/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod[root@master01 DBD-Oracle-1.80]#

2.3 安装ora2op

解压

[root@master01 ora2op]# unzip openGauss-tools-ora2og-master.zipArchive:  openGauss-tools-ora2og-master.zip8a98a77d57b32b836c86f82095615732d3636cc7   creating: openGauss-tools-ora2og-master/ extracting: openGauss-tools-ora2og-master/INSTALL  inflating: openGauss-tools-ora2og-master/LICENSE  inflating: openGauss-tools-ora2og-master/MANIFEST  inflating: openGauss-tools-ora2og-master/Makefile.PL  inflating: openGauss-tools-ora2og-master/README  inflating: openGauss-tools-ora2og-master/README.en.md  inflating: openGauss-tools-ora2og-master/README.md  inflating: openGauss-tools-ora2og-master/changelog   creating: openGauss-tools-ora2og-master/doc/  inflating: openGauss-tools-ora2og-master/doc/Ora2Pg.pod  inflating: openGauss-tools-ora2og-master/doc/ora2pg.3   creating: openGauss-tools-ora2og-master/lib/  inflating: openGauss-tools-ora2og-master/lib/Ora2Pg.pm   creating: openGauss-tools-ora2og-master/lib/Ora2Pg/  inflating: openGauss-tools-ora2og-master/lib/Ora2Pg/GEOM.pm  inflating: openGauss-tools-ora2og-master/lib/Ora2Pg/MySQL.pm  inflating: openGauss-tools-ora2og-master/lib/Ora2Pg/PLSQL.pm   creating: openGauss-tools-ora2og-master/packaging/  inflating: openGauss-tools-ora2og-master/packaging/README   creating: openGauss-tools-ora2og-master/packaging/RPM/  inflating: openGauss-tools-ora2og-master/packaging/RPM/ora2pg.spec   creating: openGauss-tools-ora2og-master/packaging/debian/  inflating: openGauss-tools-ora2og-master/packaging/debian/create-deb-tree.sh   creating: openGauss-tools-ora2og-master/packaging/debian/ora2pg/   creating: openGauss-tools-ora2og-master/packaging/debian/ora2pg/DEBIAN/  inflating: openGauss-tools-ora2og-master/packaging/debian/ora2pg/DEBIAN/control  inflating: openGauss-tools-ora2og-master/packaging/debian/ora2pg/DEBIAN/copyright   creating: openGauss-tools-ora2og-master/packaging/slackbuild/  inflating: openGauss-tools-ora2og-master/packaging/slackbuild/Ora2Pg.SlackBuild  inflating: openGauss-tools-ora2og-master/packaging/slackbuild/Ora2Pg.info  inflating: openGauss-tools-ora2og-master/packaging/slackbuild/README extracting: openGauss-tools-ora2og-master/packaging/slackbuild/doinst.sh  inflating: openGauss-tools-ora2og-master/packaging/slackbuild/slack-desc   creating: openGauss-tools-ora2og-master/scripts/  inflating: openGauss-tools-ora2og-master/scripts/ora2pg  inflating: openGauss-tools-ora2og-master/scripts/ora2pg_scanner[root@master01 ora2op]#

进入解压目录

cd openGauss-tools-ora2og-master/

开始编译安装

[root@master01 openGauss-tools-ora2og-master]# perl Makefile.PLChecking if your kit is complete...Looks goodInvalid LICENSE value 'GPLv3' ignoredGenerating a Unix-style MakefileWriting Makefile for Ora2PgInvalid LICENSE value 'GPLv3' ignoredWriting MYMETA.yml and MYMETA.jsonDone...------------------------------------------------------------------------------Please read documentation at http://ora2pg.darold.net/ before asking for help------------------------------------------------------------------------------Now type: make && make install

编译并安装

[root@master01 openGauss-tools-ora2og-master]# make && make installcp lib/Ora2Pg/GEOM.pm blib/lib/Ora2Pg/GEOM.pmcp lib/Ora2Pg.pm blib/lib/Ora2Pg.pmcp lib/Ora2Pg/PLSQL.pm blib/lib/Ora2Pg/PLSQL.pmcp lib/Ora2Pg/MySQL.pm blib/lib/Ora2Pg/MySQL.pmcp scripts/ora2pg blib/script/ora2pg"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ora2pgcp scripts/ora2pg_scanner blib/script/ora2pg_scanner"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ora2pg_scannerManifying 1 pod documentManifying 1 pod documentInstalling /root/perl5/lib/perl5/Ora2Pg.pmInstalling /root/perl5/lib/perl5/Ora2Pg/GEOM.pmInstalling /root/perl5/lib/perl5/Ora2Pg/PLSQL.pmInstalling /root/perl5/lib/perl5/Ora2Pg/MySQL.pmInstalling /root/perl5/man/man3/ora2pg.3Installing /root/perl5/bin/ora2pgInstalling /root/perl5/bin/ora2pg_scannerInstalling default configuration file (ora2pg.conf.dist) to /etc/ora2pgAppending installation info to /root/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod[root@master01 openGauss-tools-ora2og-master]#

openGauss%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%A8%A1%E5%9D%97">2.4 安装连接openGauss数据库的模块

wget -c https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.14.2.tar.gzgunzip DBD-Pg-3.14.2.tar.gztar -xvf DBD-Pg-3.14.2.tarcd DBD-Pg-3.14.2/vi .bash_profileexport ORACLE_HOME=/usr/lib/oracle/19.10/client64export GAUSSHOME=/opt/huawei/install/appexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GAUSSHOME/lib:$LD_LIBRARY_PATHexport PATH=$ORACLE_HOME/bin:$GAUSSHOME/bin:$PATHsource .bash_profileperl Makefile.PLyum install /usr/include/libpq-fe.hmake && make install

[root@master01 DBD-Pg-3.14.2]# perl Makefile.PLConfiguring DBD::Pg 3.14.2PostgreSQL version: 90204 (default port: 5432)POSTGRES_HOME: (not set)POSTGRES_INCLUDE: /opt/huawei/install/app/includePOSTGRES_LIB: /opt/huawei/install/app/libOS: linuxMultiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/li                                                                                                                              b64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 182.Checking if your kit is complete...Looks goodMultiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/li                                                                                                                              b64/perl5/vendor_perl/auto/DBI/ at Makefile.PL line 284.Using DBI 1.643 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /u                                                                                                                              sr/local/lib64/perl5/auto/DBI/Generating a Unix-style MakefileWriting Makefile for DBD::PgWriting MYMETA.yml and MYMETA.json

[root@master01 DBD-Pg-3.14.2]# makeSkip blib/lib/Bundle/DBD/Pg.pm (unchanged)Skip blib/lib/DBD/Pg.pm (unchanged)Running Mkbootstrap for Pg ()chmod 644 "Pg.bs""/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Pg.bs blib/arch/auto/DBD/Pg/Pg.bs 644gcc -c  -I/opt/huawei/install/app/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90204 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"3.14.2\" -DXS_VERSION=\"3.14.2\" -fPIC "-I/usr/lib64/perl5/CORE"   Pg.cgcc -c  -I/opt/huawei/install/app/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90204 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"3.14.2\" -DXS_VERSION=\"3.14.2\" -fPIC "-I/usr/lib64/perl5/CORE"   dbdimp.cgcc -c  -I/opt/huawei/install/app/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90204 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"3.14.2\" -DXS_VERSION=\"3.14.2\" -fPIC "-I/usr/lib64/perl5/CORE"   quote.cIn file included from Pg.h:58:0,                 from quote.c:10:/usr/local/lib64/perl5/auto/DBI/DBIXS.h:493:25: warning: ‘dbi_get_state’ defined but not used [-Wunused-function]     static dbistate_t** dbi_get_state(pTHX) {                               \                         ^/usr/local/lib64/perl5/auto/DBI/DBIXS.h:506:27: note: in expansion of macro ‘_DBISTATE_DECLARE_COMMON’ # define DBISTATE_DECLARE _DBISTATE_DECLARE_COMMON                           ^Pg.h:64:1: note: in expansion of macro ‘DBISTATE_DECLARE’ DBISTATE_DECLARE; ^gcc -c  -I/opt/huawei/install/app/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90204 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"3.14.2\" -DXS_VERSION=\"3.14.2\" -fPIC "-I/usr/lib64/perl5/CORE"   types.cIn file included from Pg.h:58:0,                 from types.c:15:/usr/local/lib64/perl5/auto/DBI/DBIXS.h:493:25: warning: ‘dbi_get_state’ defined but not used [-Wunused-function]     static dbistate_t** dbi_get_state(pTHX) {                               \                         ^/usr/local/lib64/perl5/auto/DBI/DBIXS.h:506:27: note: in expansion of macro ‘_DBISTATE_DECLARE_COMMON’ # define DBISTATE_DECLARE _DBISTATE_DECLARE_COMMON                           ^Pg.h:64:1: note: in expansion of macro ‘DBISTATE_DECLARE’ DBISTATE_DECLARE; ^rm -f blib/arch/auto/DBD/Pg/Pg.soLD_RUN_PATH="/opt/huawei/install/app/lib" gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro   Pg.o dbdimp.o quote.o types.o  -o blib/arch/auto/DBD/Pg/Pg.so  \   -L/opt/huawei/install/app/lib -lpq -lm   \chmod 755 blib/arch/auto/DBD/Pg/Pg.soManifying 2 pod documents[root@master01 DBD-Pg-3.14.2]# make install"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Pg.bs blib/arch/auto/DBD/Pg/Pg.bs 644Manifying 2 pod documentsFiles found in blib/arch: installing files in blib/lib into architecture dependent library treeInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Pg/Pg.soInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/Pg.pmInstalling /root/perl5/lib/perl5/x86_64-linux-thread-multi/Bundle/DBD/Pg.pmInstalling /root/perl5/man/man3/DBD::Pg.3pmInstalling /root/perl5/man/man3/Bundle::DBD::Pg.3pmAppending installation info to /root/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod[root@master01 DBD-Pg-3.14.2]#

 至此,ora2op安装成功,接下来我们便可以创建迁移项目,进行数据库迁移。

本文作者:博(二两烧麦)

http://www.ppmy.cn/devtools/103649.html

相关文章

智谱携基座大模型 GLM-4-Plus 亮相 KDD,清言全新升级视频通话功能

在 KDD 国际数据挖掘与知识发现大会上,智谱 GLM 团队介绍了新一代基座大模型GLM-4-Plus。GLM-4-Plus 是智谱全自研 GLM 大模型的最新版本,它标志着智谱继续瞄准通用人工智能,持续推进大模型技术的独立自主创新。 主要更新: 语言基…

K8S StatefulSet

Kubernetes StatefulSet 是 Kubernetes 中的一个核心概念,用于管理有状态应用的 Pod 部署和伸缩。与无状态应用相比,有状态应用通常需要持久化存储、唯一标识和有序部署等特性,而 StatefulSet 正是为了满足这些需求而设计的。 一、StatefulSet 的特点 稳定的唯一网络标识符…

小程序使用iconfont字体图标

1 获取在线地址 将购物车中的素材=>添加到项目中=>在项目管理中选择 `Font class`=>点击查看在线链接=>复制如下 @font-face {font-family: "iconfont"; /* Project id 3582850 */src: url(//at.alicdn.com/t/c/font_3582850_e8hkuvby6k.woff2?t=1724…

demo。。。。。。。。勿看,随便记的

表 顺序表:创建表标签,有数据,有总个数,当前位置 链表。单项链表,双向列表,循环列表 顺序栈:创建栈标签,有数据,有栈位置,有总个数,先进后出 …

【ShuQiHere】从 FNN 到 RNN:用股票价格预测一步步理解神经网络的演化

【ShuQiHere】 引言 神经网络在人工智能和机器学习领域是一个核心的研究方向,而前馈神经网络(FNN)是最基础的模型之一。虽然 FNN 在许多任务中表现出色,但当面对时间序列数据时,例如预测股票价格,它往往显…

性能测试自定义hook(钩子)-通篇讲解 Locust 性能测试

关于自定义钩子 —小试牛刀 Locust 事件钩子(Event Hooks)总结 Locust 提供了许多事件钩子,允许你在测试运行时扩展和自定义功能。以下是一些主要的事件钩子及其使用场景和示例: 1. 请求完成事件(Request Completed…

Java-数据结构-ArrayLis与线性表 (๑╹◡╹)ノ“““

目录: 一、List的简单的介绍: 二、线性表: 三、顺序表: 1、基本代码: 2、操作代码: display()方法: add(int data)方法: add(int pos,int data)方法: contains(i…

C# 常量

1. 什么是常量 常量(constant)是表示常量值(即,可以在编译时计算的值)的类成员 常量隶属于类型而不是对象,即没有“实例常量” “实例常量”的角色由只读实例字段来担当 注意区分成员常量与局部常量 成员常量通常是指在类或结构中声明的常量字段。它们在整个类的作用域内都是…

钓鱼特辑(四)安全较量,摆脱“麻瓜”标签

时至今日,尽管员工们对网络安全有所了解,却往往因缺乏足够的安全意识而对攻防没有直观感知。在红队看来,普通员工可能犹如“麻瓜”,防御薄弱,易于突破。 现在红队以求职者或合作方等“人畜无害”的身份在日常沟通中发动…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(二)

​我们接下来看利用concat()函数连接数据的第二部分内容,先来看怎么使用concat()函数把series和dataframe连接在一起。 将Series和DataFrame连接在一起 先生成需要连接的series和dataframe数据集 连接过程如下图所示 连接结果 这里需要注意,连接过程中…

[翻译+笔记] 用于视频生成的Diffusion Model

这次翻译笔记的博客是https://lilianweng.github.io/posts/2021-07-11-diffusion-models/ 在阅读这篇博客前, 推荐先对Diffusion Model进行了解. 可以看我的笔记: https://blog.csdn.net/wjpwjpwjp0831/article/details/141524088 视频相关的任务向来是比图像更有挑战性, 这是…

力扣题/回溯/组合总和

组合总和 力扣原题 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…

Java基础功能开发-原生xml解析

文章目录 一、TransformerFactory基础用法TransformerFactory 类创建 TransformerFactory 实例创建 Transformer使用 Transformer 进行转换 示例代码注意事项 二、XSLT标签及其语法1. <xsl:stylesheet>2. <xsl:output>3. <xsl:template>4. <xsl:apply-tem…

kali——nmap的使用

目录 前言 普通nmap扫描 扫描单个目标地址 扫描多个目标地址 扫描范围目标地址 扫描目标网段 扫描众多目标地址 排除扫描 扫描指定端口 路由追踪 进阶扫描 综合扫描&#xff08;-A&#xff09; 目标网段在线主机&#xff08;-sP&#xff09; 目标主机指纹扫描&am…

Java——断点调试

一、断点调试简介 Java的断点调试是程序开发中非常重要的一个技术&#xff0c;它允许开发者在程序执行时暂停执行&#xff0c;以便检查变量的状态、观察程序的流程、并定位错误。 1、断点&#xff08;Breakpoint&#xff09;&#xff1a; 在代码的某一行指定的暂停点。当程序…

计算机网络速成(三)

一、网络协议与模型 什么是协议&#xff1f; 协议是指计算机系统中完成特定任务所必需的规则和约定&#xff0c;特别是数据传输和交换的规则和约定。OSI和TCP/IP是什么&#xff1f; OSI&#xff08;开放式系统互连参考模型&#xff09;是一种网络架构模型&#xff0c;将网络系…

【零知识证明】构建第一个zk

1 必要步骤 视频学习&#xff1a;5. Circcom 中的基本算术电路_哔哩哔哩_bilibili 文字学习&#xff1a;https://hackmd.io/YlNLZS2ESI21OSqdTW_mPw/S1jqN-h80/edit 第五课&#xff0c;circom实践&#xff0c;需要安装 1 vscode 2 rust&#xff1a;Windows安装Rust环境&…

git常见命令行及分支规范

文章目录 GIT常见命令行原理图基本设置初始化和克隆仓库文件管理提交更改查看状态和历史分支管理远程仓库交互高级功能GIT常见分支风格1. 单一主干分支(Single Main Branch)//极少使用优点:缺点:2. 多主干分支(Multiple Main Branches)//个人小型项目采用优点:缺点:3. …

Java-树形图工具类TreeUtil

TreeUtil 工具类,包括列表转树形结构、遍历、查找和删除节点等功能。 import java.util.*;public class TreeUtil {/*** 将列表转换为树形结构。** @param target 扁平化的节点列表* @param getId 获取节点ID的函数* @param getParentId 获取节点父ID的函数* @…

QT绘制折现图

做一个小工具,需要根据数据绘制折线图,同时拥有方法缩小拖到等功能 运行结果: 原图: 滚轮缩小 滚轮放大 左移右移 鼠标悬停显示点的坐标 源代码 实现 .pro 使用QChart 加入其对应的模块 QT charts customchartview:继承chartView 重写了鼠标点击,鼠标释放,鼠标移…