instance和media损坏恢复(八) -不完全恢复

本文提供了一种当Oracle数据库表丢失或所有文件丢失时的恢复方案。包括使用备份文件恢复单个表、创建新的控制文件、使用备份控制文件恢复整个数据库等步骤。特别介绍了如何设置RMAN配置记录以及重建临时表空间。

1.当一张表被drop掉后,重新找回来

  1、拷贝备份文件到原目录

  2、startup mount

  3、SQL> recover database until time '2010-09-05 26:10:00';

  4、SQL> alter database open resetlogs;

  5、验证

 

2.当所有文件都丢失的情况下的不完全恢复

 1、从冷备份文件中拷贝到目录文件夹

 

 2、修改备份控制文件,按step2进行

    STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 'E:/ORACLE/UBACKUP/REDO01.LOG'  SIZE 50M,
  GROUP 2 'E:/ORACLE/UBACKUP/REDO02.LOG'  SIZE 50M,
  GROUP 3 'E:/ORACLE/UBACKUP/REDO03.LOG'  SIZE 50M
DATAFILE
  'E:/ORACLE/UBACKUP/SYSTEM01.DBF',
  'E:/ORACLE/UBACKUP/UNDOTBS01.DBF',
  'E:/ORACLE/UBACKUP/SYSAUX01.DBF',
  'E:/ORACLE/UBACKUP/USERS01.DBF',
  'E:/ORACLE/UBACKUP/EXAMPLE01.DBF',
  'E:/ORACLE/UBACKUP/TABS.DBF'
CHARACTER SET ZHS16GBK
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET');
-- Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK FORMAT   ''f:/''');

 

 3、执行修改后的备份控制文件,生成控制文件

   SQL> @E:/oracle/ubackup/c1.sql

 

4、恢复数据库

 SQL> recover database using backup controlfile until cancel;

 

5、按提示进行,如果提示文件存在归档日志里,则回车,如果没有输入"cancel" 终止恢复

 

6、重新打开数据库,并重置归档号

  SQL> alter database open resetlogs;

 

7、重建临时表空间

  SQL> alter tablespace temp add tempfile 'E:/oracle/ubackup/TEMP01.DBF'
  2  size 20M reuse autoextend on next 2M;

 

8、验证

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值