oracle 抽取过程

简介: 确定表含义,字段含义,字典表,和他表是否有关联关系 确定对方数据总量,每日/周/月增长量 确定对方时间戳(递增序列戳) 小知识1:抽取对方1000~2000条数据将其存入新建的txt中,查看所占空间大小,通过等比约估表所...

确定表含义,字段含义,字典表,和他表是否有关联关系

确定对方数据总量,每日//月增长量

确定对方时间戳(递增序列戳)

小知识1:抽取对方1000~2000条数据将其存入新建的txt中,查看所占空间大小,通过等比约估表所占空间大小

小知识2:抽取对方数据时,走索引的不要修改索引列的字段类型

小知识3:第一次抽取历史大数据时,可以不建立目标表索引,以提高抽取速度

 

oracle抽取过程模板


这是依照上图写的抽取过程

PROCEDURE DR_ZYK_ZLGX(PK VARCHAR2, GXLX VARCHAR2) IS

    V_SYSDATE DATE;

    V_PK      VARCHAR2(100);

    V_GXLX    VARCHAR2(100);

    V_COUNT   NUMBER;

    V_ZXZT    VARCHAR2(10);

    V_MAXSJC  DATE;

    V_SJC     DATE;

    V_INSSQL  VARCHAR2(4000);

    V_YSB     VARCHAR2(100);

    V_MBB     VARCHAR2(100);

    V_ERR     VARCHAR2(200);

  BEGIN

    --首先判断增量类型

    V_PK   := PK;

    V_GXLX := GXLX;

    --从表中获取填写内容是否有问题

    SELECT SYSDATE INTO V_SYSDATE FROM DUAL;

    SELECT COUNT(1)

      INTO V_COUNT

      FROM T_LOG_CZGC_SJC T

     WHERE T.PK_VALUE = V_PK

       AND T.GXLX = V_GXLX;

    SELECT T.YSB, T.MBB

      INTO V_YSB, V_MBB

      FROM T_LOG_CZGC_SJC T

     WHERE T.PK_VALUE = V_PK;

    BEGIN

      IF V_COUNT = 1 THEN

        --获取执行状态

        SELECT F_ZXZT(V_PK) INTO V_ZXZT FROM DUAL;

        IF V_ZXZT <> '0' THEN

          BEGIN

            --执行执行'0'

            DR_UP_SJC(V_PK, '0', SYSDATE, '0');

            --查询最大时间戳

            SELECT F_MAXSJC(V_PK) INTO V_MAXSJC FROM DUAL;

            SELECT SJC, INS_SQL

              INTO V_SJC, V_INSSQL

              FROM T_LOG_CZGC_SJC T

             WHERE T.PK_VALUE = V_PK;

          

            --执行SQL语句 

            EXECUTE IMMEDIATE V_INSSQL

              USING V_SJC, V_MAXSJC;

            --更新时间戳

            DR_UP_SJC(V_PK, '1', V_MAXSJC, '1');

            --写入日志

            DR_LOG(V_PK,

                   '1',

                   V_YSB,

                   V_MBB,

                   '',

                   0,

                   V_SJC,

                   V_MAXSJC,

                   V_SYSDATE);          

            --truncate table目标表        

            DR_TRUN(V_PK, '1');          

          EXCEPTION

            WHEN OTHERS THEN            

              V_ERR := SUBSTRB(SQLERRM, 1, 200);

              DR_UP_SJC(V_PK, '2', SYSDATE, '2');

              DR_LOG(V_PK, '2', V_YSB, V_MBB, V_ERR, 0, '', '', V_SYSDATE);

          END;

        ELSE

          NULL;

        END IF;      

      ELSE

        DR_LOG(V_PK,

               '2',

               V_YSB,

               V_MBB,

               '输入命令可能不是ZL',

               0,

               '',

               '',

               V_SYSDATE);

      END IF;    

    EXCEPTION

      WHEN OTHERS THEN

        DR_UP_SJC(V_PK, '2', SYSDATE, '2');

    END;

  END;

防止过程在未完成时,其他应用调用其运行,导致表阻塞;

目录
相关文章
|
10月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10月前
|
存储 NoSQL 关系型数据库
实时计算 Flink版操作报错之抽取Oracle11g时,报错: "Retrieve schema history failed, the schema records for engine ... has been removed",怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
监控 Oracle 关系型数据库
Flink CDC 系列 - 实时抽取 Oracle 数据,排雷和调优实践
分享对 Oracle 的实时数据捕获以及性能调优过程中的一些关键细节。
Flink CDC 系列 - 实时抽取 Oracle 数据,排雷和调优实践
|
Oracle 关系型数据库 数据库
FlinkCdc抽取Oracle数据时问题求解
FlinkCdc抽取Oracle数据时问题求解
|
Oracle 关系型数据库
oracle 抽取 对方大字段数据
在建设zyk中,经常遇到大字段的数据。 1、建立和对方结构一致的临时表 create global temporary table sjzyk_clob_temp (id varchar2(10),clob_1 clob) on commit delete ...
920 0
|
5月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
385 64
|
3天前
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
3月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
188 11

热门文章

最新文章

推荐镜像

更多