ORA-14257: cannot move partition other than a Range or Hash partition
對於經常有delete,insert 的表來說,其對應索引應該經常重建,以減小索引的大小,提高資料庫的效能。
寫了一個sql:
SELECT 'alter index '||t.index_name||' rebuild partition '||t.partition_name||';'
FROM user_ind_partitions t WHERE t.index_name='IDX2_EVT_BAG_MAIL_RELA_SEA_T'
AND t.partition_name
將拼出來的sql執行對索引經常重建報:
ORA-14257: cannot move partition other than a Range or Hash partition
發現原來此表是前幾個月建的符合分割槽表,分割槽是按照range分割槽,子分割槽是hash分割槽。
因此這種寫法是有問題的,應該直接重建子分割槽,重新調整上面的sql:
SELECT 'alter index '||t.index_name||' rebuild subpartition '||t.subpartition_name||';'
FROM user_ind_subpartitions t WHERE t.index_name='IDX2_EVT_BAG_MAIL_RELA_SEA_T'
AND t.partition_name
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16612;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16613;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16614;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16615;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16616;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16617;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16618;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16619;
Index altered
SQL> alter index IDX2_EVT_BAG_MAIL_RELA_SEA_T rebuild subpartition SYS_SUBP16620;
重建成功!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12129601/viewspace-749785/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- B. Range and Partition
- 通過MOVE PARTITION來回收已經使用的空間
- Partition Pruning和Partition-Wise Joins
- Clique Partition
- oracle partition by group by,詳解partition by和group by對比Oracle
- 分割槽Partition
- 7.74 DATAOBJ_TO_PARTITIONOBJ
- 86. Partition List
- oracle partition by 語法Oracle
- Peace or partition? Cyprus - Espresso EconomistEspresso
- 7.73 DATAOBJ_TO_MAT_PARTITIONOBJ
- 3-Partition 問題
- Codeforces 1948E Clique Partition
- 分割槽partition知識點
- Partition|Disk Utility 如何分割磁碟
- ROWNUMBER() OVER( PARTITION BY COL1
- Spark學習——分割槽Partition數Spark
- [LeetCode] 416. Partition Equal Subset SumLeetCode
- Oracle Partition 分割槽詳細總結Oracle
- PostgreSQL DBA(94) - PG 12 Improving Partition(Select)SQL
- PostgreSQL DBA(93) - PG 12 Improving Partition(Insert)SQL
- 分割槽函式Partition By的基本用法函式
- Kafka分割槽分配策略(Partition Assignment Strategy)Kafka
- [ARC190B] L Partition 題解
- How to Add a New Disk new partition in centos7CentOS
- PostgreSQL DBA(95) - PG 12 Partition(out of shared memory)SQL
- TiDB 原始碼閱讀系列文章(二十)Table PartitionTiDB原始碼
- [20191203]enq: ZA - add std audit table partition.txtENQ
- Hadoop中java.lang.ClassCastException: partition解決方法HadoopJavaASTException
- 分割槽函式partition by的基本用法【轉載】函式
- MySQL 千萬級資料表 partition 實戰應用MySql
- Oracle查詢Interval partition分割槽表內資料Oracle
- QOJ #1280.Fibonacci Partition/Fibonacci性質大雜燴
- (二)《SQL進階教程》學習記錄--GROUP BY、PARTITION BYSQL
- ext4 lvreduce報錯superblock or the partition table is likely to be corruptVRBloC
- codeforce 686div3 F Array Partition單調棧
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- 使用parted建立大分割槽時 mkpart Warning: The resulting partition is not properly
- 從簡單的快速排序說起-Partition-ThreePartition-TopK排序TopK