DROP STORAGE是TRUNCATE TABLE语句的一个可选子句。当使用TRUNCATE TABLE ... DROP STORAGE时,Oracle会释放被截断表所占用的数据块(extent),除了保留第一个数据块之外。这意味着释放的空间可以被其他表或段(segment)使用。如果不使用DROP STORAGE子句(即默认行为),TRUNCATE操作仅删除表中
Oracle12c前,如果我们DROP或TRUNCATE了一个分区,将会导致全局索引失效,UPDATE_INDEXES子句会导致操作期间索引重建,使得整个操作变慢。下例中,我们TRUNCATE一个分区,然后查看索引状态。 -- Truncate一个分区 ALTER TABLE t1 TRUNCATE PARTITIONpart_2014 DROP STORAGE UPDATE INDEXES; 或 ALTER TABLE t1 DROP PARTITION pa...
alter table GLOBAL_INDEX_PRIMARYKEY truncate partition P1 ; -- 1.3 全局索引 --- 失效 UNUSABLE状态 select a.table_name ,a.index_name,a.status from user_indexes a where a.table_name = 'GLOBAL_INDEX_PRIMARYKEY'; GLOBAL_INDEX_PRIMARYKEY PK_GLOBAL_INDEX UNUSABLE GLOBAL_INDEX_PRIMARYKEY IDX_AR...
Oracle12c前,如果我们DROP或TRUNCATE了一个分区,将会导致全局索引失效,UPDATE_INDEXES子句会导致操作期间索引重建,使得整个操作变慢。下例中,我们TRUNCATE一个分区,然后查看索引状态。 -- Truncate一个分区 ALTER TABLE t1 TRUNCATE PARTITIONpart_2014 DROP STORAGE UPDATE INDEXES; 或 ALTER TABLE t1 DROP PARTITION pa...
-- TRUNCATE | -- SPILT | -- MOVE | -- EXCHANGE | 分区索引的常用维护命令: ALTER INDEX -- DROP -- PARTITION -- REBUILD | -- RENAME | -- MODIFITY | -- SPILT | -- PARALLEL -- UNUSABLE 1、ALTER TABLE DROP PARTITION 用于删除table中某个PARTITION和其中的数据,主要是用于历史数据的删除。
truncat:DDL语句,清除数据。该操作不可回滚,不可精确删除。一旦操作,那么不可找回。节省资源,但是该命令每次清除的基本单位为“段”,比如:table,partition,subpartition等,不能选择清除某些数据。drop:DDL语句,删除对象操作,上面的delete和truncate都是针对数据的,drop是针对数据的载体的,当然他...
TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。 例如: truncate table test1 DROP STORAGE; 三、查询分区表存在哪些分区: 查询分区表的情况,可以在USER_TAB_PARTITIONS中查询。例如: select 'alter table '||t.table_name ||' truncate partition ' || t.partition_name from USER_TAB...
TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。例如: truncate table test1 DROP STORAGE;三、查询分区表存在哪些分区:查询分区表的情况,可以在USER_TAB_PARTITIONS中查询。例如:select 'alter table '||t.table_name ||' truncate partition ' || t.partition_name from USER_...
TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。 例如:truncate tabletest1 DROP STORAGE; 三、查询分区表存在哪些分区: 查询分区表的情况,可以在USER_TAB_PARTITIONS中查询。例如: select 'alter table '||t.table_name ||' truncatepartition ' || t.partition_name from USER_TAB_PART...
TRUNCATE PARTITION WORKER3; 1. 2. 复制 7、合并分区 ALTER TABLE WORKER_202309 MERGE PARTITIONS WORKER2,WORKER3 INTO PARTITION WORKER3 ; 1. 2. 3. 复制 六、小结 使用Oracle这么久,第一次系统的了解Oracle的存储结构,Oracle -> 表空间 -> 段 -> 区 -> 逻辑数据块。