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

?

?

官網上列舉了所有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的信息,選擇要導出的類型,導出的文件存儲在哪個目錄下等等

目前的問題是,這寫方案都不是一鍵完成的,里面需要手工操作。并且沒有測試過這些工具的可靠性,安全性。未必能夠用于生產環境

?

轉載于:https://www.cnblogs.com/tianyafu/p/10550735.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387224.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387224.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387224.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CNN框架的搭建及各個參數的調節

本文代碼下載地址:我的github本文主要講解將CNN應用于人臉識別的流程,程序基于PythonnumpytheanoPIL開發,采用類似LeNet5的CNN模型,應用于olivettifaces人臉數據庫,實現人臉識別的功能,模型的誤差降到了5%以…

操作系統05死鎖

進程管理4--Deadlock and Starvation Concurrency: Deadlock and Starvation 內容提要 >產生死鎖與饑餓的原因 >解決死鎖的方法 >死鎖/同步的經典問題:哲學家進餐問題 Deadlock 系統的一種隨機性錯誤 Permanent blocking of a set of processes that eith…

CNN tensorflow 人臉識別

數據材料這是一個小型的人臉數據庫,一共有40個人,每個人有10張照片作為樣本數據。這些圖片都是黑白照片,意味著這些圖片都只有灰度0-255,沒有rgb三通道。于是我們需要對這張大圖片切分成一個個的小臉。整張圖片大小是1190 942&am…

數據結構01緒論

第一章緒論 1.1 什么是數據結構 數據結構是一門研究非數值計算的程序設計問題中,計算機的操作對象以及他們之間的關系和操作的學科。 面向過程程序數據結構算法 數據結構是介于數學、計算機硬件、計算機軟件三者之間的一門核心課程。 數據結構是程序設計、編譯…

css3動畫、2D與3D效果

1.兼容性 css3針對同一樣式在不同瀏覽器的兼容 需要在樣式屬性前加上內核前綴; 谷歌(chrome) -webkit-transition: Opera(歐鵬) -o-transition: Firefox(火狐) -moz-transition Ie -ms-tr…

ES6學習筆記(六)數組的擴展

1.擴展運算符 1.1含義 擴展運算符(spread)是三個點(...)。它好比 rest 參數的逆運算,將一個數組轉為用逗號分隔的參數序列。 console.log(...[1, 2, 3]) // 1 2 3console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5[...doc…

數據結構02線性表

第二章 線性表 C中STL順序表:vector http://blog.csdn.net/weixin_37289816/article/details/54710677鏈表:list http://blog.csdn.net/weixin_37289816/article/details/54773406在數據元素的非空有限集中: (1)存在唯一一個被稱作“第…

訓練一個神經網絡 能讓她認得我

寫個神經網絡,讓她認得我(?????)(Tensorflow,opencv,dlib,cnn,人臉識別) 這段時間正在學習tensorflow的卷積神經網絡部分,為了對卷積神經網絡能夠有一個更深的了解,自己動手實現一個例程是比較好的方式,所以就選了一個這樣比…

數據結構03棧和隊列

第三章棧和隊列 STL棧:stack http://blog.csdn.net/weixin_37289816/article/details/54773495隊列:queue http://blog.csdn.net/weixin_37289816/article/details/54773581priority_queue http://blog.csdn.net/weixin_37289816/article/details/5477…

Java動態編譯執行

在某些情況下,我們需要動態生成java代碼,通過動態編譯,然后執行代碼。JAVA API提供了相應的工具(JavaCompiler)來實現動態編譯。下面我們通過一個簡單的例子介紹,如何通過JavaCompiler實現java代碼動態編譯…

樹莓派pwm驅動好盈電調及伺服電機

本文講述如何通過樹莓派的硬件PWM控制好盈電調來驅動RC車子的前進后退,以及如何驅動伺服電機來控制車子轉向。 1. 好盈電調簡介 車子上的電調型號為:WP-10BLS-A-RTR,在好盈官網并沒有搜到對應手冊,但找到一份通用RC競速車的電調使…

數據結構04串

第四章 串 STL:string http://blog.csdn.net/weixin_37289816/article/details/54716009計算機上非數值處理的對象基本上是字符串數據。 在不同類型的應用中,字符串具有不同的特點,要有效的實現字符串的處理,必須選用合適的存儲…

CAS單點登錄原理解析

CAS單點登錄原理解析 SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。CAS是一種基于http協議的B/S應用系統單點登錄實現方案,認識CAS之前首先要熟悉http協議、Session與Co…

JDK1.6版添加了新的ScriptEngine類,允許用戶直接執行js代碼。

JDK1.6版添加了新的ScriptEngine類,允許用戶直接執行js代碼。在Java中直接調用js代碼 不能調用瀏覽器中定義的js函數,會拋出異常提示ReferenceError: “alert” is not defined。[java] view plaincopypackage com.sinaapp.manjushri; import javax.sc…

數據結構05數組和廣義表

第五章 數組 和 廣義表 數組和廣義表可以看成是線性表在下述含義上的擴展:表中的數據元素本身也是一個數據結構。 5.1 數組的定義 n維數組中每個元素都受著n個關系的約束,每個元素都有一個直接后繼元素。 可以把二維數組看成是這樣一個定長線性表&…

k8s的ingress使用

ingress 可以配置一個入口來提供k8s上service從外部來訪問的url、負載平衡流量、終止SSL和提供基于名稱的虛擬主機。 配置ingress的yaml: 要求域名解析無誤 要求service對應的pod正常 一、test1.domain.com --> service1:8080 apiVersion: extensions/v1beta1…

JDK1.8中如何用ScriptEngine動態執行JS

JDK1.8中如何用ScriptEngine動態執行JS jdk1.6開始就提供了動態腳本語言諸如JavaScript動態的支持。這無疑是一個很好的功能,畢竟Java的語法不是適合成為動態語言。而JDK通過執行JavaScript腳本可以彌補這一不足。這也符合“Java虛擬機不僅僅是Java一種語言的虛擬機…

數據結構06樹和二叉樹

第六章 樹和二叉樹 6.1 樹的定義和基本術語 樹 Tree 是n個結點的有限集。 任意一棵非空樹中: (1)有且僅有一個特定的稱為根(root)的結點; (2)當n>1時,其余結點可…

2019.03.20 mvt,Django分頁

MVT模式 MVT各部分的功能: M全拼為Model,與MVC中的M功能相同,負責和數據庫交互,進行數據處理。 V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回響應。 T全拼為Tem…

CountDownLatch,CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的輔助類來幫助我們進行并發編程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我們就來學習一下這三個輔助類的用法。以下是本文目錄大綱:一.CountDownLatch用法二.CyclicBarrie…