zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Windows 8的语音识别
    硬件驱动程序的知识点滴
    怎么将一张100KB以上大小的电子图片压缩成30KB以内
    Hadoop概念学习系列之Hadoop新手学习指导之入门需知(二十)
    Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)(十八)
    研究生,别再玩了,你玩不起!
    redis源代码解读之内存管理————zmalloc文件
    线段树之入门篇
    C#托付和事件
    dlmalloc 2.8.6 源代码具体解释(6)
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6752245.html
Copyright © 2011-2022 走看看