oracle 扩展分区,Oracle 在线扩展分区
发布日期:2021-10-31 15:52:30 浏览次数:2 分类:技术文章

本文共 2388 字,大约阅读时间需要 7 分钟。

在对Oracle分区表操作是,当一个分区已经有了最大的分区,如何再次扩展分区呢?简单的方式是先删除最大分区,然后添加需要的分区

在对Oracle分区表操作是,当一个分区已经有了最大的分区,如何再次扩展分区呢?简单的方式是先删除最大分区,,然后添加需要的分区,再次建立最大分区,如果对于7*24小时的系统,可能不行。哪有什么办法呢?下面来做个试验:

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for 64-bit Windows: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL> drop table test purge;

SQL> create table test

(

id number,

record_date date

)partition by range(record_date)

(

partition p_2013 values less than(to_date('2013-01-01','yyyy-MM-dd')),

partition p_2014 values less than(to_date('2014-01-01','yyyy-MM-dd')),

partition p_max values less than (maxvalue)

);

SQL> insert into test values(1,to_date('2012-10-01','yyyy-MM-dd'));

SQL> insert into test values(2,to_date('2013-10-01','yyyy-MM-dd'));

SQL> insert into test values(3,to_date('2014-10-01','yyyy-MM-dd'));

SQL> commit;

SQL> select partition_name from user_tab_partitions

where table_name = 'TEST'

order by partition_position;

PARTITION_NAME

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

P_2013

P_2014

P_MAX

SQL> select * from test partition(p_2013);

ID RECORD_DATE

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

1 01-10月-12

SQL> select * from test partition(p_2014);

ID RECORD_DATE

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

2 01-10月-13

SQL> select * from test partition(p_max);

ID RECORD_DATE

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

3 01-10月-14

SQL> alter table test add partition p_2015 values

less than(to_date('2015-10-01','yyyy-MM-dd'));

alter table test add partition p_2015 values

*

第 1 行出现错误:

ORA-14074: 分区界限必须调整为高于最后一个分区界限

SQL> alter table test split partition p_max at (to_date('2015-01-01','yyyy-MM-dd'))

into (partition p_2015, partition p_max) update global indexes;

SQL> select partition_name from user_tab_partitions

where table_name = 'TEST'

order by partition_position;

PARTITION_NAME

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

P_2013

P_2014

P_2015

P_MAX

SQL> insert into test values(4,to_date('2015-10-01','yyyy-MM-dd'));

SQL> commit;

SQL> select * from test partition(p_2015);

ID RECORD_DATE

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

3 01-10月-14

SQL> select * from test partition(p_max);

ID RECORD_DATE

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

4 01-10月-15

浅谈Oracle分区表之范围分区

Oracle分区表迁移

Oracle分区表使用实例

Oracle分区表 (Partition Table) 的创建及管理

本文永久更新链接地址:

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

转载地址:https://blog.csdn.net/weixin_39987847/article/details/116414226 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:电力系统潮流计算matlab程序,大神们,求个电力系统潮流计算的matlab程序。
下一篇:新浪微博搜索php待遇,新浪微博面试

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月18日 16时06分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章