当前位置:数据库 > Oracle >>

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
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,