1. 程式人生 > >重建主鍵索引為非壓縮索引

重建主鍵索引為非壓縮索引

自動 重建 組合分區 11.2 down add table 主鍵索引 不成功

重建主鍵索引為非壓縮索引

刪除約束的同時刪除該約束對應的索引

數據庫:Oracle 11.2.0.4
因為項目需要,需要將一個主鍵索引由壓縮索引改為非壓縮索引
這裏的index_name代表了主鍵名稱,也代表主鍵索引名稱,兩個同名

坑1

drop index index_name --這個不可以的原因是該分區表是組合分區表,分區和子分區

坑2

--這裏不成功的原因在於 alter table table_name drop constraint index_name;
--雖然創建逐漸的時候是using index自動創建的索引
--但是這個刪除還是只是刪除的主鍵約束,沒刪掉索引,所以索引還是舊的(壓縮索引)

--Create NOCOMPRESS index
alter table table_name drop constraint index_name;

-- Create/Recreate primary, unique and foreign key constraints 
alter table table_name
  add constraint index_name primary key (col1, col2, col2)
  using index 
  local
  NOCOMPRESS;--"註意這裏,改為非壓縮"
alter index index_name nologging;

成功

--只要將刪除語句改為alter table table_name drop primary key drop index;即可
--這裏顯式指定要刪除index

--Create NOCOMPRESS index
alter table table_name drop primary key drop index;--"註意這裏"

-- Create/Recreate primary, unique and foreign key constraints 
alter table table_name
  add constraint index primary key (col1, col2, col3)
  using index 
  local
  NOCOMPRESS;--"註意這裏,改為非壓縮"
alter index index_name nologging;

重建主鍵索引為非壓縮索引