常用的一些rman备份恢复命令(二)

2014-11-24 08:53:40 · 作者: · 浏览: 3
ame,file_id,tablespace_name from dba_data_file;
备份数据文件
RMAN>backup datafile 5 format=’/opt/oracle/rmanbak/%n_%f_%s.dbf’;
查看指定数据文件的备份
RMAN>LIST BACKUP OF DATAFILE n;
RMAN>LIST BACKUP OF DATAFILE '/opt/oracle/rmanbak/JWEB.ORA';
控制文件备份集
备份当前控制文件
RMAN>backup current controlfile format=’/opt/oracle/rmanbak/%d_%s.ctl
在备份其它数据文件时,同时备份控制文件
RMAN>backup datafile 5 format=’/opt/oracle/rmanbak/%n_%f_%s.dbf’
2>include current controlfile;
在备份时自动备份控制文件
RMAN>configure controlfile autobackup on;
如果要查看备份的控制文件,可以通过:
RMAN>list backup of controlfile;
备份spfile
RMAN>backup spfile format=’/opt/oracle/rmanbak/%d_%s.par’;
备份规档日志:
备份全部的规档日志:
RMAN>backup archivelog all
2、在BACKUP过程中利用PLUS ARCHIVELOG参数备份,例如:
RMAN>backup database plus archivelog
则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:
1>.运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档。
2>.执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。
3>.执行BACKUP命令对指定项进行备份。
4>.再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档。
5>.对新生成的尚未备份的归档文件进行备份。
查看规档日志备份:
RMAN>list backup of archivelog all;
显示备份信息:
视图:
V$ARCHIVED_LOG:显示所有归档日志映像副本的信息
SQL>col name format a45;
SQL>select sequence#,first_change# from v$archived_log
2 where status=’A’;
V$BACKUP_DATAFILE:用于显示控制文件和数据文件的备份信息
V$BACKUP_PIECE:
SQL>select a.file#,b.handle,a.blocks*block_size byte
2 from v$backup_datafile a,v$backup_piece b
3 where a.set_stamp=b.set_stamp and a.status=’a’
V$BACKUP_REDOLOG显示归档日志备份集的信息,每个规档日志备份集可以包含一个或多个归档日志。
SQL>select distinct a.handle,b.sequence#,b.first_change#,b.blocks
2 from v$backup_piece a,v$backup_redolog b
3 where a.set_stamp=b.set_stamp and a.status=’a’
V$BACKUP_CORRUPTION:显示在执行BACKUP命令时所检测到的损坏数据块信息。
SQL>select file#,block#,blocks,marked_corrupt
2 from v$backup_corruption;
删除备份:
1、删除陈旧备份
当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。
RMAN> delete obsolete;
2、删除EXPIRED备份
执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete expired backup命令。
RMAN> delete expired backup;
3、删除EXPIRED副本
RMAN> delete expired copy;
4、删除特定备份集
RMAN> delete backupset 19;
5、删除特定备份片
RMAN> delete backuppiece 'd:\backup\DEMO_19.bak';
6、删除所有备份集
RMAN> delete backup;
7、删除特定映像副本
RMAN> delete datafilecopy 'd:\backup\DEMO_19.bak';
8、删除所有映像副本
RMAN> delete copy;
9、在备份后删除输入对象
RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input;
RMAN恢复
RMAN完全恢复是指当数据文件出现介质失败时,使用RESTORE命令转储数据文件备份,并使用RECOVER命令将数据文件恢复到失败点的状态.
RMAN不完全恢复: 是指当数据文件出现介质失败时,使用RESTORE命令转储数据文件备份,并使用RECOVER命令将数据库恢复到备份点与失败时刻的状态.
恢复数据库
V$RECOVER_FILE可以确定需要恢复的数据文件
SQL>SELECT file#,error from v$recover_file;
所有数据文件被误删除
$rman target / catalog rman/rman
RMAN>STARTUP FORCE MOUNT
RMAN>run{
2>restore database;
3>recover database;
4>sql ‘alter database open’;
5>}
数据文件所在磁盘出现硬件故障
磁盘故障数据文件将不能被转储到原位置,必顺将数据文件转储到其他磁盘
RMAN>run{