大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说oracle 表索引_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";
代码100分
2、oracle的数据表迁移
代码100分----查询旧表空间的数据表
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】下执行。
- 索引的表空间和数据表的表空间建议独立分开为两个不同的表空间,这样不会出现两者竞争资源的现场。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8452.html