+ -
当前位置:首页 → 问答吧 → oracle超量数据问题

oracle超量数据问题

时间:2011-10-21

来源:互联网

在oracle数据库中有张表的数据超过几十亿了,而且还以每天300万的数据在增长中。
如何在这张表的基础上面将表分成若干个分表。可以按照一个月一次的分。或者是5000W的分到一张表中?
能不能在下次表中的数据超过5000W后自动给分出去呢?请教?

作者: xuhaotian036   发布时间: 2011-10-21

分区!

作者: cosio   发布时间: 2011-10-21

怎么做?

作者: xuhaotian036   发布时间: 2011-10-21

SQL code

CREATE TABLE ORDER_ACTIVITIES 
( 
    ORDER_ID      NUMBER(7) NOT NULL, 
    ORDER_DATE    DATE, 
    TOTAL_AMOUNT NUMBER, 
    CUSTOTMER_ID NUMBER(7), 
    PAID           CHAR(1) 
) 
PARTITION BY RANGE (ORDER_DATE) 
( 
  PARTITION ORD_ACT_PART01 VALUES LESS THAN (TO_DATE('2011-10-01','YYYY-MM-DD')) TABLESPACEORD_TS01,
  PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('2011-11-01','YYYY-MM-DD')) TABLESPACE ORD_TS02, 
  PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('2011-12-01','YYYY-MM-DD')) TABLESPACE ORD_TS03 
)


对表进行时间分区,一个月一个区

作者: agshion   发布时间: 2011-10-21

以日期字段为分区键建分区表。再把原数据导进入即可。
另外几十亿的数据。。。。真庞大,以前的数据用不到的话建议存档起来。

作者: fmjwn   发布时间: 2011-10-21

肯定能啊,写一存储过程。。。

作者: yaozeng_cui   发布时间: 2011-10-21

引用 3 楼 agshion 的回复:

SQL code

CREATE TABLE ORDER_ACTIVITIES
(
ORDER_ID NUMBER(7) NOT NULL,
ORDER_DATE DATE,
TOTAL_AMOUNT NUMBER,
CUSTOTMER_ID NUMBER(7),
PAID CHAR(1)
)
PART……


您好 我将数据可给客户之后就不能进行任何的操作了 就是能不能建立成到一个月的数据后,自动建立一个分区表吗?
客户要求是数据库的数据保存的时间长需要进行历史查询啊

作者: xuhaotian036   发布时间: 2011-10-21

partition 吧

作者: ruihuahan   发布时间: 2011-10-21

数据每天都再新增当中,交付给客户之后我就不能在进行相应的操作了。

作者: xuhaotian036   发布时间: 2011-10-21

热门下载

更多