在平常维护中 备份是咱们运维最常作的工做,而且很是重要 。 那九妹带你 使用RMAN 工具有份Orcle数据库
3、使用RMAN工具windows
RMAN(recovery manager)是oracle的一个重要工具,用于备份和恢复数据库文件、归档日志和控制文件。也能够用来执行彻底或不彻底的数据库恢复。RMAN有3种不一样的用户接口:命令行方式,GUI方式(集成在OEM中的备份管理器)、api方式(用于集成到第三方的备份软件中)。它具备以下优势:api
1)支持在线热备份安全
2)支持多级增量备份服务器
3)支持并行备份、恢复session
4)减小所须要的备分量oracle
5)备份、恢复使用简单运维
RMAN有丰富的特性集。随着oracle新版本的发布,RMAN特性也不断加强,使得RMAN几乎在任何状况下均可以备份和恢复数据库。其中不少的新特性都是针对平常工做中所遇到的问题和困难开发的。ide
一、RMAN组件工具
1)target database(目标数据库)
目标数据库就是须要RMAN对其进行备份与恢复的数据库。RMAN能够备份数据文件、控制文件、归档日志文件、spfile。
2)server session(服务器会话)
RMAN启动数据库上的oracle服务器进程,并创建一个与目标数据库的会话。由目标数据库上的服务器进程进行备份、还原、恢复的实际操做。
3)RMAN repository(RMAN资料库)
RMAN使用过程当中会用到的控制信息,是一些关于备份、归档日志及RMAN活动的元数据。
4)recovery catalog(恢复目录)
恢复目录是创建在RMAN恢复目录数据库上的一种schema对象,用于保存RMAN资料库数据。
恢复目录是一个可选的组件。RMAN会将资料库数据记录在目标数据库的控制文件中,但这样不够安全,由于一旦目标数据库的控制文件损坏就意味着全部的RMAN备份失效。因此建议在单独的一个数据中创建恢复目录另外保存一份资料库数据。
对于
对于大部分中等环境的企业环境,将RMAN备份信息存储在恢复目录数据库中,而不是存储在目标数据库的控制文件中,这样可以发挥RMAN工具的所有功能,此外,RMAN的不少高级功能也只有在建立了恢复目录的环境下才被支持。
5)MML(媒体管理库)
MML(media management layer)是第三方工具或软件,用于管理对磁带的读写与文件的跟踪管理,若是你要想直接经过RMAN备份到磁带上,就必须配置媒体管理层,媒体管理层的工具和RMAN共同完成备份与恢复。
6)快闪恢复区
快闪恢复区是oracle数据库用于保存全部与恢复相关的文件的默认磁盘位置。这些相关文件包括归档日志、RMAN备份、控制文件自动备份、复用的控制文件和重作日志副本及闪回日志文件。
7)辅助数据库
在正常使用时,RMAN会与目标数据库一块儿使用,若是建立了恢复目录数据库,那么也会与恢复目录数据库一块儿使用。在某些状况下,但愿建立辅助数据库,辅助数据库是使用RMAN从目标数据库的备份中建立新的数据库。辅助数据库能被建立做为备用数据库使用。在产品数据库发生灾难时,可以在不丢失任何数据及停机时间最短的状况下切换至备用数据库。
二、建立恢复目录
恢复目录存在于RMAN的目录数据库中,相似于标准的数据库目录,主要包含以下几个部分的信息:
1)备份和恢复信息,能够是多个目标数据库
2)RMAN脚本,能够存储供重复使用
3)关于数据文件和日志文件的本分信息
4)关于目标数据库的表空间和数据文件的信息
rman 工具的基本组件及工做原理以在上面陈列出来 接下来九妹带你正式使用RMAN 备份
大致分为6
建立恢复目录数据库(相似于容器存放备分内容 )
在恢复目录中建立RMAN用户并受权
在恢复数据库中建立恢复目录
注册
通道分配(自动 手动 有默认通道可不建立)
开始备份
1.
1)建立恢复目录数据库
create tablespace ccdatafile '/opt/oracle/oradata/cc.ora' cc:恢复目录数据库明名称
size 20M autoextend on next 5m maxsize unlimited 大小20m 可扩展5m 可不限制增加
2.
1)在恢复目录数据库中建立RMAN 用户并受权
create user lmy identified by oracle default tablespace cc 建立用户lmy使用的恢复目录是c
temporary tablespace temp 临时的表空间是temp
3.授予权限
grant connect,resource to ydw
grant recovery_catalog_owner to ydw
4.建立目录
5.注册
6.通道
通道分配
使用RMAN进行备份和恢复操做时,必须进行通道的分配,一个通道是RMAN和目标数据库之间的一个链接,通道指定了某种类型的设备用于备份和恢复,RMAN可使用的通道设备包括磁盘与磁带两种。
1.自动通道
2.手动通道
6.恢复
在归档方式下备份与恢复
要用RMAN进行联机备份操做。数据库就必须位于归档模式。恢复目录必须打开,目标数据库进程必须启动,数据库已经加载或者打开。
1)备份和恢复整个数据库
查看当前数据模式为非归档模式
修改成归档模式
换RMAN 用户开始备份
rman catalogg lmy/oracle target /
backup database;
查看快闪恢复区 发现备份成功
备份时 不包含归档日志文件
若是还要包含归档日志文件,则要加上plus archivelog关键字,delete input的意思是在备份完成后,删除archivelog文件。
backup database plus archivelog delete input;
测试备份是否能够生效 删除文件 sytem01.dbf 系统文件
二.
1)备份和恢复表空间
表空间users备份:
备份多个表空间
使用 run 方式备份
run
{
allocatv channel ch1 device type disk;
backup format '/opt/bakup/rmanback/%U’
releasw channel ch1;
}
若是只丢失了特定的表空间的数据文件,那么能够选择只恢复这个表空间,而不是恢复整个数据库,表空间恢复能够在不关闭数据库的状况下进行,只须要将须要恢复的表空间offline
恢复表空间
补充自动备份:
1)生成脚本文件,如backup.rcv
假定文件内容以下:
$>cat backup.rcv
connect target sys/password rcvcat rman/rman@localname;
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}
2)生成执行文件
在windows上生成backup_archive.bat,内容包括
rman cmdfile = backup.rcv
在unix下生成 backup_archive.sh,内容包括
/oracle/ramn/rman cmdfile = backup.rcv
3)加入调度
在windows中用任务计划向导便可,或使用at命令。
在unix中,在目标机器上编写一个文件,用以启动自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示天天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来