ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库恢复方案

数据库恢复方案

原创 Linux操作系统 作者:caleble 时间:2009-06-05 16:00:47 0 删除 编辑

 

 

 

 

 

数据库恢复方案

 

 

 

 

 

 

 

 

文档控制

l       文档变更记录

 

日期

版本号

作者

备注

2009-6-5

v1.0

Caleble

创建

 

 

 

 

 

 

 

 

 

 

 

 

 


目录

数据库恢复方案... 1

文档控制... 1

一、相关概念... 3

1,恢复的两个阶段... 3

2,Oracle实例启动的三个阶段... 3

3,RMAN信息的保存位置... 3

二、       完全恢复... 3

(一)       控制文件... 3

1)       丢失部分控制文件:... 3

2)       丢失全部控制文件... 3

(二)       重做日志文件... 4

1)       非当前使用的重做日志文件:... 4

2)       当前使用的重做日志文件(未归档):... 4

(三)       数据文件... 4

1)       无归档模式下的完全恢复... 4

2)       归档模式下的完全恢复... 5

三、       不完全恢复... 6

(一)       基于SCN的不完全恢复... 6

1)       准备工作... 6

2)    使用RMAN进行恢复... 7

(二)       基于时间点的不完全恢复... 8

1)       准备工作... 8

2)    使用RMAN进行恢复... 8

四、       高级篇... 9

(一)       使用RMAN进行异机同目录... 9

1)       准备工作... 9

2)       通过RMAN进行异机恢复... 10

(二)使用RMAN进行异机异目录... 11

1)       准备工作... 11

2)       通过RMAN进行异机恢复... 11

(三)使用RMAN进行在线数据块恢复... 14


一、相关概念

1,恢复的两个阶段

数据库无论采取哪种方式进行恢复都分为RestoreRecover两个步骤。

Restore(还原):把控制文件、重做日志文件和数据文件还原到正确位置。

Recover(恢复):恢复还原后的数据文件,使数据库达到一致状态。

 

2Oracle实例启动的三个阶段

Oracle实例启动经过三个阶段:

l         NOMOUNT(未装载):读入参数文件,验证参数文件中的目录是否存在。

l         MOUNT(装载):读入参数文件指定位置的控制文件。

l         OPEN(打开):验证控制文件中指定的重做日志文件和数据文件是否正确、数据文件是否一致,然后读入数据文件中的数据。

   

所以按照如下顺序使数据库正确打开。

1)       SHUTDOWN(关闭)状态下,确保参数文件指定的文件夹存在,启动到NOMMUNT状态。

2)       NOMOUNT状态下,保证控制文件的位置和命名与参数文件中相同,控制文件中指定的重做日志文件和数据文件存在,然后启动到MOUNT状态。

3)       MOUNT状态下,执行RMAN 还原和恢复操作。

4)       OPEN状态下,读入数据文件和重做日志文件。

我们要保证Oracle在各个阶段读入的文件和目录指向正确的路径。

如果更改了某个文件的位置,要把其相应的参数文件和控制文件中的信息要一同更新。

 

3RMAN信息的保存位置

NOCATALOG(非恢复目录)模式时,RMAN把备份文件的辅助信息保存在控制文件中。

CATALOG(恢复目录)模式时,RMAN把备份文件的辅助信息保存在一个数据库中。

 

 

下面将通过若干实验来总结Oracle的各种崩溃情况下的恢复。

 

二、        完全恢复

(一)            控制文件

丢失控制文件只需要执行“还原”步骤。

1)       丢失部分控制文件:

1,  关闭数据库

2,  手动复制剩余控制文件并改名成丢失的控制文件名

3,  启动数据库

数据库中所有控制文件是完全相同的,使用DBCA创建数据库会默认产生三个控制文件,建议多路复用控制文件(把多个控制文件放到不同磁盘上),保证数据库的可用性。

2)       丢失全部控制文件

1,  关闭数据库

2,  启动数据库到NOMOUNT状态

3,  重建控制文件

4,  启动数据库

 

重建控制文件有以下两种方法:

1,找到警告日志,根据其信息创建控制文件。警告日志位于bdump文件夹中,命名为 alert_{oracle_sid}.log,启动失败等信息也可以在这里找到。

2,找到跟踪文件,根据其SQL语句重建控制文件。跟踪文件位于udump文件夹下,使用下述命令备份控制文件到跟踪文件。

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

 

(二)            重做日志文件

丢失非当前状态的重做日志文件需要执行“还原”步骤,丢失当前状态的重做日志文件需要“恢复”步骤。

重做日志文件按状态分为当前、非当前、已归档和未归档四种,需要用不同的命令来打开数据库。

1)       非当前使用的重做日志文件:

1,已归档:

SQL> ALTER DATABASE CLEAR LOGFILE GROUP #;

2,未归档:

SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #;

 

2)       当前使用的重做日志文件(未归档):

SQL> ALTER DATABASE MOUNT;

SQL> RECOVER DATABASE UNTIL CANCEL;

SQL> ALTER DATABASE OPEN RESETLOGS;

 

如果清除了未归档的重做日志文件(当前使用的重做日志文件为未归档),会丢失这个重做日志文件包含的信息,导致日后恢复时无法完全恢复,所以清除未归档的重做日志文件后要立刻全备份数据库。

 

(三)            数据文件

1)       无归档模式下的完全恢复

无归档模式一般采用exp导出或者手工冷备份方式进行备份恢复。

手工冷备份方式:

1,创建表

SQL>  create table tb(a integer,b integer);

表已创建。

2,插入数据

SQL> insert into tb(a,b) values(1,1);

已创建 1 行。

SQL> insert into tb(a,b) values (2,2);

已创建 1 行。

SQL> commit;

提交完成。

3,关闭数据库,手工删除数据文件模拟数据文件损坏

        SQL> shutdown immediate;

        4,打开数据库

        SQL> startup open;

ORACLE 例程已经启动。

Total System Global Area  167772160 bytes

Fixed Size                  1247900 bytes

Variable Size              62915940 bytes

Database Buffers          100663296 bytes

Redo Buffers                2945024 bytes

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 4: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'

5,手工还原数据文件,打开数据库

SQL> alter database open;

6,查询数据

SQL> select * from tb;

         A          B

---------- ----------

         1          1

         2          2

 

数据库恢复完成,数据没有丢失。

 

2)       归档模式下的完全恢复

归档模式下可采用RMAN备份,手工备份与exp导出方式进行备份,推荐使用RMAN方式进行安全可靠的备份。

RMAN方式:

丢失数据文件需要先“还原”,再“恢复”数据文件到一致状态。

1,查看test表中数据

SQL> select * from tb;

         A          B

---------- ----------

         1          1

         2          2

 

2,备份数据库

RMAN TARGET/

RMAN> BACKUP DATABASE;

3,插入数据,切换日志文件

SQL> insert into tb(a,b) values(3,3);

已创建 1 行。

SQL> insert into tb(a,b) values(4,4);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

4,关闭数据库,手动删除USERS01.DBF

SQL> SHUTDOWN IMMEDIATE;

5,启动数据库到MOUNT状态

SQL> STARTUP MOUNT:

6,  还原该数据文件

RMAN> RESTORE DATAFILE 4;

7,  恢复该数据文件

RMAN> RECOVER DATABASE;

8,  打开数据库

RMAN> ALTER DATABASE OPEN;

数据库已更改。

9,  查看数据是否丢失

SQL> select * from tb;

         A          B

---------- ----------

         1          1

         2          2

         3          3

         4          4

 

数据库恢复完成,数据没有丢失。

 

 

三、        不完全恢复

(一)            基于SCN的不完全恢复

1)       准备工作

1,备份数据库

rman target/

RMAN> backup database;

2,创建表

SQL> create table tb(a integer);

表已创建。

3,插入数据

SQL> insert into tb(a) values(1);

已创建 1 行。

SQL> insert into tb(a) values(2);

已创建 1 行。

SQL> commit;

提交完成。

       4,查看数据

SQL> select * from tb;

         A

----------

                1

                2

       5,取得当前的SCN

SQL> select dbms_flashback.get_system_change_number() from dual;

DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()

-----------------------------------------

                                          597565

       6,切换日志

SQL> alter system switch logfile;

系统已更改。

7,继续插入数据

SQL>  insert into tb(a) values(3);      

已创建 1 行。

SQL>  insert into tb(a) values(4);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

       8,查看数据

SQL> select * from tb;

         A

----------

         1

         2

         3

         4

 

此时完成准备工作,当前数据为1234,需恢复到数据为12SCN597565的状态。

 

2)        使用RMAN进行恢复

1,关闭数据库、启动到MOUNT状态

SQL> shutdown immediate;;

SQL> startup mount;

2,连接到RMAN

Rman target /

3,还原整个数据库

RMAN> restore database;

4,恢复数据库到数据为12SCN597565的状态

RMAN> recover database until scn 597565;

       5,通过resetlogs打开数据库

SQL> alter database open resetlogs;

       6,查询数据

SQL> select * from tb;

         A

----------

         1

         2

至此,基于SCN的不完全恢复已经完成,数据成功恢复到该SCN所在状态。

 

(二)            基于时间点的不完全恢复

1)       准备工作

1,查询数据

SQL> select * from tb;

         A

----------

         1

         2

         3

         4

2,备份数据库

RMAN> backup database;

       3,查看当前时间

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

-------------------

2009-06-04 22:46:35

       4,插入数据

SQL> insert into tb(a) values(5);

已创建 1 行。

SQL> insert into tb(a) values(6);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

 

此时完成准备工作,当前数据为123456,需恢复到数据为1234、时间为2009-06-04 22:46:35的状态。

 

2)        使用RMAN进行恢复

       1,关闭数据库、启动到MOUNT状态

SQL> shutdown immediate;

SQL> startup mount;

       2,还原数据库

RMAN> restore database;

3,恢复数据库到2009-06-04 22:46:35

RMAN> RMAN> recover database until time "to_date('2009-06-04 22:46:35','yyyy-mm-dd hh24:mi:ss')";

       4,查询数据

SQL> select * from tb;

         A

----------

         1

         2

         3

                4

 

至此,基于SCN的不完全恢复已经完成,数据成功恢复到该时间所在状态。

 

 

四、        高级篇

(一)            使用RMAN进行异机同目录恢复

1)       准备工作

1,创建表

SQL> create table test(a int);

表已创建。

2,插入数据

SQL> insert into test(a) values(1);

已创建 1 行。

SQL> insert into test(a) values(2);

已创建 1 行。

SQL> commit;

3,配置RMAN

自动备份控制文件和参数文件

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

设定自动备份控制文件和参数文件的位置:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘D:/ORACLE/BACKUP/%F’;

设定默认保存备份文件的路径:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'D:/ORACLE/BACKUP/%U'

配置RMAN使用压缩备份集:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

4,通过RMAN进行备份

RMAN> BACKUP DATABASE;

5,拷贝备份文件到异机相同目录

这里在本机模拟,通过DBCA删除数据库,并删除所有相关目录。

 

2)       通过RMAN进行异机恢复

1,  创建oracle实例

命令行模式输入oradim – new – sid orclorcl是之前数据库的sid

2,  设定oracle_sid变量

命令行模式输入set oracle_sid=orcl;

3,  使用RMAN连接数据库

命令行模式输入RMAN TARGET/

4,  设定DBID

DBIDRMAN确定某个实例的唯一标志,可以通过以下两个方法确定:

l         通过RMAN连接到目标数据库时显示

l         控制文件和参数文件的备份集文件名中可以找到

这里备份文件名为C-1214105935-20090508-011214105935就是之前数据库实例的DBID

RMAN> SET DBID 1214105935;

5,  启动数据库到nomount状态

RMAN> STARTUP NOMOUNT;

6,  从备份集中恢复spfile

由于RMAN的信息是保存在控制文件中,我们当前没有控制文件,所以需要手动指定备份集

RMAN> RESTORE SPFILE TO PFILE ‘D:\ORACLE\BACKUP\PFILE.ORA’ FROM ‘D:\ORACLE\BACKUP\C-1214105935-20090508-01’

7,  检查还原的PFILE,创建相应目录

8,  通过创建的PFILE启动数据库

RMAN> STARTUP NOMOUNT FORCE PFILE=’D:\ORACLE\BACKUP\PFILE.ORA’

9,  恢复控制文件

RMAN> RESTORE CONTROLFILE FROM ‘D:\ORACLE\BACKUP\C-1214105935-20090508-01’

10,启动到MOUNT状态

RMAN> ALTER DATABASE MOUNT:

11, 还原数据库

由于我们已经还原了控制文件,RMAN已经能够通过控制文件找到备份集,所以不用指定备份集了。

RMAN> RESTORE DATABASE;

12,恢复数据库

RMAN> RECOVER DATABASE:

出错不用管,继续到第13步打开数据库。

13,打开数据库

RMAN> ALTER DATABASE OPEN RESETLOGS;

14,查看数据是否恢复

SQL> select * from test;

         A

----------

         1

         2

 

15,创建SPFILE,这样就不用每次启动时指定pfile了。

SQL> CREATE SPFILE FROM PFILE=’ D:\ORACLE\BACKUP\PFILE.ORA’

 

至此,异机恢复已经全部完成。

 

注意:

l         保证PFILE和控制文件中的目录正确存在

l         RMAN备份信息保存在控制文件中,所以在控制文件被恢复前要指定DBID和恢复文件的位置。

 

 

(二)使用RMAN进行异机异目录恢复

1)       准备工作

1,创建表

SQL> create table test(a int);

表已创建。

2,插入数据

SQL> insert into test(a) values(1);

已创建 1 行。

SQL> insert into test(a) values(2);

已创建 1 行。

SQL> commit;

提交完成。

3,配置RMAN

自动备份控制文件和参数文件

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

设定自动备份控制文件和参数文件的位置:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘D:/ORACLE/BACKUP/%F’;

设定默认保存备份文件的路径:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'D:/ORACLE/BACKUP/%U'

配置RMAN使用压缩备份集:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

4,通过RMAN进行备份

    RMAN> BACKUP DATABASE;

5,拷贝备份文件到异机异目录

这里在本机模拟,通过DBCA删除数据库,并删除所有相关目录。

 

2)       通过RMAN进行异机恢复

1,  创建oracle实例

命令行模式输入oradim – new – sid orclorcl是之前数据库的sid

2,  设定oracle_sid变量

命令行模式输入set oracle_sid=orcl;

3,  使用RMAN连接数据库

命令行模式输入RMAN TARGET/

4,  设定DBID

DBIDRMAN确定某个实例的唯一标志,可以通过以下两个方法确定:

l         通过RMAN连接到目标数据库时显示

l         控制文件和参数文件的备份集文件名中可以找到

这里备份文件名为C-1214105935-20090508-011214105935就是之前数据库实例的DBID

RMAN> SET DBID 1207393283;

5,  启动数据库到nomount状态

RMAN> STARTUP NOMOUNT;

6,  从备份集中恢复spfile

由于RMAN的信息是保存在控制文件中,我们当前没有控制文件,所以需要手动指定备份集

RMAN> RESTORE SPFILE TO PFILE ‘D:\RECOVERYDB\PFILE.ORA'  FROM 'D:\ORACLE\BACKUP\C-1207393283-20090510-01’

7,  修改生成的PFILE.ORA目录后启动数据库到nomount状态

RMAN> startup nomount force pfile='D:\recoverydb\pfile.ora'

8,  恢复控制文件

RMAN>RESTORE CONTROLFILE FROM 'D:\ORACLE\BACKUP\C-1207393283-20090510-01'

启动 restore 10-5 -09

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在复原控制文件

通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03

输出文件名=D:\RECOVERYDB\ORADATA\ORCL\CONTROL01.CTL

输出文件名=D:\RECOVERYDB\ORADATA\ORCL\CONTROL02.CTL

输出文件名=D:\RECOVERYDB\ORADATA\ORCL\CONTROL03.CTL

完成 restore 10-5 -09

    9,启动数据库到MOUNT状态,找到当前控制文件中数据文件的路径

RMAN> ALTER DATABASE MOUNT;

SQL> select file#,name from v$datafile;

10,指定数据文件的新路径和备份集的位置,还原数据文件
SQL>

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:\recoveryDB\oradata\orcl\system01.dbf');

sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,toname=>'d:\recoveryDB\oradata\orcl\undotbs01.dbf');

sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,toname=>'d:\recoveryDB\oradata\orcl\sysaux01.dbf');

sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,toname=>'d:\recoveryDB\oradata\orcl\users01.dbf');

sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,toname=>'d:\recoveryDB\oradata\orcl\example01.dbf');

sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'d:\oracle\backup\1FKEMC7E_1_1', params=>null);

sys.dbms_backup_restore.deviceDeallocate;

END;

/

11,重建控制文件

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

D:\recoveryDB\admin\orcl\udump中找到生成的跟踪文件

复制并修改生成的两个重建控制文件SQL语句的后一个

关闭数据库并启动到nomount状态

SQL> SHUTDOWN IMMEDIATE;

SQL> startup nomount pfile='d:\recoveryDB\pfile.ora';

使用更改后的SQL语句重建控制文件

SQL>

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 'D:\recoveryDB\ORADATA\ORCL\REDO01.LOG'  SIZE 50M,

  GROUP 2 'D:\recoveryDB\ORADATA\ORCL\REDO02.LOG'  SIZE 50M,

  GROUP 3 'D:\recoveryDB\ORADATA\ORCL\REDO03.LOG'  SIZE 50M

-- STANDBY LOGFILE

DATAFILE

  'D:\recoveryDB\ORADATA\ORCL\SYSTEM01.DBF',

  'D:\recoveryDB\ORADATA\ORCL\UNDOTBS01.DBF',

  'D:\recoveryDB\ORADATA\ORCL\SYSAUX01.DBF',

  'D:\recoveryDB\ORADATA\ORCL\USERS01.DBF',

  'D:\recoveryDB\ORADATA\ORCL\EXAMPLE01.DBF'

CHARACTER SET ZHS16GBK;

    12,还原数据库

SQL> recover database using backup controlfile until cancel;

输入Cancel

13,用resetlogs方式打开数据库

SQL> alter database open resetlogs;

    14,查看数据是否恢复

SQL> select * from test;

         A

----------

         1

         2

15,修改临时表空间的大小,因为RMAN不备份临时表空间。

 

16,创建SPFILE,这样就不用每次启动时指定pfile了。

SQL> create spfile from pfile=’d:\recoveryDB\pfile.ora’

 

17,如需恢复EM,可通过以下方法:

1)       删除原资料库
emca -deconfig all db -repos drop

2)       建立资料库
emca -config dbcontrol db -repos create

 

18,环境变量中设定oracle

 

至此,数据库已经恢复完成。

 

      

(三)使用RMAN进行在线数据块恢复

    1,取消自动扩展

SQL> alter database datafile 4 autoextend off

2,插入数据,重复执行直到无法插入

SQL> insert into tb select * from tb

3,关闭数据库

SQL> shutdown immediate;

4,使用UltraEdit打开USERS01.DBF,修改几个数据块。

5,打开数据库

SQL> startup open;

6,通过count值对tb表进行全表扫描

SQL> select count(*) from caleb.tb;

select count(*) from caleb.tb

1 行出现错误:

ORA-01578: ORACLE 数据块损坏 (文件号 4, 块号 313)

ORA-01110: 数据文件 4: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'

7,使用Oracle提供工具dbverify来验证数据文件

C:\Documents and Settings\Caleb>dbv

 file=D:\oracle\product\10.2.0\oradata\orcl\sers01.dbf

 

DBVERIFY: Release 10.2.0.4.0 - Production on 星期五 6 5 14:41:36 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

DBVERIFY - 开始验证: FILE = D:\oracle\product\10.2.0\oradata\orcl\users01.dbf

313 标记为损坏

Corrupt block relative dba: 0x01000139 (file 4, block 313)

Bad check value found during dbv:

Data in bad block:

 type: 6 format: 2 rdba: 0x01000139

 last change scn: 0x0000.0009575a seq: 0x1 flg: 0x06

 spare1: 0x0 spare2: 0x0 spare3: 0x0

 consistency value in tail: 0x575a0601

 check value in block header: 0xa4e5

 computed block checksum: 0x200

 

DBVERIFY - 验证完成

 

检查的页总数: 640

处理的页总数 (数据): 389

失败的页总数 (数据): 0

处理的页总数 (索引): 2

失败的页总数 (索引): 0

处理的页总数 (其它): 234

处理的总页数 ()  : 0

失败的总页数 ()  : 0

空的页总数: 14

标记为损坏的总页数: 1

流入的页总数: 0

最高块 SCN            : 612677 (0.612677)

 

7,使用RMAN进行在线数据块恢复

rman target/

RMAN> blockrecover datafile 4 block 313;

启动 blockrecover 05-6 -09

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

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=155 devtype=DISK

 

通道 ORA_DISK_1: 正在还原块

通道 ORA_DISK_1: 正在指定要从备份集还原的块

正在还原数据文件 00004 的块

通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE\BACKUP\0MKGQQK2_1_1

通道 ORA_DISK_1: 已从备份片段 1 还原块

段句柄 = D:\ORACLE\BACKUP\0MKGQQK2_1_1 标记 = TAG20090605T140450

通道 ORA_DISK_1: 块还原完成, 用时: 00:00:02

 

正在开始介质的恢复

 

存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR

CL\ARCHIVELOG\2009_06_05\O1_MF_1_2_52KFFT6T_.ARC 存在于磁盘上

存档日志线程 1 序列 3 已作为文件 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR

CL\ARCHIVELOG\2009_06_05\O1_MF_1_3_52KFHJX9_.ARC 存在于磁盘上

介质恢复完成, 用时: 00:00:03

完成 blockrecover 05-6 -09

    8,查询数据

SQL> select count(*) from caleb.tb;

  COUNT(*)

----------

196608

 

至此,数据块恢复成功完成。

RMAN可以在线完成数据块恢复,避免停机。

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

请登录后发表评论 登录
全部评论

注册时间:2009-03-12

  • 博文量
    42
  • 访问量
    81941