我是Oracle DBMS的新手,我的任务是将Oracle中的索引表空间从MYDB_DATA_SPACE更改为MYDB_INDX_SPACE。
我试着在谷歌上搜索可能的解决方案,找到了这样的SQL:
ALTER INDEX idx_city_state
REBUILD TABLESPACE sales_us;我可以确认一下这是否有用吗?
发布于 2012-05-02 11:34:26
是的,这将在sales_us表空间中重新构建idx_city_state索引。您可以编写一些动态SQL来重建所有索引
DECLARE
l_sql_stmt VARCHAR2(1000);
BEGIN
FOR i IN (SELECT owner,
index_name
FROM all_indexes
WHERE tablespace_name = 'MYDB_DATA_SPACE')
LOOP
l_sql_stmt := 'ALTER INDEX ' || i.owner || '.' || i.index_name ||
' REBUILD TABLESPACE MYDB_INDX_SPACE';
EXECUTE IMMEDIATE l_sql_stmt;
END LOOP;
END;https://stackoverflow.com/questions/10406517
复制相似问题