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

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2