linux服务器安装or2pg

1.安装依赖

[root@localhost ~]# yum install perl-DBI perl-DBD-Pg perl-ExtUtils-MakeMaker perl-ExtUtils-CBuilder gcc

在这里插入图片描述

2.在root下配置环境变量

配置root用户下 Oracle环境变量,因为准备将ora2pg在root下执行
[root@mdw opt]# vim ~/.bashrc
#增加
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
[root@mdw ~]# source ~/.bashrc

在这里插入图片描述

3.安装 DBD-Oracle

介质下载路径:
DBI:http://www.cpan.org/modules/by-module/DBI/DBD:http://www.cpan.org/modules/by-module/DBD/
[root@localhost opt]# tar -zxvf DBD-Oracle-1.83.tar.gz
[root@localhost opt]# cd DBD-Oracle-1.83
[root@localhost DBD-Oracle-1.83]# perl Makefile.PL -l[root@localhost DBD-Oracle-1.83]# make install

在这里插入图片描述
在这里插入图片描述

4.ora2pg安装

下载地址:
https://sourceforge.net/projects/ora2pg/

#解压安装包
[root@localhost opt]# tar -jxvf ora2pg-23.2.tar.bz2
[root@localhost opt]# cd ora2pg-23.2
[root@localhost ora2pg-23.2]# perl Makefile.PL
[root@localhost ora2pg-23.2]# make
[root@localhost ora2pg-23.2]# make install

5.检查是否安装成功

[root@localhost opt]# cd /opt
[root@localhost opt]# vim check.pl
### 写入以下内容
use strict;use ExtUtils::Installed;my $inst= ExtUtils::Installed->new();my @modules = $inst->modules();foreach(@modules){        my $ver = $inst->version($_) || "???";        printf("%-12s --  %s\n", $_, $ver);}exit;
[root@localhost opt]# perl check.pl
DBD::Oracle  --  1.83
Ora2Pg       --  23.2
Perl         --  5.16.3

6.写配置

导出表结构

[root@localhost ora2pg-23.2]# vim ora2pg.conf
#racle client 安装地址
ORACLE_HOME /home/oracle/app/oracle/product/11.2.0/dbhome_1
# oracle connent info
ORACLE_DSN dbi:Oracle:host=****;sid=orcl;port=1521
ORACLE_USER smwb_support
ORACLE_PWD  *****
# oracle schema
SCHEMA smwb_support
# oracle type
TYPE TABLE
# 输出的文件名字
OUTPUT 20230426output.sql
# 输出的路径(本地路径)
OUTPUT_DIR /opt[root@localhost ora2pg-23.2]# ora2pg -c ora2pg.conf -d > import.log &
# 这里会报一个警告说必须设置pg的版本啥的,应该不影响

导出表数据

ORACLE_HOME /home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_DSN  dbi:Oracle:host=ipaddress;sid=orcl;port=1521
ORACLE_USER tool
ORACLE_PWD  tool
SCHEMA  tool
# 作为COPY语句从表中导出数据,INSERT也可以
TYPE COPY
PG_NUMERIC_TYPE    0
PG_INTEGER_TYPE    1
DEFAULT_NUMERIC float
NLS_LANG    AMERICAN_AMERICA.AL32UTF8
OUTPUT     data.sql

[root@localhost ora2pg-23.2]# ora2pg -c ora2pg.conf -d > import.log &
在这里插入图片描述

7.ora2pg命令参数

-a | --allow str  : 配置允许导出的对象列表,通过逗号分隔不同对象。可与SHOW_COLUMN一起使用-b | --basedir dir: 设置默认输出目录,用于存储导出的文件-c | --conf file  : 指定配置文件,默认为/etc/ora2pg/ora2pg.conf.-d | --debug      : 开启更详细的输出-D | --data_type STR : 允许自定义类型转换-e | --exclude str: 配置禁止导出的对象列表,通过逗号分隔不同对信息。可与SHOW_COLUMN一起使用-h | --help       : 打印简短的帮助信息-g | --grant_object type : 导出指定类型的对象的权限,默认是导出全部类型的对象权限-i | --input file : 指定要导入的Oracle PL/SQL代码文件,里面不包含oracle的数据库的连接信息-j | --jobs num   : 设置向Postgresql写入数据的并行进程数-J | --copies num : 设置向oracle抽取数据的并行进程数-l | --log file   : 设置日志文件。默认是控制台输出。-L | --limit num  : 设置每次从oracle提取的记录行数-m | --mysql      : 说明导出的是mysql数据库,而不是oracle-n | --namespace schema : 指定oracle的schema-N | --pg_schema schema : 指定postgresql的search_path-o | --out file   : 指定输出文件及其路径,默认为当前目录下的out.sql -p | --plsql      : 启用PLSQL代码转换为PL/PGSQL代码-P | --parallel num: 设置每次能并行抽取的表数量-q | --quiet      : 关闭进度条-s | --source DSN : 设置oracle数据库源-t | --type export: 设置导出的数据库类型,使用该配置会覆盖配置文件中对类型的设置。-T | --temp_dir DIR: 设置缓存路径,当同时运行多个ora2pg时需配置该项-u | --user name  : 设置oracle源端用户名-v | --version    : 打印ora2pg版本-w | --password pwd : 配置oracle源端密码--forceowner      : 指定在oracle数据库中表和序列的拥有者。默认值为连接postgresql的用户名--nls_lang code: 指定oracle客户端编码--client_encoding code: 指定postgresql客户端编码--view_as_table str: 指定视图列表,其将以表的形式导出。不同对象通过逗号分隔--estimate_cost   : 通过SHOW_PEPORT显示迁移成本--cost_unit_value minutes: 配置迁移成本的分钟值。默认为5分钟。如果是第一次迁移,应将其配置为10分钟--dump_as_html     : 指定迁移报告格式为html--dump_as_csv      : 指定迁移报告格式为csv--dump_as_sheet    : 指定迁移报告格式为sheet--init_project NAME: 初始化一个ora2pg项目--project_base DIR : 指定ora2pg项目目录,默认为当前目录--print_header     : 与--dump_as_sheet一起使用,打印出CSV头部在第一次运行ora2pg时--human_days_limit num : 设定迁移时限制的人日数,默认为5人/日--audit_user LIST  : 要筛选的用户列表,不同用户通过逗号分隔。--pg_dsn DSN       : 设置PostgreSQL数据源--pg_user name     : 设置PostgreSQL用户--pg_pwd password  : 设置the PostgreSQ密码--count_rows       : 指定ora2pg在进行准确行数计算,在Type 为TEST时--no_header        : 输出文件中不包含ora2pg的信息头部--oracle_speed     : 用于获取oracle发送数据的速度,该参数不会产生真的数据写入或发送--ora2pg_speed     : 用于获取ora2pg转换数据的速度,该参数不会产生真的数据写入或发送


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部