ITPub博客

首页 > 数据库 > Oracle > 表空间迁移

表空间迁移

原创 Oracle 作者:neverinit 时间:2017-07-15 11:35:13 0 删除 编辑
这里以schema为prod下的表为例子,进行表空间迁移的操作。
1.新建表空间(路径可选,大小和自拓展都可选,名字也可自选)
create tablespace prod_idx datafile '/data/prod/tablespace/PROD_IDX_001.dbf' size 1G AUTOEXTEND ON next 500M maxsize unlimited;
create tablespace prod_tab datafile '/data/prod/tablespace/PROD_TAB_001.dbf' size 1G AUTOEXTEND ON next 500M maxsize unlimited;
create tablespace prod_lob datafile '/data/prod/tablespace/PROD_LOB_001.dbf' size 1G AUTOEXTEND ON next 500M maxsize unlimited;
2.修改用户默认表空间
alter user prod default tablespace prod_tab;
3.拼接默认表空间迁移sql
select 'alter table prod.'|| TABLE_NAME || ' move tablespace prod_tab;' from dba_tables where owner='prod';
4.拼接索引表空间迁移sql
select 'alter index prod.'|| INDEX_NAME || ' rebuild tablespace prod_idx;' from dba_indexes where owner='prod';
5.拼接LOB表空间迁移sql
select 'alter table prod.'|| TABLE_NAME || ' move lob('|| COLUMN_NAME ||') store as (tablespace prod_lob);' from dba_lobs where owner='prod';
6.执行上述3,4,5三个步骤拼接的SQL,完成表空间迁移

最后,如果原表空间占用空间较大,可以对数据库PROD用户的原表空间(数据库默认表空间)进行表空间收缩操作。如果占用空间不大,也可不进行表空间收缩。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31394774/viewspace-2142095/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: OSW工具使用
请登录后发表评论 登录
全部评论
技术爱好者,自学Oracle并拿下OCM,参与某金融系统的需求、开发、测试、上线、运维全流程,在此学习技术,分享知识。微信公众号“IT技术佳肴”,有干货,有扯皮……

注册时间:2016-09-15

  • 博文量
    68
  • 访问量
    303708