oracle怎么删除分区 oracle怎么删除分区索引

ORACLE能不能一次删除或者清空多个分区

oracle是没有直接删除全部分区或多个分区的语句,但是可以变通方法

创新互联一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供成都做网站、网站建设、成都网页设计、微信小程序开发、成都网站开发、成都网站制作、成都软件开发、手机APP定制开发是成都本地专业的网站建设和网站设计公司,等你一起来见证!

方法一:先备份表,再删除表、重新创建表;

方法二:拼接

sql语句

,比如

SELECT

'ALTER

TABLE

LOG_INFO

DROP

PARTITION

'

||

PARTITION_NAME

||

';'

FROM

USER_TAB_PARTITIONS

WHERE

TABLE_NAME

=

'LOG_INFO';

可以列出删除所有分区的语句,全部执行即可。

Oracle创建分区表操作

1、创建语句

create table p(id number)

partition by range(id)

(partition p1 values less than(100) tablespace t1,

partition p2 values less than(200) tablespace t2,

partition p3 values less than(300) tablespace t3);

2、添加分区

alter table p add partition p4 values less than (400) tablespace t4;

3、清除分区数据

alter table p trunc partition p1;

4、删除分区

alter table p drop partition p1;

oracle 有全局索引怎么删除分区

ALTER

TABLE

DROP

PARTITION

用于删除table中某个PARTITION和其中的数据,主要是用于历史数据的删除。如果还想保留数据,就需要合并到另一个partition中。

删除该partition之后,如果再insert该partition范围内的值,要存放在更高的partition中。如果你删除了最大的partition,就会出错。

删除table

partition的同时,删除相应的local

index。即使该index是IU状态。

如果table上有global

index,且该partition不空,drop

partition会使所有的global

index

为IU状态。如果不想REBUIL

INDEX,可以用SQL语句手工删除数据,然后再DROP

PARTITION.

例子:

ALTR

ATBEL

sales

DROP

PARTITION

dec96;

到底是DROP

PARTITION或者是DELETE?

如果GLOBAL

INDEX是最重要的,就应该先DELETE

数据再DROP

PARTITION。

在下面情况下,手工删除数据的代价比DROP

PARTITION要小

-

如果要删除的数据只占整个TABLE的小部分

-

在TABLE中有很多的GLOBAL

INDEX。

在下面情况下,手工删除数据的代价比DROP

PARTITION要大

-

如果要删除的数据占整个TABLE的绝大部分

-

在TABLE中没有很多的GLOBAL

INDEX。

如果在TABLE是父TABLE,有被引用的约束,且PARTITION不空,DROP

PARTITION时出错。

如果要删除有数据的PARTITION,应该先删除引用约束。或者先DELETE,然后再DROP

PARTITION。

如果TABLE只有一个PARTITON,不能DROP

PARTITION,只能DROP

TABLE。


网站标题:oracle怎么删除分区 oracle怎么删除分区索引
文章分享:http://azwzsj.com/article/hejgho.html