问题描述:Oracle表空间所在的硬盘空间不足,需要将表空间迁移到空间较大的硬盘。
1、使用sys或者system用户使用sysdba权限登录oracle;
2、查询所有的表空间以及表空间所在地址;
select * from dba_data_files;
3、将需要迁移的表空间置为offline状态;
alter tablespace 表空间名称 offline;
例如:
alter tablespace TEST_SPACE offline;
4、将需要迁移的表空间文件复制到目标文件夹;
例如:
将C:\oracledata\TEST_SPACE.DBF文件拷贝到D:\oracledata\TEST_SPACE.DBF。
5、修改需要迁移的表空间指向地址;
alter tablespace 表空间名称 rename datafile '原地址' to '目标地址';
例如:
alter tablespace TEST_SPACE rename datafile 'C:\oracledata\TEST_SPACE.DBF' to 'D:\oracledata\TEST_SPACE.DBF';
6、将需要迁移的表空间置为online状态;
alter tablespace 表空间名称 online;
例如:
alter tablespace TEST_SPACE online;
7、可能出现的问题:
第6步如果出现错误:ora-01113 文件n 需要介质修复,在cmd窗口使用sys/system登录,使用recover datafile n;语句恢复。
例如:
ora-01113 文件10 需要介质修复,输入语句:recover datafile 10;