步骤:
1.SQL>SELECT FILE_NAME FROM DBA_DATA_FILES;
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_USERS_4YFV39N0_.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_SYSAUX_4YFV39G5_.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_UNDOTBS1_4YFV39LK_.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_SYSTEM_4YFV39F5_.DBF
2.SQL> shutdown immediate
数据库已经关闭
数据库已经卸载
3.SQL> startup mount;
4.SQL> alter database archivelog;
数据库已经更改
5.SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_USERS_4YFV39N0_.
Dbf' offline;
数据库已经更改。
6.SQL> alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_USERS_4YFV39N0
_.DBF' to 'e:\oradata\user01.dbf';
alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_USERS_4YFV39N0_.DBF
*
第一行出现错误:
ORA-01511: 重命名日志/数据文件时出错
ORA-01141: 重命名日志/数据文件时出错,未找到指定新文件 'e:\oradata\user01.dbf'
ORA-01110: 数据文件4:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_USERS_4YFV39N0_.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的文件
方法:复制原文件到想要指向的位置,并改名成自己想要的名称user01.dbf。
7.SQL> /
数据库已经更改。
7.SQL> RECOVER DATAFILE 'E:\ORADATA\USER01.DBF';
ORA-00283: 恢复回话因错误而取消
ORA-00264: 不要求恢复
8.SQL> ALTER DATABASE DATAFILE 'E:\ORADATA\USER01.DBF' ONLINE;
数据库已经更改。
9.SQL> ALTER DATABASE OPEN;
数据库已经更改。
10.SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;
FILE_NAME
--------------------------------------------------------------------------------
E:\ORADATA\USER01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_SYSAUX_4YFV39G5_.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_UNDOTBS1_4YFV39LK_.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\DATAFILE\O1_MF_SYSTEM_4YFV39F5_.DBF
数据文件迁移成功完成。