您的位置:首页 > 数据库 > Oracle

ORACLE DATABASE 10G FALSHBACK 知识整理

2013-09-12 21:46 323 查看

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

4.2 FLASHBACK QUERY

4.3 FLASHBACK DROP

(完)

另请参见

ORACLE FLASHBACK DATABASE 知识整理

ORACLE FLASHBACK QUERY 知识整理

ORACLE FLASHBACK DROP 知识整理

欢迎转载,转载请注明源出处,请勿用于商业用途,快乐的哈喇子保留所有权利。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: