1、 手动拷贝要转移的数据数据文件'/oracledata/oradata/oss/qm.dbf'到新的位置'/home/oracle/oradata/oss/qm.dbf'
2、 把数据文件所属的表空间Offline,在SQLPLUS里运行如下命令:
sqlplus>alter tablespace QM offline;
-----如果/oracledata/oradata/oss/om.dbf文件已经损坏,报ORA-19502 & ORA-27072: File I/O error
可以执行下面操作
sqlplus>alter database datafile '/oracledata/oradata/oss/qm.dbf' offline drop;
sqlplus>alter tablespace QM offline;
3、 修改表空间文件路径alter database rename file '旧文件路径' to '新文件路径';
sqlplus>ALTER DATABASE RENAME FILE '/oracledata/oradata/oss/qm.dbf' to '/home/oracle/oradata/oss/qm.dbf';
4、 当执行重命名命令后,ORACLE会认为数据库文件损坏,提示:“需要恢复介质”,用下面的SQL关闭数据库的时候可能会提示你没有权限,可以先执行
---conn system/password as sysdba
sqlplus>shutdown immediate;--关闭数据库
sqlplus>startup mount; --以归档模式启动数据库,不打开数据库
sqlplus> recover datafile '/home/oracle/oradata/oss/qm.dbf'; --介质恢复
sqlplus>alter database open;
5、 把表空间Online,这样就可以了
sqlplus>alter tablespace QM online;
6) 查看数据文件和表空间及状态
sqlplus> select file_name,tablespace_name,status from dba_data_files;