ORACLE DATABASE 10G FALSHBACK知识整理
ORACLE DATABASE 10G FALSHBACK知识整理
1、知识储备
1) 当出现介质损坏时(如数据文件丢失),任何闪回方法都毫无用处,只能执行标准的备份、还原与恢复。
2、SCN记录方法
[sql]
SQL>variable x_scn number;
SQL>execute :x_scn:=dbms_flashback.get_system_change_number;
SQL>print x_scn;
或
[sql]
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)
[sql]
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
[sql]
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)
[sql]
RMAN>backup … delete input; //备份后,将不再需要的文件删除。
3.2查看
[sql]
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备份
[sql]
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(从不备份)
[sql]
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