从oracle到greenplum,Oracle迁移到Greenplum的方案

Oracle数据库是一种关系型 数据库 管理系统,在数据库领域一直处于领先的地位,适合于大型项目的开发;银行、电信、电商、金融等各领域都大量使用 Oracle 数据库。

greenplum是一款开源的分布式数据库存储解决方案,主要关注数据仓库和BI报表及多维查询等方面。采用了shared-nothing的大规模并行处理MPP架构。

目前我手头的工作是需要将oracle数据库迁移到greenplum库中,大概收集了一下资料。

因为greenplum数据库是基于 postgresql 的,所以可以使用oracle迁移到postgresql的方式来做。

先看一下官网:

https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL

a3dcc96cf7d9fbbe1f5b8e5a48da7d2b.png

官网上列举了所有oracle迁移到pg的可用工具。带锁的是收费的,不带锁的是开源的

本次采用的是ora2pg的 工具 来做。

安装这边就不提了,可以参照git官网的说明来安装 https://github.com/darold/ora2pg

我们的目的是要将oracle的表的表结构转换成pg的建表语句。数据的抽取我们需要另外想办法。

这个ora2pg工具主要是用配置文件来控制需要转换的东西。可以单独转换表结构,可以导出数据。也可以导出视图、索引、包结构等。

主要的配置文件内容如下:

#---------------------------------#

#---------------------------------#

# Set the Oracle home directory

ORACLE_HOME /usr/lib/oracle/18.3/client64

# Set Oracle database connection (data source, user, password)

ORACLE_DSN dbi:Oracle:host=192.168.***.***;sid=xe;port=****

ORACLE_USER ***

ORACLE_PWD ****

# Oracle schema/owner to use

#SCHEMA SCHEMA_NAME

SCHEMA  TIANYA  SYSTEM

#--------------------------

# EXPORT SECTION (Export type and filters)

#--------------------------

# Type of export. Values can be the following keyword:

# TABLE Export tables, constraints, indexes, …

# PACKAGE Export packages

# INSERT Export data from table as INSERT statement

# COPY Export data from table as COPY statement

# VIEW Export views

# GRANT Export grants

# SEQUENCE Export sequences

# TRIGGER Export triggers

# FUNCTION Export functions

# PROCEDURE Export procedures

# TABLESPACE Export tablespace (PostgreSQL >= 8 only)

# TYPE Export user-defined Oracle types

# PARTITION Export range or list partition (PostgreSQL >= v8.4)

# FDW Export table as foreign data wrapper tables

# MVIEW Export materialized view as snapshot refresh view

# QUERY Convert Oracle SQL queries from a file.

# KETTLE Generate XML ktr template files to be used by Kettle.

TYPE TABLE VIEW  COPY

# By default all output is dump to STDOUT if not send directly to PostgreSQL

# database (see above). Give a filename to save export to it. If you want

# a Gzip’d compressed file just add the extension .gz to the filename (you

# need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2

# compression.

OUTPUT output2.sql

# Base directory where all dumped files must be written

#OUTPUT_DIR /var/tmp

OUTPUT_DIR /application/ora2pg/output

主要就是配置了连接Oracle的信息,选择要导出的类型,导出的文件存储在哪个目录下等等

目前的问题是,这写方案都不是一键完成的,里面需要手工操作。并且没有测试过这些工具的可靠性,安全性。未必能够用于生产环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值