我的环境:
1 windows xp3
2 db:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
我在E:\oracle\product\10.2.0\oradata\test下把SYSTEM01.DBF剪切后粘贴到其他硬盘下:
这里我的操作:
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USER_DB_RECOVERY_FILE_DEST
最早的联机日志序列 39
下一个存档日志序列 41
当前日志序列 41
SQL> startup force mount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 360713092 bytes
Database Buffers 243269632 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> host copy E:\oracle\product\10.2.0\backup\backupuserman\SYSTEM01.DBF E:\oracle\product\10.2.0\oradata\test\SYSTEM01.DBF
已复制 1 个文件。
SQL> alter database rename file 'E:\oracle\product\10.2.0\backup\backupuserman\SYSTEM01.DBF' to 'E:\oracle\product\10.2.0\oradata\test\SYSTEM01.DBF';
alter database rename file 'E:\oracle\product\10.2.0\backup\backupuserman\SYSTEM01.DBF' to 'E:\oracle\product\10.2.0\oradata\test\SYSTEM01.DBF'
*
第 1 行出现错误:
ORA-01511: 重命名日志/数据文件时出错
ORA-01516: 不存在的日志文件, 数据文件或临时文件 "E:\oracle\product\10.2.0\backup\backupuserman\SYSTEM01.DBF"
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
之后重建控制文件了(NORESETLOGS)之后
SQL> select * from dual;
ADDR INDX INST_ID D
-------- ---------- ---------- -
0366CD54 0 1 X
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> select count(*) from user_objects;
select count(*) from user_objects
*
第 1 行出现错误:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 360713092 bytes
Database Buffers 243269632 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs
2 ;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> alter database open noresetlogs;
alter database open noresetlogs
*
第 1 行出现错误:
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
SQL> recover database using backup controlfile;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> recover datafile 1;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
SQL> recover database using backup controlfile;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> recover database using backup controlfile;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> recover database using backup controlfile until cancel;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
SQL> recover database using backup controlfile until cancel;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF'
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
------------------------------------------------------------------------------
数据文件状态:
STATUS FILE# NAME
------- ---------- -----------------------------------------------------
SYSTEM 1 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBFONLINE 2 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
ONLINE 3 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
ONLINE 4 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
ONLINE 5 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\EXAMPLE01.DBF
[本帖最后由 yyp2009 于 2011-6-12 15:01 编辑]