一、备份
backup能产生两种备份:备份集和镜像复制
show device type;
可以看到 BACKUP TYPE TO BACKUPSET
backup 和backup as backupset效果是一样的。
备份的时候数据库必须是在MOUNT或者OPEN状态,如果是open状态必须启用归档模式。
1、备份集
输入文件,被rman备份的文件,包括控制文件、归档日志、数据文件、参数文件
备份集,输入文件的备份,由备份片组成。备份片的文件名称由format指定或者OMF两种。
backup tablespace users format '/home/oracle/%d_%T_%s_%p.bak';
backup tablespace user to destination '/home/oracle/';
推荐使用OMF方式,在7到11字符上,表示相应的备份文件类型。
依次为归档日志(a)、控制文件(c)、参数文件(s)、数据文件(d)、除归档日志以外的任何文件(f)。字符n表示没有此类文件。
ol_mf_annnf_TAGXXXXX.bkp #归档日志备份
ncsnf 控制文件和参数文件
nnndf 数据文件
增量备份
等级0增量备份
backup incremental level 0 databse;
等级1累计增量备份,每次都只与0级备份比较。
backup cumulative incremental level 1 database;
等级1差异增量备份,同前一次备份做比较。
backup incremental level 1 database;
2、镜像复制备份
设置默认使用镜像复制备份
configure device type disk backup set to copy;
镜像复制不支持sbt
run{
allocate channel c1 device type disk;
backup datafile 1,2;
}
run{
allocate channel c1 device type disk to destination '/home/oracle/disk1/';
allocate channel c2 device type disk to destination '/home/oracle/disk2/';
backup as copy (datafile 1) (datafile 2);
}
run{
allocate channel c1 device type disk;
backup as copy current controlfile;
}
run{
allocate channel c1 device type disk;
backup as copy archivelog all;
}
不能备份参数文件。
二、优化
1、压缩,分为三个等级LOW、MEDIUM、HIGH
configure compression algorithm 'LOW';
2、分割
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
backup section size 1G datafile 2;
}
3、数据块变更跟踪
alter database enable block change tracking using file '/home/oracle/disk/BCT' reuse;
alter database disable block change tracking;
查看备份效率
select file#,sum(blocks_read)/sum(datafile_blocks) ratio
from v$backup_datafile
where incremental_level > 0
group by file#;
4、等级1增量备份镜像复制
第一天执行获取所有数据文件的复制镜像。
backup incremental level 1 for recover of copy with tag 'FLASH' database;
第二天执行
backup incremental level 1 for recover of copy with tag 'FLASH' database;
recover copy of database with tag 'FLASH';
每天执行上面两个命令,即可用增量备份的时间获取最新的数据库镜像复制。
三、安全性
加密备份:透明模式、口令模式、双体模式
1、透明模式和双体模式需要创建钱包
创建放置钱包的目录
mkdir -p /home/oracle/wallet
修改sqlnet.ora
ENCRYPTION_WALLET_LOCATION=
{SOURCE=
(METHOD=FILE)
(METHOD_DATA=
(DIRECTORY=/home/oracle/wallet/)
)
}
创建钱包、设置密码、主密钥
alter system set encryption key identified by "oracle123";
临时打开透明模式
set encryption on;
set encryption on using 'AES256';
永久打开
configure encryption for database on;
configure encryption algorithm 'AES256';
执行备份命令
如果需要恢复的时候,关闭钱包
alter system set encryption wallet close identified by 'oracle123';
恢复数据库将报ORA-19913无法解密的错误。
2、口令模式
备份时,设置加密模式和密码
set encryption on identified by 'oracle123' only;
还原时,配置解密的密码
set decryption identified by 'oracle123';
3、双体模式
备份时,设置加密模式和密码,没有ONLY关键字
set encryption on identified by 'oracle123';
还原的时,提供口令或者打开钱包都可以解密
四、监控
select
case when opname like '%aggregate%' then 'Total'
else opname
end opname,
trunc(sofar*100/totalwork,2) || '%' progress,
units
from v$session_longops
where opname like 'RMAN%' and totalwork>sofar
五、备份保留策略
在确保数据库的可恢复性的同时提高空间利用率。
备份策略分为:备份冗余度和恢复窗口的大小。
1、设置冗余度2
configure retention policy to redundancy 2;
report need backup;
backup database;
report need backup;
2、查看可删除的备份
report obsolete;
delete obsolete;
delete noprompt obsolete device type disk;