Oracle如何批量重建数据库索引

查询数据库索引的方法:

select * from user_indexes


由此我们可以查到该数据库下面的所有索引信息,然后批量生成sql重建语句。


sql的索引重建语句如下:

alter index PK_TF_T_SPV_TESTINDEX  rebuild;


        批量生成的方法是首先将查询的数据库index_name字段全部复制,然后粘贴到excle表格中,在index_name的前面加上alter index,后面加上 rebuild;即可。之后sql语句就可以执行了。


但是有时候程序会报错,出现以下错误信息:

Oracle如何批量重建数据库索引_第1张图片


这是由于含有$字符的索引无法被重建,所以说我们应该将其筛选出来,执行筛选的代码如下:

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


好了,经过这样,筛选出的索引都是可以被重建的,直接重复上面的操作即可。




你可能感兴趣的:(其它数据库)