oracle分区加表空间,oracle 子分区与表空间对应关系

分区表和表空间的对应有两种方式:

1:所有的分区在一个表空间中

2:每一个分区对应一个表空间

因此在分区表中 整个大表成了一个逻辑性的概念。数据的存储是按分区来划分的。

所以在当表有了子分区表 ,一个分区当有子分区时,这个分区就成了逻辑性概念。数据的存储是按子分区划分的。

所以整个表所有的子分区对应一个表空间,也可以每一个子分区对应一个表空间。此时数据的存储划分是按子分区的条件进行划分的。 下面的例子是一个子分区对应一个表空间:

create tablespace tbs1 datafile '/u01/app/oracle/oradata/target/tbs1_1_1.dbf' size 10m;

create tablespace tbs2 datafile '/u01/app/oracle/oradata/target/tbs2_1_1.dbf' size 10m;

create table AGG_BILL_BY_CITY (

HOUR_ID INTEGER not null,

CITY_ID INTEGER not null,

MONTH_ID INTEGER,

CALL_TYPE_ID INTEGER not null,

DEAL_ID INTEGER not null,

OPERATOR_ID INTEGER not null,

FEE_TYPE_ID INTEGER not null,

ROAM_TYPE_ID INTEGER not null,

CALL_FEE NUMBER,

LONG_FEE NUMBER,

CALL_NUM INTEGER,

BILL_DURATION NUMBER,

CALL_DURATION NUMBER,

GPRS_IN NUMBER,

GPRS_OUT NUMBER,

LOAD_TIME DATE default sysdate,

SUM_NUM NUMBER

)

partition by range(HOUR_ID)

subpartition by

hash(CITY_ID, CALL_TYPE_ID, DEAL_ID, OPERATOR_ID, FEE_TYPE_ID, ROAM_TYPE_ID)

subpartitions 2 store in(TBS1,TBS2)

(

partition P2014010100 values less than(2014010300),

partition P2014010400 values less than(2014010500)

);

select table_name,partition_name,subpartition_name,tablespace_name

from user_tab_subpartitions;

TABLE_NAME                       PARTITION_NAME                      SUBPARTITION_NAME              TABLESPACE_NAME

------------------------------ ------------------------------ ------------------------------ ------------------------------

AGG_BILL_BY_CITY               P2014010400                      SYS_SUBP63                     TBS1

AGG_BILL_BY_CITY               P2014010100                      SYS_SUBP61                     TBS1

AGG_BILL_BY_CITY               P2014010400                      SYS_SUBP64                     TBS2

AGG_BILL_BY_CITY               P2014010100                      SYS_SUBP62                     TBS2

或者

create table AGG_BILL_BY_CITY1 (

HOUR_ID INTEGER not null,

CITY_ID INTEGER not null,

MONTH_ID INTEGER,

CALL_TYPE_ID INTEGER not null,

DEAL_ID INTEGER not null,

OPERATOR_ID INTEGER not null,

FEE_TYPE_ID INTEGER not null,

ROAM_TYPE_ID INTEGER not null,

CALL_FEE NUMBER,

LONG_FEE NUMBER,

CALL_NUM INTEGER,

BILL_DURATION NUMBER,

CALL_DURATION NUMBER,

GPRS_IN NUMBER,

GPRS_OUT NUMBER,

LOAD_TIME DATE default sysdate,

SUM_NUM NUMBER

)

partition by range(HOUR_ID)

subpartition by

hash(CITY_ID, CALL_TYPE_ID, DEAL_ID, OPERATOR_ID, FEE_TYPE_ID, ROAM_TYPE_ID)

(

partition P2014010100 values less than(2014010300) tablespace TBS1,

partition P2014010400 values less than(2014010500)  tablespace TBS2

);

TABLE_NAME                       PARTITION_NAME                      SUBPARTITION_NAME              TABLESPACE_NAME

------------------------------ ------------------------------ ------------------------------ ------------------------------

AGG_BILL_BY_CITY1               P2014010100                      SYS_SUBP65                     TBS1

AGG_BILL_BY_CITY1               P2014010400                      SYS_SUBP66                     TBS2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值