数据库备份与恢复测试2

第一种:
如果损坏的是下列文件,必须在关闭状态下作恢复:系统数据文件,回滚段(Undo)表空间的数据文件,整个数据库大多数文件损坏。


SQL> startup
orACLE instance started.

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes
Database mounted.
orA-01113: file 1 needs media recovery
orA-01110: data file 1:
'D:\ORACLE\10.2.0\ORADATA\NERO\DATAFILE\O1_MF_SYSTEM_56X0H67B_.DBF'


SQL> recover datafile 1;
Media recovery complete.
SQL> alter database open;

第二种:
适合场景:数据库当前是关闭的,某个文件丢失损坏,介质故障的文件不包括系统表空间和Undo表空间的文件,为了减少恢复对业务的影响,在恢复过程之前首先将数据库打开。

SQL> startup
orACLE instance started.

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes
Database mounted.
orA-01113: file 4 needs media recovery
orA-01110: data file 4:
'D:\ORACLE\10.2.0\ORADATA\NERO\DATAFILE\O1_MF_USERS_56X0J0SD_.DBF'

SQL> select * from v$recover_file;

     FILE# ONLINE  ONLINE_
---------- ------- -------
ERROR                                                                CHANGE#
----------------------------------------------------------------- ----------
TIME
------------
         4 ONLINE  ONLINE
FILE NOT FOUND                                                             0


SQL> alter database datafile 4 offline;

Database altered.

SQL> alter database open;

Database altered.

SQL> recover tablespace users;
orA-00279: change 3782263 generated at 08/24/2009 21:06:54 needed for thread 1
orA-00289: suggestion :
D:\ORACLE\10.2.0\FLASH_RECOVERY_AREA\NERO\ARCHIVELOG\2009_08_26\O1_MF_1_146_%U_.

ARC
orA-00280: change 3782263 for thread 1 is in sequence #146


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
Log applied.
Media recovery complete.
SQL> alter tablespace users online;

Tablespace altered.

SQL>

第三种:
恢复一个从未备份过的数据文件
适合场景:丢失的数据文件从未备份过,恢复没备份的数据文件有严格的要求:需要恢复的不能是系统表空间的数据文件,必须存在从数据文件创建以来所有的归档日志,在创建文件之后控制文件没有被重建过
上面的要求都必须满足,否则不能恢复

SQL> create tablespace test datafile 'D:\oracle\10.2.0\oradata\NERO\DATAFILE\test01.dbf' size 5m;

Tablespace created.

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ------------
         1          1        151   52428800          3 NO  CURRENT
      3822169 26-AUG-09

         2          1        149   52428800          3 YES ACTIVE
      3815287 25-AUG-09

         3          1        150   52428800          3 YES ACTIVE
      3822167 26-AUG-09



SQL> alter system switch logfile;

System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
orACLE instance shut down.
SQL> startup mount;
orACLE instance started.

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             184552324 bytes
Database Buffers          419430400 bytes
Redo Buffers                7135232 bytes
Database mounted.
SQL> select * from v$recover_file;

     FILE# ONLINE  ONLINE_
---------- ------- -------
ERROR                                                                CHANGE#
----------------------------------------------------------------- ----------
TIME
------------
        11 ONLINE  ONLINE
FILE NOT FOUND                                                             0



SQL> alter database datafile 11 offline;

Database altered.

SQL> alter database open;

Database altered.
SQL> alter database create datafile  'D:\oracle\10.2.0\oradata\NERO\DATAFILE\tes
t01.dbf'as  'D:\oracle\10.2.0\oradata\NERO\DATAFILE\test01.dbf';

Database altered.

SQL> recover datafile 11;
orA-00279: change 3822136 generated at 08/26/2009 13:36:50 needed for thread 1
orA-00289: suggestion :
D:\ORACLE\10.2.0\FLASH_RECOVERY_AREA\NERO\ARCHIVELOG\2009_08_26\O1_MF_1_149_%U_.

ARC
orA-00280: change 3822136 for thread 1 is in sequence #149


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
Log applied.
Media recovery complete.
SQL> alter tablespace test online;

Tablespace altered.




评论: 0 | 引用: 0 | 查看次数: 190
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启