ORACLE DATABASE 10G FALSHBACK 知识整理

1、知识储备

1)    当出现介质损坏时(如数据文件丢失),任何闪回方法都毫无用处,只能执行标准的备份、还原与恢复。

2、SCN记录方法


SQL>variable x_scn number;
SQL>execute :x_scn:=dbms_flashback.get_system_change_number;
SQL>print x_scn;

SQL>select current_scn,flashback_on from v$database;

1)    设当前SCN为A,期望的历史SCN为B,使用B作为闪回得到的表单如果不是预期的结果,可以再次以A作为闪回表的SCN节点进行闪回,就得到了初始状态。

2)    表闪回用的SCN值,是被包括在闪回中的,即选择的SCN 以及该SCN之前的所有数据都被恢复

3、闪回回复区

3.1、默认存储

1)    默认在闪回区flash_recovery_area存放的7种文件

a)    磁盘备份的默认位置(BACKUP AS COPY);

b)    归档日志的默认位置(ARCHIVE LOG,不推荐,应尽快放到其他位置,因为一旦闪回区满,归档将停止,进而导致DML停止);

c)    RMAN备份(全备份);

d)    控制文件自动备份(在RMAN中的设置);

e)    复用的控制文件;

f)     重做日志副本;

g)    闪回日志文件(只能在这里);

2)    闪回回复区一旦写满,将对RMAN备份以及FLASHBACKDATABASE产生影响。

3)    ORACLE建议回复区足够大。

4)    因为空间本身有限(无论多大的空间),所以推荐定期使用

a)

RMAN>delete obsolete;//删除RMAN人为不再需要的备份。
SQL> select space_limit/1024/1024 as limit_MB,space_used/1024/1024 as used_MB,space_reclaimable/1024/1024 as reclaimable_MB,number_of_filesfrom v$recovery_file_dest;

LIMIT_MBUSED_MBRECLAIMABLE_MBNUMBER_OF_FILES

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

3852  3634.82275 2152.38379        39

RMAN>delete obsolete;
SQL> select space_limit/1024/1024 as limit_MB,space_used/1024/1024 as used_MB,space_reclaimable/1024/1024 as reclaimable_MB,number_of_filesfrom v$recovery_file_dest;

LIMIT_MBUSED_MBRECLAIMABLE_MBNUMBER_OF_FILES

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

3852     1482.43896 0        13

b)

RMAN>backup … delete input; //备份后,将不再需要的文件删除。

3.2查看

SQL> select name,space_limit/1024/1024 as limit_MB,space_used/1024/1024 as used_MB,space_reclaimable/1024/1024 as reclaimable_MB,number_of_files from v$recovery_file_dest;

NAME                                                   LIMIT_MB   USED_MB    RECLAIMABLE_MB  NUMBER_OF_FILES

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

/u01/app/oracle/flash_recovery_area     3852           3634.82275  2152.38379              39

3.3备份

RMAN>backup recovery area;//可以在后边跟delete all input,释放磁盘空间, BACKUP RECOVERY AREA 命令只能备份到磁带上,否则报错RMAN-06603

Starting backupat 27-JUL-13

using targetdatabase control file instead of recovery catalog

allocatedchannel: ORA_DISK_1

channelORA_DISK_1: SID=781 device type=DISK

RMAN-00571:======================================

RMAN-00569:======== ERROR MESSAGE STACK FOLLOWS =====

RMAN-00571:======================================

RMAN-03002:failure of backup command at 07/27/2013 16:11:42

RMAN-06603: TODESTINATION option must be specified with RECOVERY AREA, RECOVERY FILES orDB_RECOVERY_FILE_DEST on disk device

备份包括:

1)    完整和增量备份集

2)    数据文件和归档日志文件映射副本

3)    控制文件的自动备份

4)    归档日志

备份包括

1)    闪回日志(如果需要备份,必须关闭数据库)

2)    当前的控制文件

3)    ONLINE REDO LOG(从不备份)

RMAN>backup recovery files;//只能备份到磁带上,否则报错。备份所有回复文件,无论是否在闪回区,范围比第一条语句更大。

Starting backupat 27-JUL-13

using channelORA_DISK_1

RMAN-00571:======================================

RMAN-00569:==== ERROR MESSAGE STACK FOLLOWS =========

RMAN-00571:======================================

RMAN-03002:failure of backup command at 07/27/2013 16:21:09

RMAN-06603: TO DESTINATION option must be specified with RECOVERY AREA,RECOVERY FILES or DB_RECOVERY_FILE_DEST on disk device

4、闪回类型

4.1  FLASHBACK DATABASE

(完)


另请参见

欢迎转载,转载请注明源出处,请勿用于商业用途,快乐的哈喇子保留所有权利。
上一篇:UVa-Where's Waldorf?


下一篇:python代码检索小引擎