rman备份,未使用catalog,控制文件丢失的测试


RMAN> list backup;

正在使用目标数据库控制文件替代恢复目录

备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1       Full    154M       DISK        00:01:25     13-6月 -08
BP 关键字: 1   状态: AVAILABLE   标记:TAG20080613T142053
段名:D:\ORACLE\ORA92\RDBMS\BAK_657296453_5_1.BK
  备份集 1 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  2       Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\UNDOTBS01.DBF
  6       Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\ODM01.DBF
  7       Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\TOOLS01.DBF
  9       Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\XDB01.DBF
  10      Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\USED_TEST01.DBF
  14      Full 4388195    13-6月 -08 D:\ORACLE\JTV\DATA\PINGTAI01.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2       Full    186M       DISK        00:01:43     13-6月 -08
BP 关键字: 2   状态: AVAILABLE   标记:TAG20080613T142053
段名:D:\ORACLE\ORA92\RDBMS\BAK_657296455_6_1.BK
  备份集 2 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  5       Full 4388200    13-6月 -08 D:\ORACLE\JTV\DATA\INDX01.DBF
  8       Full 4388200    13-6月 -08 D:\ORACLE\JTV\DATA\USERS01.DBF
  11      Full 4388200    13-6月 -08 D:\ORACLE\JTV\DATA\PERFSTAT.DBA
  13      Full 4388200    13-6月 -08 D:\ORACLE\JTV\DATA\SYSTEM02.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3       Full    389M       DISK        00:02:37     13-6月 -08
BP 关键字: 3   状态: AVAILABLE   标记:TAG20080613T142053
段名:D:\ORACLE\ORA92\RDBMS\BAK_657296453_4_1.BK
  包含的 SPFILE: 修改时间: 13-6月 -08
  备份集 3 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 4388355    13-6月 -08 D:\ORACLE\JTV\DATA\SYSTEM01.DBF
  3       Full 4388355    13-6月 -08 D:\ORACLE\JTV\DATA\DRSYS01.DBF
  4       Full 4388355    13-6月 -08 D:\ORACLE\JTV\DATA\EXAMPLE01.DBF
  12      Full 4388355    13-6月 -08 D:\ORACLE\JTV\DATA\TST01.DBF

RMAN>

--

--restoreControlfile
DECLARE
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
 sys.dbms_backup_restore.restoreSetDatafile;
 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'d:\Control01.ctl');
 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\oracle\ora92\rdbms\BAK_657296453_4_1.BK', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
 END;
 /
--restoreDatafile
DECLARE
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');
 sys.dbms_backup_restore.restoreSetDatafile;
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,toname=>'D:\ORACLE\JTV\DATA\SYSTEM01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,toname=>'D:\ORACLE\JTV\DATA\EXAMPLE01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,toname=>'D:\ORACLE\JTV\DATA\DRSYS01.DBF');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>12,toname=>'D:\ORACLE\JTV\DATA\TST01.DBF');
 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\ORACLE\ORA92\RDBMS\BAK_657296453_4_1.BK', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
END;
--
DECLARE
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');
 sys.dbms_backup_restore.restoreSetDatafile;
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,toname=>'D:\ORACLE\JTV\DATA\INDX01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>08,toname=>'D:\ORACLE\JTV\DATA\USERS01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>11,toname=>'D:\ORACLE\JTV\DATA\PERFSTAT.DBA');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>13,toname=>'D:\ORACLE\JTV\DATA\SYSTEM02.DBF');
 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\ORACLE\ORA92\RDBMS\BAK_657296455_6_1.BK', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
END;
--
DECLARE
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');
 sys.dbms_backup_restore.restoreSetDatafile;
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,toname=>'D:\ORACLE\JTV\DATA\UNDOTBS01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,toname=>'D:\ORACLE\JTV\DATA\ODM01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>07,toname=>'D:\ORACLE\JTV\DATA\TOOLS01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>09,toname=>'D:\ORACLE\JTV\DATA\XDB01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>10,toname=>'D:\ORACLE\JTV\DATA\USED_TEST01.DBF');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>14,toname=>'D:\ORACLE\JTV\DATA\PINGTAI01.DBF');
 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\ORACLE\ORA92\RDBMS\BAK_657296453_5_1.BK', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
END;

--这个过程中遇到的问题

1、

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=>'d:\Control01.ctl');
  8   sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\oracle\o
ra92\rdbms\BAK_657296453_4_1.BK', params=>null);
  9   sys.dbms_backup_restore.deviceDeallocate;
 10   END;
 11  /
DECLARE
*
ERROR at line 1:
ORA-19568: a device is already allocated to this session
ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 140
ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 114
ORA-06512: at line 5

重新开个SQL/plus重新连接!

2、

SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR 位于第 1 行:
ORA-00279: 更改 4149519 (在 07/03/2003 12:05:03 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:\ORACLE\ORADATA\ARCHIVE\ARC00079.001
ORA-00280: 更改 4149519 对于线程 1 是按序列 # 79 进行的


SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR 位于第 1 行:
ORA-01153: 激活了不兼容的介质恢复

SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR 位于第 1 行:
ORA-00279: 更改 4149519 (在 07/03/2003 12:05:03 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:\ORACLE\ORADATA\ARCHIVE\ARC00079.001
ORA-00280: 更改 4149519 对于线程 1 是按序列 # 79 进行的


SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR 位于第 1 行:
ORA-01153: 激活了不兼容的介质恢复

SQL> startup mount
ORACLE instance started.

Total System Global Area   42833948 bytes
Fixed Size                    75804 bytes
Variable Size               9125888 bytes
Database Buffers           33554432 bytes
Redo Buffers                  77824 bytes
Database mounted.
SQL> alter database recover until cancel using backup controlfile;
alter database recover until cancel using backup controlfile
*
ERROR at line 1:
ORA-00279: change 41195150 generated at 07/10/2003 13:20:11 needed for thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\BILLY\ARCHIVE\BILLYT001S01393.ARC
ORA-00280: change 41195150 for thread 1 is in sequence #1393


SQL> recover database  using backup controlfile  until cancel;
ORA-00275: media recovery has already been started


SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.



SQL> startup mount
ORACLE instance started.

Total System Global Area   42833948 bytes
Fixed Size                    75804 bytes
Variable Size               9125888 bytes
Database Buffers           33554432 bytes
Redo Buffers                  77824 bytes
Database mounted.
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
         1          1       1393    1048576          1 NO  CURRENT               41194919 08-JUL-03
         2          1       1391    1048576          1 YES INACTIVE              41194795 08-JUL-03
         3          1       1392    1048576          1 YES INACTIVE              41194823 08-JUL-03

SQL> select * from v$logfile;

    GROUP# STATUS
---------- -------
MEMBER
----------------------------------------------------------------------------------------------------
         1
E:\ORACLE\ORADATA\BILLY\REDO01.LOG

         3
E:\ORACLE\ORADATA\BILLY\REDO03.LOG

         2
E:\ORACLE\ORADATA\BILLY\REDO02.LOG


SQL> recover database using backup controlfile until cancel;
ORA-00279: change 41195150 generated at 07/10/2003 13:20:11 needed for thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\BILLY\ARCHIVE\BILLYT001S01393.ARC
ORA-00280: change 41195150 for thread 1 is in sequence #1393


Specify log: {=suggested | filename | AUTO | CANCEL}
'E:\ORACLE\ORADATA\BILLY\REDO01.LOG'
Log applied.
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL>  alter database open resetlogs;

Database altered.

SQL>
http://www.itpub.net/140133.html

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8102208/viewspace-345707/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8102208/viewspace-345707/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值