rman catalog损坏从rman备份集中提取数据文件
----------------------------
C:>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 1月 17 18:48:04 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: UTF (DBID=1000919928)
RMAN> backup as compressed backupset full database format 'd:\sosdbcom_
full_%U';
启动 backup 于 17-1月 -07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=274 devtype=DISK
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFSYSTEM01.DBF
输入数据文件 fno=00003 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFSYSAUX01.DBF
输入数据文件 fno=00002 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFUNDOTBS01.DBF
输入数据文件 fno=00004 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFUSERS01.DBF
输入数据文件 fno=00005 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFTEST.DBF
输入数据文件 fno=00006 name=E:\ORACLEPRODUCT10.2.0\ORADATA\UTFTEST1.DBF
通道 ORA_DISK_1: 正在启动段 1 于 17-1月 -07
通道 ORA_DISK_1: 已完成段 1 于 17-1月 -07
段句柄=d:\sosdbcom_full_1JI7OIMI_1_1 标记=TAG20070117T184953 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:55
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 17-1月 -07
通道 ORA_DISK_1: 已完成段 1 于 17-1月 -07
段句柄=d:\sosdbcom_full1KI7OIOA_1_1 标记=TAG20070117T184953 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:05
完成 backup 于 17-1月 -07
--========================================================
删除controlfile , datafile , redo
--========================================================
C:>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 1月 17 23:10:46 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect sys as sysdba
输入口令:
已连接。
SQL> DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'E:\oracleproduct10.
2.0\oradata\UTFControl02.ctl');
8 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'d:\sosdbcom_
full_1KI7OIOA_1_1', params=>null);
9 sys.dbms_backup_restore.deviceDeallocate;
10 END;
11 /
PL/SQL 过程已成功完成。
SQL> edit
已写入 file afiedt.buf
1 DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'E:\oracleproduct10.
2.0\oradata\UTFControl03.ctl');
8 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'d:\sosdbcom_
full_1KI7OIOA_1_1', params=>null);
9 sys.dbms_backup_restore.deviceDeallocate;
10* END;
SQL> /
PL/SQL 过程已成功完成。
SQL>
SQL> edit
已写入 file afiedt.buf
1 DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'E:\oracleproduct10.
2.0\oradata\UTFControl01.ctl');
8 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'d:\sosdbcom_
full_1KI7OIOA_1_1', params=>null);
9 sys.dbms_backup_restore.deviceDeallocate;
10* END;
SQL> /
PL/SQL 过程已成功完成。
SQL> alter database mount;
数据库已更改。
SQL> EDIT
已写入 file afiedt.buf
1* alter database mount
SQL> DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,toname=>'E:\ORACLEP
RODUCT10.2.0\ORADATA\UTFSYSTEM01.DBF');
8 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,toname=>'E:\ORACLEP
RODUCT10.2.0\ORADATA\UTFSYSAUX01.DBF');
9 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,toname=>'E:\ORACLEP
RODUCT10.2.0\ORADATA\UTFUNDOTBS01.DBF');
10 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,toname=>'E:\ORACLEP
RODUCT10.2.0\ORADATA\UTFUSERS01.DBF');
11 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,toname=>'E:\ORACLEP
RODUCT10.2.0\ORADATA\UTFTEST.DBF');
12 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,toname=>'E:ORACLEP
RODUCT10.2.0ORADATAUTFTEST1.DBF');
13 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'d:\sosdbcom_
full_1JI7OIMI_1_1', params=>null);
14 sys.dbms_backup_restore.deviceDeallocate;
15 END;
16 /
PL/SQL 过程已成功完成。
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
SQL> recover database using backup controlfile;
ORA-00279: 更改 1007563 (在 01/17/2007 18:49:54 生成) 对于线程 1 是必需的
ORA-00289: 建议:
E:\ORACLEPRODUCT10.2.0\FLASH_RECOVERY_AREA\UTFARCHIVELOG2007_01_17O1_MF_1_9
7_%U_.ARC
ORA-00280: 更改 1007563 (用于线程 1) 在序列 #97 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 1007563 (在 01/17/2007 18:49:54 生成) 对于线程 1 是必需的
ORA-00289: 建议:
E:\ORACLEPRODUCT10.2.0\FLASH_RECOVERY_AREA\UTFARCHIVELOG2007_01_17O1_MF_1_9
7_%U_.ARC
ORA-00280: 更改 1007563 (用于线程 1) 在序列 #97 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00308: 无法打开归档日志
'E:\ORACLEPRODUCT10.2.0\FLASH_RECOVERY_AREA\UTFARCHIVELOG2007_01_17O1_MF_1_
97_%U_.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
数据库已更改。
SQL>
/
[align=right][color=#000066][此贴子已经被作者于2007-7-20 13:22:48编辑过][/color][/align]
---------数据恢复 oracle数据库恢复专家 13352468096 QQ:9417901 网站:http://www.sosdb.com-----