1. 程式人生 > >Oracle如何批量重建資料庫索引

Oracle如何批量重建資料庫索引

查詢資料庫索引的方法:

select * from user_indexes


由此我們可以查到該資料庫下面的所有索引資訊,然後批量生成sql重建語句。

sql的索引重建語句如下:

alter index PK_TF_T_SPV_TESTINDEX  rebuild;

批量生成的方法是首先將查詢的資料庫index_name欄位全部複製,然後貼上到excle表格中,在index_name的前面加上alter index,後面加上 rebuild;即可。之後sql語句就可以執行了。

但是有時候程式會報錯,出現以下錯誤資訊:


這是由於含有$字元的索引無法被重建,所以說我們應該將其篩選出來,執行篩選的程式碼如下:

select * from user_indexes where index_name not in(select index_name from user_indexes where index_name like '%$%')

好了,經過這樣,篩選出的索引都是可以被重建的,直接重複上面的操作即可。