分类: 服务器与存储
2008-06-12 23:37:36
Oracle备份简介:
简单的按照备份进行的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其实冷备份与热备份又可以合称为物理备份。
按照备份的工具,可以分为EXP/IMP备份和RMAN。一般来说,Exp/Imp是oracle的一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有很强的功能。但是目前主要最广泛的Oracle备份恢复工具是rman 。RMAN是Oracle提供的一个数据库备份和恢复工具,利用rman可以方便进行数据库的冷备份和热备份。此外,有一些个人用户,会使用OS拷贝,但是它的缺点是占用空间大,而且拷贝文件的内容一般与系统环境有很大关系,转移到其他机器不容易恢复,不是企业用户的选择。
在本文中,我们将介绍如何利用NBU和oracle的rman工具进行oracle的冷备份。
NBU备份oracle步骤简介:
如果用户需要备份oracle数据库,那么需要依次进行如下步骤:
1, 按照NBU oracle代理到NBU客户端,使得NBU能够获取客户端的oracle数据库的内容;
2, 在NBU主服务器(master server)上,创建类型为oracle备份的备份策略,使得NBU可以定时发起NBU备份;
3, 手动运行oracle备份策略,确定备份策略配置无误;
4, 添加增量备份,手动运行增量备份,检查无错误;
5, 在指定oracle运行时刻检查备份作业的工作情况,确定其可以自动运行无误。
现在,我们来依次介绍一下相关的步骤:
二, 在NBU主服务器上创建oracle备份策略
首先,本文作者假定用户已经阅读过前作(),所以与普通策略配置相同的地方,将不重复阐述。
设定备份属性页
在设置备份策略的时候,首先需要在策略属性页中,将备份类型设置为oracle,然后指定数据保存到什么地方(需要提前设置好存储单元,详见一文),如图二所示:
图二:设置oracle备份策略-属性
1. 设定备份日程表
在备份策略的日程表设定中,有一个默认存在的备份日程表“Default-Application-Backup”,这次我们先不管它,我们去创建一个全备份日程表,如图三所示:
图三:NBU备份策略-全备份日程表属性
由图三可知,在日程表的属性中,主要是可以修改日程表的名称,另外就是备份类型是“Automatic Full Backup”,其他的选项去普通配置相同,请参见《NBU设置备份策略》。
注意这里要设置好NBU全备份的频率,太过频繁会导致磁盘占用的增多,如果是冷备份的话,还会导致数据库停机频繁,所以一般一周到几个月比较合适。
接着用户需要去设定oracle 全备份的日程表,就是周几的什么时间可以执行全备份,用户可以选择周一下午到周二早晨(非工作时间),然后点击“duplicate”按钮,指定周几都可以,但是一定要是下班时间,见图四:
图四:NBU备份策略-设置启动时间
2. 设定备份客户端:
在设定好oracle的全备份日程表之后,我们就可以设置NBU客户端列表了,这里与普通备份策略的设置没有什么区别,所以这里不在累述了。
3. 设定备份选择
在oracle备份策略的配置中,对于备份选择是非常重要的,这里将花费一些篇幅重点介绍它,见图五:
图五:添加备份选择
在图五所示界面中,有两个选项:一是模板类型(Template set),其中包括RMAN方式和imp/exp方式两种,如图六所示:
图六:oracle备份的模板类型
本文因为要做oracle的冷备份,所以在这里选择RMAN方式,接着需要添加一个运行脚本。这个是我们备份过程中的重点。
备份脚本就是一系列命令的集合,它内部记录了系统的oracle用户、登录oracle的用户帐号、要访问的数据库等等,此外,它还能获取到NBU的参数,包括备份的类型、要备份到的目标地等等。通过这些参数,我们就可以让NBU的oracle代理帮助我们自动备份oracle数据库了。
现在可能会有读者说,我不会写脚本啊。没有关系,NBU为用户提供了各种备份的模板,存放在/usr/openv/netbackup/ext/db_ext/oracle/samples目录下,见图七:
图七:备份脚本模板
由图七可见,NBU为oracle备份提供了rman、exp和imp的各种脚本。今天我们要从最基础的冷备份讲起,所以我们要去修改的脚本是cold_database_backup.sh(注:cold_duplex_database_backup_full.sh脚本是为多个拷贝而设计的,目前我们只做一个拷贝,所以不需要这个)。
对于cold_database_backup.sh脚本来说,我们只需要修改脚本中的如下参数即可:
ORACLE_HOME:表示oracle所在的目录,NBU需要到其目录下执行相应的rman命令;
ORACLE_SID:指明需要冷备份的数据库;
ORACLE_USER:oracle数据库所属的系统用户,NBU会先用该用户登录,再执行各种备份操作;
TARGET_CONNECT_STR:登录oracle数据库的帐号,必须是系统管理员,因为冷备份需要停止oracle数据库先;
TARGET_INIT_FILE:指定启动脚本,冷备份完毕后重启oracle时候需要;
对于冷备份来说,修改如下项目即可,大家可以看修改后的模板,见图八:
图八:修改脚本模板实例
在用户修改好脚本之后,就可以将其添加到oracle的备份选择中去了,见图九:
图九:添加备份选择
在设置好上述属性之后,oracle备份策略就成功了制定了。
三, 手动运行全备份策略:
右键点击新生成的备份策略,选择手动执行,然后在活动监控器页面观察oracle备份执行的情况,见图十:
图十:全备份oracle数据库
由图十可见,oracle备份已经成功,在全备份过程中,oracle代理启动了一些属性为“application backup”的子任务(job id分别是128、129、130)来完成全备份。
四, 增加差分备份:
由于全备份会占用很长的备份时间,所以用户使用备份策略时,不仅仅要设置好全备份,而且要在每两个全备份之间,设置一些差分备份,在减少备份时间的同时,增加备份的次数。
差分备份日程表的设置很简单,仅仅需要在原先生成的全备份策略中,添加一个差分备份日程表即可,见图十一:
图十一:差分备份日程表
此外,需要设置好差分策略启动的时间,见图十二:
图十二:差分备份执行时间表
五, 手动执行差分备份日程表:
在设置好差分备份日程表之后,我们可以点击该备份策略,选择执行差分备份(图十三),之后在活动监控界面检查作业的执行情况(图十四):
图十三:选择差分备份
图十四:监控差分备份情况
由图十四可知,差分备份已经顺利执行完毕了(注意图十四的schedule列,里面包括全备份和差分备份)。这样,用户就顺利执行了以后oracle数据库的冷备份。
接着,用户需要等待NBU在备份策略设定的启动时间到达时,查看是否作业能够自动运行,如果可以,那么NBU的备份策略就算是大功告成了。
在后面,我们还会讲到oracle数据库的恢复和热备份,希望对大家使用NBU有所帮助。