当前位置: 首页 > news >正文

【PostGreSQL】PostGreSQL到Oracle的数据迁移

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果是个PostGreSQL的数据,于是装数据库,但这个也不懂呀,而且本系统用的Oracle,于是得解决迁移转换的问题。
总结下来两个思路。

1、PostgresToOracle

多金的用第一种。
这个软件很好,但是不便宜,129美元,试用期30天,试用状态每次每表只能转1000条
在这里插入图片描述

2、SQL*LOADER

如果手头不宽裕可以用这种通用方法
我用的Aqua Data Studio 19

1、查询到数据

select * from public.xxx;

这里会有个问题,就是如果数据量太大,比如我这里28万条,会显示内存不足,需要改下软件的默认内存大小
大约这个安装路径下这个文件
D:\Program Files\Aqua Data Studio 19.0 - 64bit\datastudio.ini
修改下vmarg.2大一些,我这里直接调整为4096,

vmarg.1=-Dsun.swing.enableImprovedDragGesture
vmarg.2=-Xmx4096M
vmarg.3=-XX:MetaspaceSize=512m
vmarg.4=-Djsse.enableCBCProtection=false

2、将查询结果保存到本地

用datastudio的保存结果保存到本地
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、建表

根据postgresql的表结构进行创建oracle表,这里建议所有数字number类型和时间类型统一改成varchar,nvarchar也让我改成了varchar

4、sqlloder导入

sqlloadr配置文件
文件名 xxx.txt,要导入的文件名 D:\xxx.csv

--编写 insert.ctl 文件
load data
characterset ZHS16GBK -- 表的储存格式
INFILE 'D:\xxx.csv' -- 数据文本路径
Append into table xxx -- 表名
fields terminated by "," --,分割字段
(id,xzq,bldid
)

执行命令进行导入

sqlldr username/password@127.0.0.1:1521/orcl control=xxx.txt

注意:路径和文件名尽量不要用中文
characterset ZHS16GBK
这行用于避免中文乱码

这个sql查看数据库编码格式,保持一致

select * from v$nls_parameters where PARAMETER like '%NLS_CHARACTERSET%'

5、导入后数据验证处理

中间可能会出现报错,会在当前目录下产生log日志,可以查看报错信息,我这遇到的主要是number类型存了非number数据,让我都给改成varchar就没问题了,后续可以在oracle里进行格式转换。
总之思路就是把复杂问题转换为自己能解决的问题,postgresql我搞不了,oracle那不是手拿把掐。

http://www.lryc.cn/news/137988.html

相关文章:

  • jupyter notebook出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH解决方案
  • 前端进阶Html+css10----定位的参照对象(高频面试题)
  • 总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型
  • python环境建设
  • Python学习笔记第五十九天(Matplotlib 安装)
  • (6)(6.3) 自动任务中的相机控制
  • 什么是cssreset ?为什么要用到cssreset?
  • SpringCloud学习笔记(四)_ZooKeeper注册中心
  • 【算法专题突破】双指针 - 移动零(1)
  • Nginx高可用集群
  • Rust 基础入门 ——所有权 引言 :垃圾自动回收机制的缺陷。
  • Ubuntu20.04安装软件报错:The following packages have unmet dependencies
  • Java 与设计模式(12):享元模式
  • React配置代理(proxy)
  • 队列(Queue):先进先出的数据结构队列
  • CentOS ens160 显示disconnected
  • 使用 ChatGPT 创建 PowerPoint 演示文稿
  • matlab将数组值划分为两类
  • 【点击新增一个下拉框 与前一个内容一样 但不能选同一个值】
  • 【Gitee提交pr】
  • 一款打工人必备的电脑端自律软件!!冲鸭打工人!!
  • 【Vue框架】 router和route是什么关系
  • 整理mongodb文档:聚合管道
  • Delphi 11.3 FMX 多设备平台中使用 TGrid 实现类似 TDBGrid 的效果
  • Qt-事件循环与QtConcurrent、QThread结合使用时注意的点
  • 基于MongoDB的空间数据存储与查询
  • jquery中pdf的上传、下载及excel导出
  • 【MyBatis】:PageHelper分页插件与特殊字符处理
  • C语言练习1(巩固提升)
  • eCharts热力图Y轴左上角少一块