Oracle中表空间、表、索引的迁移

在Oracle数据库运行过程中,由于磁盘存储限制或者前期规划不充分,后期需要对表空间数据文件进行物理迁移或者数据库表及索引进行逻辑存储迁移,此次记录一下相关迁移方法。

一、对表空间进行迁移(更改存放路径):

1.将修改的表空间进行offline:

alter tablespace users offline;

2,将表空间拷贝到要存放的位置:

cp /u01/app/oracle/oradata/ORCL/user01.dbf  /data/app/oracle/oradata/ORCL/user01.dbf

3,进入数据库中修改表空间的存储路径:

alter tablespace users rename datafile '/u01/app/oracle/oradata/ORCL/user01.dbf' to '/data/app/oracle/oradata/ORCL/user01.dbf';

(原来的路径修改为现在的存放路径)

4,将表空间进行online;

alter tablespace users online;
二、对表的存放路径进行修改:

将emp表从users表空间移动到tmp表空间中去:

alter table emp move tablespace tmp;

(emp表的数据和表结构会一起移动到tmp表空间下)
将表空间users中的所有表移动到tmp表空间下:

select 'table name '||table_name||' move tablespace tmp;' from user_tables where tablespace_name='USERS';

输出的结果为脚本形式,批量执行即可。

PS: 表移动后,所有涉及的索引会失效,需要将索引进行重建。

三、对表的索引进行表空间的移动操作:

将索引ind_emp移动到索引表空间tmp_ind中:

alter index ind_emp rebuild tablespace tmp_ind;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Major_ZYH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值