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转换数据的速度,该参数不会产生真的数据写入或发送
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值