业务介绍:

index_data_test一个有8亿行数据的表,有联合索引,其中有2014年(每天几百万,20150401日期字段)的数据(5亿行)和2015的数据(3亿行),下面是把2014年的数据备份到另外一个表里

以下是开发过程的主要流程:

v_flow:='1002';--备份物理网格数据

select count(1)
   into v_flagnum
   from index_data_test
  where acct_date >= v_day_begin
    and acct_date <= v_day_end;

--如果有需要备份的数据,才需要后续处理
if v_flagnum>0  then

begin
       execute immediate 'drop table index_data_test_tmp1';
exception when others then
  null;
end;  
--将需要备份的数据存入临时表
 v_flow:='100201';
execute immediate '
create table index_data_test_tmp1 nologging parallel 8 as
 SELECT /*+ parallel(c,8) */
       acct_date,
       province_code,
       eparchy_code,
       city_code,
       dgrid_id,
       pgrid_id,
       index_code,
       dvalue,
       ldvalue,
       mtotalvalue,
       lmdvalue
  from index_data_test
 where acct_date >='|| v_day_begin||' and  acct_date <='|| v_day_end   ;

begin
         execute immediate 'drop table index_data_test_tmp2';
  exception when others then
      null;
  end;  
  --备份最新数据 
   v_flow:='100202';
    execute immediate '
     create table index_data_test_tmp2 nologging parallel 8 as
     SELECT /*+ parallel(c,8) */
           acct_date,
           province_code,
           eparchy_code,
           city_code,
           dgrid_id,
           pgrid_id,
           index_code,
           dvalue,
           ldvalue,
           mtotalvalue,
           lmdvalue
      from index_data_test
     where acct_date > ' ||v_day_end ; 
    v_flow:='100202';
    --插入到备份表
     v_flow:='100203';
     execute immediate '
     INSERT INTO index_data_test_bak nologging
      SELECT /*+ parallel(a,8) */
        acct_date,
        province_code,
        eparchy_code,
        city_code,
        dgrid_id,
        pgrid_id,
        index_code,
        dvalue,
        ldvalue,
        mtotalvalue,
        lmdvalue
      FROM index_data_test_tmp1 a ';
     COMMIT;
  
    --删掉正式表
    execute immediate ' drop table index_data_test ';

--创建正式表
     v_flow:='100204';
     execute immediate '
     create table index_data_test nologging parallel 8 as
     SELECT /*+ parallel(c,8) */
           acct_date,
           province_code,
           eparchy_code,
           city_code,
           dgrid_id,
           pgrid_id,
           index_code,
           dvalue,
           ldvalue,
           mtotalvalue,
           lmdvalue
      from index_data_test_tmp2  ';
     
      --给正式表创建索引
      v_flow:='100205';
      execute immediate '
      create index PK_index_data_test_0655 on index_data_test (ACCT_DATE, PGRID_ID, INDEX_CODE)
      tablespace GRID_INDX_02
      pctfree 10
      initrans 2
      maxtrans 255
      storage
      (
        initial 64K
        next 1M
        minextents 1
        maxextents unlimited
      )';
 
      --删除临时表
       execute immediate 'drop table index_data_test_tmp1';
       execute immediate 'drop table index_data_test_tmp2';
 else
       --删除临时表
       execute immediate 'drop table index_data_test_tmp1';
 end if;

oracle对一个大表的备份相关推荐

  1. 给一个大表增加一个字段,带默认值

    转载自:http://www.itpub.net/forum.php?mod=viewthread&tid=1083259&highlight= 给一个大表增加一个字段,给怎样操作. ...

  2. 在MySQL中如何有效的删除一个大表?

    在MySQL中如何有效的删除一个大表? Oracle大表的删除: http://blog.itpub.net/26736162/viewspace-2141248/ 在DROP TABLE 过程中,所 ...

  3. MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题

    MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题 参考文章: (1)MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题 (2)https://www.cnblogs.com/lili ...

  4. 【Oracle批量更新】根据一个大表批量更新另一大表的方法比较

    转载自:http://blog.csdn.net/onemetre/article/details/6525348 [问题]现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表 ...

  5. excel将大表分解成小表,将小表合成一个大表

    1.将一个十几几万行的表分解成小表 请用微软的excel  不要用wps 用excel打开改文件,按alt+f11,选择你要分解的主表 界面如图: 输入下面的代码 Sub cfb() Dim r, c ...

  6. Mysql给一个大表加一列_MySQL 大表添加一列的实现

    问题参考自: https://www.zhihu.com/question/440231149 ,mysql中,一张表里有3亿数据,未分表,要求是在这个大表里添加一列数据.数据库不能停,并且还有增删改 ...

  7. oracle变更为大表分区表,叶摇 » Blog Archive » oracle把没有分区的普通大表改成分区表...

    oracle把没有分区的普通大表改成分区表 1.根据要改成分区的表的结构创建一张一样结构的表: create table PARA_CELL_W_HIS_EXCHANGE ( START_TIME D ...

  8. 备份oracle中的大表

    2019独角兽企业重金招聘Python工程师标准>>> 将原标进行rename操作:RENAME loganalysis to loganalysis_bak; 压缩备份表:alte ...

  9. 在oracle创建一个联系人表,Oracle EBS R12 客户表结构

    R12 客户表结构 客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS 例子: SELECT hp.party_number --客户注册标识 , hp ...

最新文章

  1. 使用UEFI模式安装win10中的格式化磁盘问题
  2. 登录mysql出现/var/lib/mysql/mysql.sock不存在
  3. 箭头标线的类型和面积
  4. Python报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte s
  5. Linux 进程(二) 进程地址空间
  6. platform(win32) 错误
  7. Nginx的应用之动静分离
  8. Element-UI-快速入门(极简教程)
  9. text 两端对齐 小程序_小程序实现文字两端对齐
  10. hadoop报错 java home_hadoop的常见报错日志以及解决方案
  11. ubuntu之anaconda之编辑器
  12. Android NDK升级17后编译提示找不到mips64el-linux-android-strip
  13. SEO专题之四:如何合理有效选定关键字
  14. Atitit.增强系统稳定性----虚拟内存的设置
  15. C语言学习资料----快速排序
  16. 98版五笔字型实用学习教程
  17. 免费机器视觉视频教程halcon-百度网盘
  18. html5的geolocation 定位误差大的解决办法
  19. DataSourceClosedException: dataSource already closed
  20. 计算机硬盘中病毒吗,硬盘中病毒能格式化吗

热门文章

  1. ros通过程序的方式发布导航的目标点
  2. 解决Jmeter5.2.1插件管理器Plugins Manager下载插件异常问题
  3. uniapp在hbuilder上真机运行iphone6的解决方案
  4. comodo多域名通配符ssl证书与comodo通配符证书、多域名证书对比
  5. 信息学奥赛一本通 1383:刻录光盘(cdrom) | 洛谷 P2835 刻录光盘
  6. 标题系统架构师和程序员到底差别在哪里
  7. 基于SSH2框架Struts2拦截器的登录验证实现 来自菠萝大象
  8. Airbnb个性化推荐
  9. 没出货和人气可能问题在直播流程上
  10. 如何开启 TCP Fast Open 功能