在系统日常生产过程中。怎样从Oracle数据库同步一些配置表到GP库个问题。

先来说说之前使用的方式:

0. 使用第3方工具从Oracle导出纯文本格式,存放在本地;

1. 使用GP外部表载入入库

这样的方式长处是对于须要同步大数据量的表的时候性能很高。缺点是稍显麻烦,最基本的是非实时的,存在着任务调度周期和导出导入时间周期。





对此我的解决的方法是简化整个过程并实时查询:

0. 使用GP WEB外部表技术直接查询Oracle数据表





因为是配置表,数据量一般都很小,几k到几w条的记录採用这样的方式差点儿是瞬间的消耗。

首先是Oracle的源表:

[oracle@gtlions181 ~]$ sqlplus gtlions/gtlions





SQL*Plus: Release 10.2.0.5.0 - Production on Thu May 8 15:41:06 2014





Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.









Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options





SQL> select * from test;





        ID NAME

---------- -----

         1 a

         2 b

然后在GP中直接查询Oracle的表:

[gpadmin@gtlions181 ~]$ psql gtlions

psql (8.2.15)

Type "help" for help.





gtlions=# drop external table if exists sqlplus_test;

DROP EXTERNAL TABLE

gtlions=# create external web table sqlplus_test(id int,name varchar(5)) execute 'sqlplus -S gtlions/gtlions@gt10g <<EOF

gtlions'# set echo OFF;

gtlions'# set heading OFF;

gtlions'# set feedback off;

gtlions'# set linesize 32767;

gtlions'# set pagesize 0;

gtlions'# select id||'',''||name from test ;

gtlions'# exit;

gtlions'# EOF' on master  format 'csv' (header);

NOTICE:  HEADER means that each one of the data files has a header row.

CREATE EXTERNAL TABLE

gtlions=# select * from sqlplus_test;

 id | name 

----+------

  1 | a

  2 | b

(2 rows)





so easy,Bingo!

-EOF

Greenplum query Oracle via DLINK的更多相关文章

  1. Some Useful Property Settings Explained Of Oracle Forms

    In Oracle forms when we have two or more blocks and there is a requirement to join them or make a re ...

  2. ORACLE当中自定义函数性优化浅析

    为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...

  3. 12 Things Developers Will Love About Oracle Database 12c Release 2

    by Chris Saxon-Oracle It's Here: Oracle Database 12c Release 2 (12.2) Is available on Oracle Cloud. ...

  4. Oracle 复制表创建的sql语句

    http://cache.baiducontent.com/c?m=9d78d513d99e01fc09b3c3690d67c0161343f0652ba1d4020ed08449e3732b4250 ...

  5. Oracle Flashback Technology【闪回技术】

    -------------------------与其他数据库相比,Oracle的闪回让开发者多了一条选择的路. Flashback的目的 先看下Oracle官方文档中的解释: Oracle Flas ...

  6. oracle expdp/impdp/可传输表空间

    oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...

  7. Greenplum 性能优化之路 --(三)ANALYZE

    一.为什么需要 ANALYZE 首先介绍下 RBO 和 CBO,这是数据库引擎在执行 SQL 语句时的2种不同的优化策略. RBO(Rule-Based Optimizer) 基于规则的优化器,就是优 ...

  8. Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)

    一.缘由 上一篇文章Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法介绍到了怎么样在Sping.MyBatis.Hibernate整合的应用中动 ...

  9. On Caching and Evangelizing SQL

    http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51asktom-453438.html   Our technologist ...

随机推荐

  1. python日常碎碎念--PIL

    昨天在处理网站相关图片的时候,发现图片都大小不一样,虽然一下就能想起PIL这个库,但是用法却不记得了. 简单记录一下用法. 可以直接用 Image.open 来打开图片,PIL库为这个文件对象提供了各 ...

  2. Ajax提交进度显示实例

    概述:ajax提交比较大的文件的时候,我们希望能够看到它上传的进度,代码放下面了. <!DOCTYPE html> <html> <head> <meta c ...

  3. XMOJ 1133: 膜拜大牛 计算几何/两圆相交

    1133: 膜拜大牛 Time Limit: 1 Sec  Memory Limit: 131072KiBSubmit: 9619  Solved: 3287 题目连接 http://acm.xmu. ...

  4. ZOJ 3622 Magic Number 打表找规律

    A - Magic Number Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Subm ...

  5. WindowsPhone&amp;Windows8.1&amp;Windows8&amp;Unity3d 填坑日记

    近期的游戏开发大体上接近尾声,总结了不少关于Unity3d面向Windows几大平台开发时遇到的各种坑以及怎样填坑的经验.总的来说,Windows8.1 Windows8/RT以及WindowsPho ...

  6. oracle 锁系列

    http://www.cnblogs.com/lhrbest/p/6091277.html

  7. Overview of MySQL Programs

    http://blog.163.com/digoal@126/blog/static/16387704020110198756512/

  8. 苹果Mac OS X系统十三年视觉变化发展史

    1Mac OS 9 一个普通的桌面操作系统 经过多个测试版本后,苹果终于正式公布OS X 10.10 Yosemite操作系统.苹果称这个第11版的OS X系统是自从2001年问世以来在视觉效果上变化 ...

  9. 【IDEA】【maven】idea使用maven插件 打包提示找不到符号找不到类,但是却没有错误

    [本篇方法如果无效,请使用终极解决方法] [终极解决方法]:https://www.cnblogs.com/sxdcgaq8080/p/10117852.html 如下,在右侧maven工具中进行打包 ...

  10. 通过使用第三方开源jar包sigar.jar我们可以获得本地的信息

    1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到java路径.比如windows32位操作系统需要将lib中sigar ...