iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >oracle的数据表、索引从一个表空间迁移到另一个表空间
  • 720
分享到

oracle的数据表、索引从一个表空间迁移到另一个表空间

摘要

----查询索引 select * from user_objects t where t.object_type = "INDEX"; ----或查询索引 select * from user_indexes

oracle的数据表、索引从一个表空间迁移到另一个表空间

----查询索引
select * from user_objects t where t.object_type = "INDEX";
----或查询索引
select * from user_indexes t where t.table_owner="SNSRM";
----查询索引
select * from user_segments t where t.segment_type = "INDEX";

----将索引的表空间迁移到另一个表空间APPS_TS_TX_IDX
alter index COMPLaiNT_RLINE_ID_U_IND rebuild tablespace APPS_TS_TX_IDX;
----索引重新编译,不然会出现这类索引的分区处于不可用状态
alter index COMPLAINT_RLINE_ID_U_IND rebuild;

----批量生成索引迁移的sql脚本
select "alter index SNSRM."|| t.index_name ||" rebuild tablespace APPS_TS_TX_IDX;" from user_indexes t where t.table_owner="SNSRM";
----批量生成索引重新编译的SQL脚本
select "alter index SNSRM."|| t.index_name ||" rebuild;" from user_indexes t where t.table_owner="SNSRM";

oracle的数据表迁移

----查询旧表空间的数据表
select * from user_tables t where t.TABLESPACE_NAME="SNSRM_TS";
----将数据表迁移到新表空间
alter table ACT_EVT_LOG move tablespace APPS_TS_TX_DATA;
----移动LOB字段,数据表
ALTER TABLE 表名 MOVE LOB(lob列名) STORE AS (TABLESPACE 表空间名);

----批量生成数据表迁移到新表空间的SQL脚本
select "alter table SNSRM."|| t.TABLE_NAME ||" move tablespace APPS_TS_TX_DATA;" from user_tables t where t.TABLESPACE_NAME="SNSRM_TS";

将其生成的批量SQL脚本copy出来,放在【Command Window】窗口上【Editor】执行即可。后面索引批量重新编译。

注意:

  • SQL脚本放在【SQL Window】也是可以执行,不过效率很低,建议放在【Command Window】的【Editor】下执行。
  • 索引的表空间和数据表的表空间建议独立分开为两个不同的表空间,这样不会出现两者竞争资源的现场。

您可能感兴趣的文档:

--结束END--

本文标题: oracle的数据表、索引从一个表空间迁移到另一个表空间

本文链接: https://www.lsjlt.com/news/6092.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作