(8.0.29)
パーティションレベル削除不可
(構文がない模様)
(19c)
drop table tab1 purge;
create table tab1
( col1 int primary key
, col2 int
, col3 int
, col4 int
)
partition by range (col2)
( partition p1 values less than (0)
, partition p2 values less than (maxvalue)
);
-- 1. ローカルパーティションインデックス
create index ind2 on tab1(col2) local;
-- 2. グローバルパーティションインデックス
create index ind3 on tab1(col3) global
partition by range (col3)
( partition p31 values less than (1)
, partition p32 values less than (maxvalue)
);
col INDEX_NAME for a15;
col PARTITION_NAME for a15;
select INDEX_NAME,PARTITIONED from user_indexes where table_name = 'TAB1';
select INDEX_NAME,PARTITION_NAME,HIGH_VALUE from user_ind_partitions where INDEX_NAME like 'IND_';
alter index ind2 drop partition p1;
→ ローカルパーティションインデックスはパーティションレベル削除不可
行1でエラーが発生しました。:
ORA-14076: 発行した索引パーティション/サブパーティションの変更操作は、LOCALパー ティション索引に対して無効です
alter index ind3 drop partition p31;
→ グローバルパーティションインデックスはパーティションレベル削除可能
(14)
create table tab1
( col1 int primary key
, col2 int
, col3 int
, col4 int
)
partition by range ( col1 )
;
create table tab1p1 partition of tab1 for values from (minvalue) to (0);
create table tab1p2 partition of tab1 for values from (0) to (maxvalue);
create index ind2 on tab1(col2);
\d+ tab1
\d+ tab1p1
\d+ tab1p2
drop index tab1p1_col2_idx;
→ パーティションレベル削除不可
ERROR: cannot drop index tab1p1_col2_idx because index ind2 requires it
HINT: You can drop index ind2 instead.
※継承を使用せずに、子テーブルに直接インデックスを作成した場合は削除可能
create index ind2p1 on tab1p1(col2);
create index ind2p2 on tab1p2(col2);
drop index ind2p1;
drop index ind2p2;
(2019)
パーティションレベル削除不可
(構文がない模様)