这篇文章主要介绍“分析Oracle中表空间、表、索引的迁移”,在日常操作中,相信很多人在分析Oracle中表空间、表、索引的迁移问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析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;
到此,关于“分析Oracle中表空间、表、索引的迁移”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。