oracle table space,oracle生成table space和partition 的方法小结

/*第1步:创建临时表空间  */

create temporary tablespace user_temp

tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'

size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

/*第2步:创建数据表空间  */

create tablespace user_data

logging

datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'

size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

/*第3步:给用户授予权限  */

grant connect,resource,dba to username;

(如果需要创建新用户,并分配table space,

create user username identified by password

default tablespace user_data

temporary tablespace user_temp;

创建完用户再去授予权限。

)

/*create table,并将partition分配到table space  */

CREATE TABLE CUSTOMER(CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY,FIRST_NAME VARCHAR2(30) NOT NULL,LAST_NAME VARCHAR2(30) NOT NULL,PHONE VARCHAR2(15) NOT NULL,EMAIL VARCHAR2(80),STATUS CHAR(1))

PARTITION BY RANGE (CUSTOMER_ID)

(PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE user_data,PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE user_data2)

/*查询不同分区内容范例  */

select count(*) cn from CUSTOMER PARTITION (CUS_PART1)

/*ORACLE 11g 利用interval新特性自动生成分区partition方法*/

create table day_part (c1 number,c3 date)

partition by range(c3)interval(numtodsinterval (1,'day'))

(partition part1 values less than (to_date('2013-07-01','YYYY-MM-DD')),

partition part2 values less than (to_date('2013-07-02','YYYY-MM-DD')));

其中根据的插入的时间会自动生成并分配到不同的partition。

要注意的是,其只会分配07月的日期。

如果你insert进去2013-06-01,这个会被分配到一个default的partition中,例如以上语句的part1.

ps:

numtodsinterval (1,'day')表示的是一天。在oracle中 天,时的表示都是 numtodsinterval

而年,月的表示是 numtoyminterval如: numtoyminterval( 1, 'MONTH' )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值