本文共 1034 字,大约阅读时间需要 3 分钟。
问题描述:Oracle所在目录爆满,空间不足,打算将oracle迁移到同服务器的其他大目录;经查看发现表空间过大。
1、切换为oracle用户
# su - oracle
2、使用sys或者system用户使用sysdba权限登录oracle;
# sqlplus sysdba3、查询所有的表空间以及表空间所在地址;
# select * from dba_data_files; 4、将需要迁移的表空间置为offline状态; alter tablespace 表空间名 offline;# alter tablespace fraud_cs offline;
5、将需要迁移的表空间文件复制到目标文件夹;(以非oracle用户执行)
# cp /home/oracle/oradata/orcl/fraud_101.dbf /bd/oracle/oradata/orcl/fraud_101.dbf (建议cp,不要mv 最后数据库缺迁移正确后,再删除老文件。 后面上线步骤中可能出现介质修复的报错,重新进行这一步的复制即可。 )
6、修改需要迁移的表空间指向地址;alter tablespace 表空间名称 rename datafile '原地址' to '目标地址';
# alter tablespace fraud_cs rename datafile '/home/oracle/oradata/orcl/fraud_101.dbf' to '/bd/oracle/oradata/orcl/fraud_101.dbf';
7、将需要迁移的表空间置为online状态;alter tablespace 表空间名称 online;
# alter tablespace fraud_cs online; 该步中可能出现介质修复的报错,重新进行第5步的复制即可。
----------------------------------------------------------------------------------------------------------------------------------------------------------
检查oracle是否迁移完成,连接oracle,进行查询插入等操作。
!!!注意: 当某个表空间对应多个dbf文件时,需要将该表空间下所有dbf进行,进行5、6步。最后上线。
转载地址:http://poksi.baihongyu.com/