Greenplum query Oracle via DLINK
在系统日常生产过程中。怎样从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的更多相关文章
- 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 ...
- ORACLE当中自定义函数性优化浅析
为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...
- 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. ...
- Oracle 复制表创建的sql语句
http://cache.baiducontent.com/c?m=9d78d513d99e01fc09b3c3690d67c0161343f0652ba1d4020ed08449e3732b4250 ...
- Oracle Flashback Technology【闪回技术】
-------------------------与其他数据库相比,Oracle的闪回让开发者多了一条选择的路. Flashback的目的 先看下Oracle官方文档中的解释: Oracle Flas ...
- oracle expdp/impdp/可传输表空间
oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...
- Greenplum 性能优化之路 --(三)ANALYZE
一.为什么需要 ANALYZE 首先介绍下 RBO 和 CBO,这是数据库引擎在执行 SQL 语句时的2种不同的优化策略. RBO(Rule-Based Optimizer) 基于规则的优化器,就是优 ...
- Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
一.缘由 上一篇文章Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法介绍到了怎么样在Sping.MyBatis.Hibernate整合的应用中动 ...
- On Caching and Evangelizing SQL
http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51asktom-453438.html Our technologist ...
随机推荐
- 洛谷.3803.[模板]多项式乘法(NTT)
题目链接:洛谷.LOJ. 为什么和那些差那么多啊.. 在这里记一下原根 Definition 阶 若\(a,p\)互质,且\(p>1\),我们称使\(a^n\equiv 1\ (mod\ p)\ ...
- [BZOJ2669] [cqoi2012]局部极小值
[BZOJ2669] [cqoi2012]局部极小值 Description 有一个n行m列的整数矩阵,其中1到nm之间的每个整数恰好出现一次.如果一个格子比所有相邻格子(相邻是指有公共边或公共顶点) ...
- bzoj 2466 异或方程组
对于每个灯,我们用一个变量表示其决策,xu=0表示不选,xu=1表示选.因为每个灯最后必须都亮,所以每个等都对应一个异或方程. 解这个异或方程组,有几种情况: 1.存在唯一解(得到的上三角系数矩阵的主 ...
- hdoj 5182 PM2.5 排序
PM2.5 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descr ...
- Git_时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- 华为S5300系列交换机V100R006SPH019升级补丁
S5300_V100R006SPH019.pat 附件: 链接:https://pan.baidu.com/s/1M1S5amGGViUieSp8lJ9psw 密码:sexx
- YS报警权限验证安全设计
1.总体流程图: 备注: 1. 使用加时间戳的方式优点是可以不用对报警请求进行加密,也可以防止信令重放,缺点是每次都要去DAS获取新的签名.
- Android开发点点滴滴——一些基础的但实用的知识(2)
1.onItemLongClick和onItemClick事件截取 当须要同一时候获得一个listview的条目长按事件(onItemLongClick)和点击事件(onItemClick)时,仅仅须 ...
- Content portal for Pocketables Tasker articles
http://www.pocketables.com/2013/03/overview-of-pocketables-tasker-articles.html I write a lot about ...
- java基础学习总结——网络编程
一.网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程.