Windows安装Ora2Pg(迁移表结构,表数据)

2024-08-28 19:36

本文主要是介绍Windows安装Ora2Pg(迁移表结构,表数据),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

版本:

windows server 2012 R2

oracle 12 

postgresql-9

说明:

目前该操作是在安装了oracle的机子上做的。官方文档查看相关操作命令Ora2Pg : Migrates Oracle to PostgreSQL (darold.net)

1、安装perl

Strawberry Perl下载地址:   Strawberry Perl for Windows - Releases
选择一个合适的版本,下载下来之后只需要选择好安装路径一直下一步就好了

2、下载Ora2Pg

可以直接在github选择一个版本下载,然后解压到指定目录就可以,下载地址  Releases · darold/ora2pg (github.com)

3、配置Perl

a、cmd定位到解压后的Ora2Pg目录中,执行下面的命令使用Perl解析Ora2Pg

perl Makefile.PL

b、上面的命令执行完成后,会有提示,按照提示执行下面的命令即可

执行  dmake && dmake install
如果不行就执行    gmake.exe && gmake.exe install 

4、修改Ora2Pg的配置文件ora2pg.conf.dist(安装目录下)

# 设置Oracle主目录:Oracle的安装目录(我的是自动配制好了,进行完第3步后有的)
ORACLE_HOME    D:\oracle\product\12.1.0\dbhome_1

# 设置Oracle数据库连接(数据源、用户、密码)连接远程的,需要配置远程数据库ip和端口
ORACLE_DSN dbi:Oracle:host=127.0.0.1;sid=XE;port=1521
ORACLE_USER TEST
ORACLE_PWD testtest

# 需要迁移什么内容,就配置什么内容
TYPE TABLE,VIEW,SEQUENCE,TRIGGER,FUNCTION,PROCEDURE

# 导出SQL目录
OUTPUT D:\ora2pg_output

# 这里配置你自己的Oracle数据库 不配置的情况下默认导出所有表
SCHEMA XXXX

5、导出表结构语句

注意:如果type设置为多个时,output不能写具体的是哪个目录,因为导出多个type时,是以type_output.sql命名文件的,建议TYPE 一开始只用TABLE。

ora2pg -c D:\ora2pg-24.3\ora2pg.conf.dist

也可以执行

ora2pg -c D:\ora2pg-24.3\ora2pg.conf.dist -d

两者执行的效果图如下:

6、库对库迁移

--- 先配制一下PG的库地址(ora2pg.conf.dist文件)

PG_DSN        dbi:Pg:dbname=cvs;host=XXX.XX.XX.XX;port=5432
PG_USER    postgres
PG_PWD        123456

--- 如果要改导出的字段名

REPLACE_COLS    table_name(ORIG_COLNAME1:NEW_COLNAME1)

--- 退出到CMD下执行导出命令

ora2pg -d -t copy -c D:\ora2pg-24.3\ora2pg.conf.dist -P 9 -L 100000 -j 12

执行导出时如果服务器内存不足,可能会服内存溢出;可以尝试修改这个参数-L 100000改成100试试

ps:ora2pg命令解析

  • -d:表示调试模式,会输出更多的日志信息,有助于诊断问题。
  • -t copy:指定迁移时使用COPY命令来插入数据,这是PostgreSQL中一种高效的数据导入方式。
  • -c <配置文件>:指定ora2pg的配置文件路径,用于定义迁移过程中的各种设置,如数据库连接信息、类型转换规则等。
  • -P <版本>:指定目标PostgreSQL数据库的版本号,以便ora2pg能够生成与该版本兼容的SQL语句。
  • -L <版本>:参数用于指定迁移过程中每个批次的记录数限制。
  • -j <数量>:指定并行迁移的线程数。在支持多线程的系统中,增加这个值可以加快迁移速度,但也会增加系统的负载。

7、导出数据文件

导出数据文件的话,第6步不配制,直接修改ora2pg.conf.dist文件中TYPE为 INSERT

执行第5步的命令:ora2pg -c D:\ora2pg-24.3\ora2pg.conf.dist -d

这篇关于Windows安装Ora2Pg(迁移表结构,表数据)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115686

相关文章

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分