阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle迁移到Greenplum的方案

211次阅读
没有评论

共计 2261 个字符,预计需要花费 6 分钟才能阅读完成。

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

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

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

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

先看一下官网:

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

 Oracle 迁移到 Greenplum 的方案

 

官网上列举了所有 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 的信息,选择要导出的类型,导出的文件存储在哪个目录下等等

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

更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2261字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中