首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Oracle9i中更改索引更改表空间?

如何在Oracle9i中更改索引更改表空间?
EN

Stack Overflow用户
提问于 2012-05-02 09:17:10
回答 1查看 10.2K关注 0票数 2

我是Oracle DBMS的新手,我的任务是将Oracle中的索引表空间从MYDB_DATA_SPACE更改为MYDB_INDX_SPACE

我试着在谷歌上搜索可能的解决方案,找到了这样的SQL:

代码语言:javascript
复制
ALTER INDEX idx_city_state
REBUILD TABLESPACE sales_us;

我可以确认一下这是否有用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-02 11:34:26

是的,这将在sales_us表空间中重新构建idx_city_state索引。您可以编写一些动态SQL来重建所有索引

代码语言:javascript
复制
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;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10406517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档