lscpu | grep rdtscp
lscpu | grep avx
不存在avx指令的电脑不能使用openGauss-2.0.0以上的版本
1、 安装perl
由于oracle 11.2使用的perl版本是5.10.0,所以perl的安装必须兼容5.10.0。我选择安装5.10.1版本。
下载地址:https://www.cpan.org/src/5.0/
1.1 解压:tar xjvf perl-5.10.1.tar.bz2
1.2 进入解压后的目录:cd perl-5.10.1
1.3 执行Configure命令:./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
1.4 安装:make && make install
1.5 mv /usr/bin/perl /usr/bin/perl.bak
1.6 ln -s /usr/local/perl/bin/perl /usr/bin/perl
2、 安装JSON
2.1 从https://www.cpan.org/authors/id/M/MA/MAKAMAKA/下载JSON最新版,目前最新版本是2.90
2.2 解压:tar xzvf JSON-2.90.tar.gz
2.3 进入解压后的目录:cd JSON-2.90
2.4 执行配置命令:perl Makefile.PL
2.5 安装:make && make install
3、 安装DBI
3.1 从https://www.cpan.org/modules/by-module/DBI/下载DBI最新版,目前最新版本是1.643
3.2 解压:tar xzvf DBI-1.643.tar.gz
3.3 进入解压后的目录:cd DBI-1.643
3.4 执行配置命令:perl Makefile.PL
3.5 安装:make && make install
4、 要从oracle导出数据,必须安装DBD::Oracle;而要安装DBD::Oracle则要么安装Oracle服务器版本,要么安装下面软件。
4.1 rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
4.2 rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
4.3 rpm -ivh oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
4.4 rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
4.5 在/etc/profile中添加如下语句:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
5、 安装DBD::Oracle
5.1 从https://www.cpan.org/modules/by-module/DBD/下载DBD::Oracle最新版,目前最新版本是1.83
5.2 解压:tar xzvf DBD-Oracle-1.83.tar.gz
5.3 进入解压后的目录:cd DBD-Oracle-1.83
5.4 执行配置命令:perl Makefile.PL
5.5安装:make && make install
6、 安装postgresql软件
6.1 rpm -ivh postgresql-libs-9.2.24-4.el7_8.x86_64.rpm
6.2 rpm -ivh postgresql-devel-9.2.24-4.el7_8.x86_64.rpm
6.3 rpm -ivh postgresql-9.2.24-4.el7_8.x86_64.rpm
7、 安装ora2pg
7.1 从https://github.com/darold/ora2pg/tree/v21.1下载ora2pg的版本,用且只能用21.1这个版本
7.2 解压:tar xzvf ora2pg-23.1.tar.gz
7.3 进入解压后的目录:cd ora2pg-23.1
7.4 执行配置命令:perl Makefile.PL
7.5 安装:make && make install
7.6 在/etc/profile中添加如下语句:
export PERL5LIB=/usr/local/perl/lib
export PATH=$PATH:/usr/local/perl/bin
8、 安装DBD::Pg
8.1 从https://www.cpan.org/modules/by-module/DBD/下载DBD::Pg最新版DBD-Pg-3.15.1
8.2 解压DBD-Pg-3.15.1.tar.gz
8.3 进入解压后的目录:cd DBD-Pg-3.15.1
8.4 执行配置命令:perl Makefile.PL
8.5 安装:make && make install
9、 安装openGauss-tools-ora2og
9.1 从https://gitee.com/opengauss/openGauss-tools-ora2og下载最新版本
9.2 解压:unzip openGauss-tools-ora2og-master.zip
9.3 进入解压后的目录:cd openGauss-tools-ora2og-master
9.4 修改openGauss-tools-ora2og-master/scripts/ora2pg文件
将my $OPENGAUSS从0改为1
将OPENGAUSS从0改为1
9.5 执行配置命令:perl Makefile.PL
9.6 安装:make && make install
9.7 执行下面命令验证ora2pg是否安装成功:ora2pg –help
如果能看到列出了ora2pg的帮助内容,ora2pg安装成功
10、 执行下面命令生成迁移项目:ora2pg --init_project oraimg
11、 配置迁移项目oraimg
11.1进入迁移项目的配置文件所在目录:cd oraimg/config
11.2备份已有的配置文件:cp ora2pg.conf ora2pg.conf.bak
11.3打开配置文件:vi ora2pg.conf
11.4修改内容如下:
11.4.1 ORACLE_HOME /usr/lib/oracle/11.2/client64/ #oracle目录
11.4.2 ORACLE_DSN dbi:Oracle:host=195.203.56.37;sid=hesdb;port=1521 #oracle所在物理机的ip地址、端口号、sid
11.4.3 ORACLE_USER hesdb #oracle用户账号,需要拥有DBA权限
11.4.4 ORACLE_PWD hesdb123 #oracle用户账号密码
11.4.5 SCHEMA hesdba #设置要导出的schema
11.4.6 TYPE TABLE VIEW SEQUENCE DBLINK #要导入导出的类型,详情看文件中的说明
11.4.7 PG_DSN dbi:Pg:dbname=hesdb;host=195.203.26.17;port=26000 #opengauss所在物理机的ip地址、端口号、数据库名
11.4.8 PG_USER zzfw #opengauss用户账号
11.4.9 PG_PWD Zzfw@123 #opengauss用户账号密码
11.4.10 文件末尾添加:OPENGAUSS 1 #表示用opengauss语法分析
12、 连接测试:ora2pg -t SHOW_VERSION -c config/ora2pg.conf
13、 执行迁移脚本从oracle导出数据:sh export_schema.sh
14、 执行迁移脚本导入数据到opengauss:sh import_all.sh -d hesdb -o zzfw -w “Zzfw@123” –h 195.203.26.17 -p 26000 –f -g
启动、重启、停止openGauss数据库:
gs_ctl start/restart/stop -D /opt/openGauss-2.0.0-CentOS-64bit/data/single_node -Z single_node
连接openGauss数据库命令:
gsql -d postgres -p 26000 -r -U zzfw