Partition-方案二:通过 Insert with a subquery 方法

方案二:通过 Insert with a subquery 方法 还是使用方案一中的普通大表WZ_REAL_DATA来进行实验。步骤如下: 1) 创建一个分区表: SQL>CREATE TABLE WZ_REAL_DATA_tmp (STIME DATE NOT NULL, PI_AI_POINT VARCHAR2(30) NOT NULL, FVALUE NUMB
摘要由CSDN通过智能技术生成

方案二:通过 Insert with a subquery 方法
还是使用方案一中的普通大表WZ_REAL_DATA来进行实验。此种方式需要应用。步骤如下:
1) 创建一个分区表:

SQL>CREATE TABLE WZ_REAL_DATA_tmp
   (STIME DATE NOT NULL,
    PI_AI_POINT VARCHAR2(30) NOT NULL,
    FVALUE NUMBER(16,4),
     CONSTRAINT PK_WZ_REAL_DATA2 PRIMARY KEY (STIME,PI_AI_POINT))
  partition by range (stime)
 (partition p1_2012 values less than (to_date('2013-01-01','yyyy-mm-dd')),
  partition p1_2013 values less than (to_date('2014-01-01','yyyy-mm-dd')),
  partition p1_2014 values less than (to_date('2015-01-01','yyyy-mm-dd')),
  partition p1_2015 values less than (to_date('2016-01-01','yyyy-mm-dd')),
  partition p_max values less than (maxvalue)) tablespace XDWZJS;

2) 将原来非分区表中的数据通过子查询 insert 到新创建的分区表中:

SQL>alter session enable parallel dml;
SQL>insert /*+APPEND PARALLEL*/ into WZ_REAL_DATA_tmp select * from WZ_REAL_DATA;

注意直接插入全部数据容易报undo表空间不足

ERROR at line 1:
ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'

改成分组提交:

SQL> insert into WZ_REAL_DATA_tmp select * from WZ_REAL_DATA where stime<to_date('2013-01-01','yyyy-mm-dd');
insert into WZ_REAL_DATA_tmp select * from WZ_REAL_DATA where stime<to_date('2013-01-01','yyyy-mm-dd')
            *
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 19 with name
"_SYSSMU19_4086232787$" too small

快照过旧了。。。。再分细一点:

SQL> conn xdwz/qizhengtao
Connected.
SQL> insert /*+APPEND PARALLEL*/ into WZ_REAL_DATA_tmp select * from WZ_REAL_DATA where stime<to_date('2012-06-01','yyyy-mm-dd'</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值