RMAN增量备份.docx
- 文档编号:23622352
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:14
- 大小:21.44KB
RMAN增量备份.docx
《RMAN增量备份.docx》由会员分享,可在线阅读,更多相关《RMAN增量备份.docx(14页珍藏版)》请在冰豆网上搜索。
RMAN增量备份
RMAN备份
1.什么是RMAN
RMAN可以用来备份和还原数据库文件、归档日志和控制文件。
它也可以用来执行完全或不完全的数据库恢复。
RMAN启动数据库上的Oracle服务器进程来进行备份或还原。
备份、还原、恢复是由这些进程驱动的。
2恢复目录
2.1恢复目录的概念
1.恢复目录数据库:
用于存放恢复目录方案的Oracle数据库,是一个独立的数据库
2.恢复目录所有者:
用于管路恢复目录数据库对象的数据库用户。
必须具有RECOVER_CATALOG_OWNER角色,不能是SYS用户
3.恢复目录方案:
恢复目录数据库对象的集合,就是恢复目录所有者的名称,必须在RMAN中以恢复目录身份登录,执行CREATECATALOG命令
4.规划恢复目录空间:
每个目标数据库的RMAN元数据每年大约15M
5.恢复目录内容:
存放备份集备份片信息,映像副本信息,目标数据库物理结构,RMAN配置信息,存储脚本
6.恢复目录优点:
存放多个目标数据库RMAN元数据,存放目标数据库不同副本的元数据,存放目标数据库历史元数据,存放存储脚本
2.2建立恢复目录
第一步,在目录数据库中创建恢复目录所用表空间:
SQL>createtablespacerman_tsdatafile'/opt/oracle/app/oracle/oradata/orcl/rman/rman_ts.dbf'size1024M;
表空间已创建。
第二步,在目录数据库中创建RMAN用户并授权:
SQL>createuserrmanidentifiedbyrmandefaulttablespacerman_tstemporary
tablespacetempquotaunlimitedonrman_ts;
用户已创建。
SQL>grantrecovery_catalog_ownertorman;
授权成功。
SQL>grantconnect,resourcetorman;
授权成功。
第三步,在目录数据库中创建恢复目录
在oracle用户下执行命令:
rmancatalogrman/rman
RMAN>createcatalog;
第四步,.注册目标数据库,在建立恢复目录之后,必须连接到目标数据库,使用REGISTERDATABASE命令注册目标数据库。
connecttargetsys/iflytek;
registerdatabase;
reportschema;
注意:
虽然使用RMAN不一定必需恢复目录,但是推荐使用。
因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。
不使用恢复目录将会对备份恢复操作有限制。
2.3删除备份目录数据:
第一步:
查看备份信息,查询备份级关键字(BSKey)
RMAN>listbackup;
第二步:
定义delete通道:
RMAN>allocatechannelfordeletetypedisk;
第三步:
删除backupset备份集:
changebackupsetBSKeydelete;
3.启动RMAN
在使用RMAN前,设置NLS_DATE_FORMAT和NLS_LANG环境变量,很多RMANLIST命令的输出结果是与日期时间相关的,这点在用户希望执行以时间为基准的恢复工作也很重要。
下例是环境变量的示范:
NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK
NLS_DATE_FORMAT=YYYY-MM-DDHH24:
MI:
SS
为了保证RMAN使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要STARTED(unmount),否则RMAN会返回一个错误,目标数据库必须置于归档模式下。
3.1使用带恢复目录的RMAN
连接rman:
rmancatalogrman/rman
连接rman并连接实例:
rmancatalogrman/rmantargetorcl/iflytek
3.2注册目标数据库
第一步,启动恢复管理器,并且连接目标数据库
rmantargetorcl/iflytekcatalogrman/rman
第二步,注册数据库:
RMAN>registerdatabase;
3.3注销目标数据库
RMAN提供了一个注销工具,叫DBMS_RCVCAT工具包,请注意一旦注销了该目标数据库,就不可以使用恢复目录中含有的备份集来恢复数据库了。
为了能注销数据库,需要获得数据库的标识码(DB_ID)和数据库键值(DB_KEY)。
其中连接目标数据库时将会获得DB_ID。
rmantargetorcl/iflytekcatalogrman/rman
恢复管理器:
版本8.1.6.0.0-Production
RMAN-06005:
连接到目标数据库:
HIS(DBID=3021445076)
RMAN-06008:
连接到恢复目录数据库
其中DBID=3021445076,利用DBID=3021445076查询数据库键值码,连接到目标数据库,查询db表:
在sqlplus中rman用户下执行:
SQL>select*fromdb;
DB_KEYDB_IDCURR_DBINC_KEY
----------------------------------
213278395314
获得DB_KEY=2,这样,该目标数据库DB_KEY=2,DBID=1327839531,利用两个值使用DBMS_RCVCAT工具包就可以注销数据库:
在rman用户下执行:
SQL>executedbms_rcvcat.unregisterdatabase(2,1327839531);
至此,注销数据库操作完成。
4.备份:
4.1备份数据库
4.1.1备份完整数据库:
RMAN>backup database format '/u01/app/oracle/rmanbak/whole_%d_%U';
--备份整个数据库
4.1.2备份脚本:
Run{
allocatechannelch1typedisk
--手动分配一个通道
maxpiecesize=2g;
--指定备份片诶分的大小为2g
backupascompressedbackupset
--压缩备份集
format'/u01/app/oracle/rmanbak/whole_%d_%U'filesperset=3
--指定备份集中允许容纳的文件数为个
database;
releasechannelch1;}
4.2备份数据文件
4.2.1备份为镜像:
RMAN>backupascopydatafile4--备份类型为镜像备份
2>format'/u01/app/oracle/rmanbak/df_%d_%U';
4.2.2查询备份数据文件:
RMAN>listcopy;
4.2.3备份为备份集
RMAN>backupdatafile4,5,6format'/u01/app/oracle/rmanbak/df_%d_%U';
--备份类型为备份集
4.3.备份表空间
RMAN> backuptablespaceusers,exampleformat '/u01/app/oracle/rmanbak/tb_%d_%U';
4.4.备份控制文件
4.4.1设置自动备份控制文件
RMAN>configurecontrolfileautobackupon;
自动备份控制文件置为on状态,将自动备份控制文件和参数文件
注:
在备份system01.dbf或system表空间时将会自动备份控制文件和参数文件,即使自动备份控制文件参数为off
4.4.2备份控制文件
--单独备份控制文件及参数文件
RMAN>backupcurrentcontrolfile;
4.4.3备份数据文件时包含控制文件
--备份数据文件时包含控制文件
RMAN>backupdatafile4includecurrentcontrolfile;
4.4.4单独备份spfile
--单独备份spfile
RMAN>backupspfileformat'/u01/app/oracle/rmanbak/sp_%d_%U';
4.5.备份的其它特性
4.5.1并发:
主要用于提高备份的速度,可以分为手动并发或自动并发
1手动并发:
通过分配多个通道并将文件指定到特定的通道
run{
allocatechannelch1devicetypedisk;
allocatechannelch2devicetypedisk;
allocatechannelch3devicetypedisk;
backupincrementallevel=0
format'/u01/app/oracle/rmanbak/df_%d_%U'
(datafile1channelch1tag='sys')
(datafile3channelch2tag='aux')
(datafile2,4,5,6channelch3tag='other');
sql'altersystemarchivelogcurrent';
releasechannelch1;
releasechannelch2;
releasechannelch3;
}
2自动并发:
使用configure配置并发度即可
configuredevicetypediskparallelism3backuptypetobackupset;
4.5.2复用备份
即将一个备份集复制多份,同一备份集,Oracle最多可复用个
1手工指定:
RMAN>backupcopies2datafile4
2>format '/u01/app/oracle/rmanbak/d1/df_%U',
3> '/u01/app/oracle/rmanbak/d2/df_%U';
2自动指定:
配置下列参数
RMAN>configuredatafilebackupcopiesfordevicetypediskto2;
--指定备份数据文件副本数
RMAN>configurearchivelogbackupcopiesfordevicetypediskto2;
--指定备份日志文件副本数
4.5.3压缩备份集
1手动压缩:
--下面的命令使用了参数ascompressed来实现手动压缩
RMAN>backupascompressedbackupsetdatabase;
RMAN>backupascompressedbackupsetdatafile4,5,6;
2自动压缩:
--下面使用configure命令配置自动压缩备份集功能,则后续的备份会自动使用压缩功能
RMAN>configuredevicetypediskparallelism4backuptypetocompressedbackupset;
4.5.4使用tag标记
tag标记可以为备份集或映像副本指定一个有意义的名字,以备后续使用,其优点如下
为备份集或映像副本提供描述信息
能够在list 命令中使用更好的定位备份文件
能够在restore和switch命令中使用
同一个tag在多个备份集或多个映像副本中使用
当未指定tag标记时,则系统产生缺省的tag标记,其格式为:
TAGYYYYMMDDTHHMMSS
RMAN>backupascompressedbackupsetdatafile1,2,3tag='Monthly_full_bak';
RMAN>backupascompressedbackupsettablespaceuserstag='Weekly_full_bak';
RMAN>listbackupsettag=monthly_full_bak;
5.增量备份:
增量备份分为差异和累积两种,默认是差异备份
差异备份:
当前的n级差异会备份之前的同为n级或n-1级的备份以来的所有改变,若同存在n级和n-1级则备份最近时间点以来的改变
(level1备份上一次level1或level0以来的变化,level2备份上一次level2或level1或level0以来的变化)
累积备份:
当前的n级累积会备份之前的n-1级的备份以来的所有改变
(level1备份上一次level0以来的变化,level2备份上一次level1或level0以来的变化)
差异备份优优点:
备份速度快,恢复时间长;
累计备份优缺点:
备份速度慢,恢复时间短;
4.1数据库备份:
差异增量备份:
RMAN>run{
allocatechannelch1typedisk;
backupincrementallevel0database
format'/opt/oracle/app/oracle/rmanbak/db_%T_%d_%U'
tag=db_inc_0;
databaseplusarchivelogdeleteinput;
releasechannelch1;
}
累积备份:
RMAN>run{
allocatechannelch1typedisk;
backupincrementallevel0cumulative database
format'/opt/oracle/app/oracle/rmanbak/db_%T_%d_%U'
tag=db_inc_0;
databaseplusarchivelogdeleteinput;
releasechannelch1;
}
4.2表空间备份:
差异增量备份:
run{
allocatechannelch1typedisk;
backupincrementallevel0tablespaceusers
format'/opt/oracle/app/oracle/rmanbak/userstb_%T_%d_%U'tag=db_inc_0
plusarchivelogdeleteinput;
releasechannelch1;
}
累积备份:
run{
allocatechannelch1typedisk;
backupincrementallevel0cumulativetablespaceusers
format'/opt/oracle/app/oracle/rmanbak/userstb_%T_%d_%U'tag=db_inc_0
plusarchivelogdeleteinput;
releasechannelch1;
}
4.3备份保留策略
保留策略主要是保留备份副本的一些规则,通常用于满足恢复或其他的需要(比如磁盘空间或磁带空间大小限制)
备份保留策略分为冗余和恢复窗口,这两种保留策略互不兼容,要么使用前者,要么使用后者
备份冗余:
默认为,可以通过RMAN> configureretentionpolicy to redundancy2;来修改
当为2时,RMAN会为每个数据文件、归档日志、控制文件生成一个备份。
可以使用reportobsolete命令查看备份数多于的备份并使用deleteobsolete来删除过时的备份
恢复窗口:
恢复窗口允许完成恢复到过去某个时间点的时点恢复,通常设定为多少天
使用命令RMAN>configureretetionpolicytorecoverywindowof7days
该命令将确保具有足够的数据文件和归档日志来执行能够返回一个星期中任意时间点的不完全恢复,且允许删除随着时间推移而变为废弃的备份,即应当满足该条件:
SYSDATE-BACKUPCHECKPOINTTIME>=7对于大于天但是是恢复所需要的备份依然会被保留
清除备份保留策略:
RMAN>configureretentionpolicyclear;
6.Linux下自动定时备份:
星期天
level0
星期一
level2
星期二
level2
星期三
level1
星期四
level2
星期五
level2
星期六
level2
星期天
level0
5.1Linuxcrontab命令
5.1.1Crontabs介绍:
crontab是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
-uuser是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。
如果不使用-uuser的话,就是表示设定自己的时程表。
常用参数:
crontab-l //查看当前用户下的cron任务
crontab-e //编辑当前用户的定时任务
crontab-u orcl -e //编辑用户orcl的定时任务
5.1.2基本格式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59每分钟用*或者*/1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
5.2定时执行备份:
备份脚本+crontab:
bak_inc0:
0级增量备份,每周日使用级增量进行备份
bak_inc1:
1级增量备份,每周三使用级增量备份,备份从周日以来到周三所发生的数据变化
bak_inc2:
2级增量备份,备份每天发生的差异增量。
如从周日到周一的差异,从周一到周二的差异
--下面是级增量的脚本,其余级与级依法炮制,所不同的是备份级别以及tag标记
新建rman备份脚本
virman_bak_inc0:
run{
allocatechannelch1typedisk;
backupincrementallevel0database
format'/opt/oracle/app/oracle/rmanbak/db_%T_%d_%U'
tag=db_inc_0;
databaseplusarchivelogdeleteinput;
releasechannelch1;
}
逐个测试脚本:
rmantarget/log=/opt/oracle/log/bak_inc0.logcmdfile=/opt/oracle/scripts/bak_inc0
新建执行脚本:
vibak_inc0.sh:
ORACLE_BASE=/opt/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=ORCL
PATH=$ORACLE_HOME/bin:
$PATH
exportORACLE_BASEORACLE_HOMEORACLE_SIDPATH
rmantarget/log=/opt/oracle/bak/log/bak_inc0.logappendcmdfile=/opt/oracle/scripts/bak_inc0
加入定时执行:
执行命令:
crontab -e -uoracle
023**0sh/opt/oracle/bak/scripts/bak_inc0.sh
023**1sh/opt/oracle/bak/scripts/bak_inc2.sh
023**2sh/opt/oracle/bak/scripts/bak_inc2.sh
023**3sh/opt/oracle/bak/scripts/bak_inc1.sh
023**4sh/opt/oracle/bak/scripts/bak_inc2.sh
023**5sh/opt/oracle/bak/scripts/bak_inc2.sh
023**6sh/opt/oracle/bak/scripts/bak_inc2.sh
保存之后重启crontab
执行命令:
servicecrondrestart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RMAN 增量 备份