RMAN
删除归档日志
进入rman管理操作
rman target/
查看所有的归档日志文件
crosscheck archivelog all;
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-30’;
备份操作
登录
rman target sys/sys
查看所有配置参数
show all;
恢复窗口配置为7天
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
控制文件自动备份
configure controlfile autobackup on;
控制文件备份到/bak/con/
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/bak/con/%F’;
备份闪回
backup recovry area;
备份备份集
backup backupset 18;
检查归档文件
crosscheck archivelog all;
同步数据文件与归档文件
delete expired archivelog all ;
查看失效备份
crosscheck backup;
删除备份集
delete backupset <备份集号> ;
image copy
禁用
alter database datafile 6 offline;
复制
RMAN>copy datafile 6 to ‘+DATAVG/orcl/datafile/zz.dbf’;
更改数据文件的位置
alter database rename file ‘/data01/zz.dbf’ to ‘+DATAVG/orcl/datafile/zz.dbf’;
恢复
recover datafile 6;
启用
alter database datafile 6 online;
增量备份
run {
recover copy of database with tag ‘incr_update’;
backup incremental level 1 for recover of copy with tag ‘incr_up’ database format ‘/bak/db_%s.bak’;
recover copy of database with tag ‘incr_con’;
backup incremental level 1 for recover of copy with tag ‘incr_con’ current controlfile format =‘/bak/c_%s.bak’;
recover copy of database with tag ‘incr_sp’;
backup incremental level 1 for recover of copy with tag ‘incr_sp’ spfile format =‘/bak/sp_%s.bak’;
}
DRA
list failure;
advise failure;
repair failure;
编目RMAN元数据
CATALOG DATAFILECOPY ‘/disk1/old_datafiles/01_01_2003/users01.dbf’;
CATALOG ARCHIVELOG ‘/disk1/arch_logs/archive1_731.dbf’, ‘/disk1/arch_logs/archive1_732.dbf’;
CATALOG BACKUPPIECE ‘/disk1/backups/backup_820.bkp’;
CATALOG START WITH ‘/disk1/backups/’;
备份脚本:
#zyz
source ~/.bash_profile
export BACK_DATE=`date +%Y%m%d`
export BACKUP_PATH=/data/spi_bak/script/rman
echo `mkdir -p ${BACKUP_PATH}/${BACK_DATE}`
rman target / msglog=${BACKUP_PATH}/${BACK_DATE}/bak_0_$BACK_DATE.log << EOF
run
{
allocate channel ch1 device type disk; #分配通道
allocate channel ch2 device type disk;
sql 'alter system archive log current'; #归档当前日志
backup database format '${BACKUP_PATH}/${BACK_DATE}/data_%s.bak';
backup format '${BACKUP_PATH}/${BACK_DATE}/conbak_%s.bak' current controlfile;
backup spfile format ='${BACKUP_PATH}/${BACK_DATE}/spfile_%s.bak';
crosscheck backup;
crosscheck archivelog all;
sql 'alter system archive log current';
backup archivelog all format '${BACKUP_PATH}/${BACK_DATE}/arch_%s.bak' delete all input;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
delete noprompt backup of database completed before 'sysdate -1';
delete noprompt archivelog all;
delete noprompt backup of archivelog all completed before 'sysdate -1';
release channel ch1;
release channel ch2;
}
exit;
EOF
backup archivelog all delete input format ='/home/u01/app/orabak/arch_%s.bak' ;
backup database format='/home/bak/data_%s.bak';
backup current controlfile format ='/home/bak/conbak_%s.bak';
数据文件损坏:
1、offline数据文件
SQL>alter database datafile ‘/u01/data/orcl/block_ts01.dbf’ offline;
2、copy数据文件到响应的位置(RMAN)
rman>run {
recover copy of database with tag ‘incr_datafile8’;
backup incremental level 1 for recover of copy with tag ‘incr_datafile8’ datafile 8 format=‘/backup/datacopy/level1_%d_%T_%s.dbf’;
}
3、对数据文件rename
SQL>alter database rename file ‘/u01/data/orcl/tbs10.dbf’
to ‘/flashback/ORCL/datafile/o1_mf_tbs10_dn9plmd8_.dbf’;
4、recover数据文件
SQL>recover datafile ‘+DATADG/ywkdb/datafile/TS_XG_D.dbf’;
5、对数据文件online
SQL>alter database datafile ‘+DATADG/ywkdb/datafile/TS_XG_D.dbf’ online;