nbu备份oracle.docx

上传人:b****2 文档编号:2933251 上传时间:2023-05-05 格式:DOCX 页数:17 大小:305.27KB
下载 相关 举报
nbu备份oracle.docx_第1页
第1页 / 共17页
nbu备份oracle.docx_第2页
第2页 / 共17页
nbu备份oracle.docx_第3页
第3页 / 共17页
nbu备份oracle.docx_第4页
第4页 / 共17页
nbu备份oracle.docx_第5页
第5页 / 共17页
nbu备份oracle.docx_第6页
第6页 / 共17页
nbu备份oracle.docx_第7页
第7页 / 共17页
nbu备份oracle.docx_第8页
第8页 / 共17页
nbu备份oracle.docx_第9页
第9页 / 共17页
nbu备份oracle.docx_第10页
第10页 / 共17页
nbu备份oracle.docx_第11页
第11页 / 共17页
nbu备份oracle.docx_第12页
第12页 / 共17页
nbu备份oracle.docx_第13页
第13页 / 共17页
nbu备份oracle.docx_第14页
第14页 / 共17页
nbu备份oracle.docx_第15页
第15页 / 共17页
nbu备份oracle.docx_第16页
第16页 / 共17页
nbu备份oracle.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

nbu备份oracle.docx

《nbu备份oracle.docx》由会员分享,可在线阅读,更多相关《nbu备份oracle.docx(17页珍藏版)》请在冰点文库上搜索。

nbu备份oracle.docx

nbu备份oracle

nbu备份oracle

   学习和掌握如何使用NBU备份文件系统,对于一个数据管理员来说,仅仅是一个开始。

因为对于大部分企业来说,买来NBU主要是为了备份企业数据库的数据,保护数据库的数据安全,进而保证企业应用的安全运行。

Oracle备份简介:

   简单的按照备份进行的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其实冷备份与热备份又可以合称为物理备份。

   按照备份的工具,可以分为EXP/IMP备份和RMAN。

一般来说,Exp/Imp是oracle的一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有很强的功能。

但是目前主要最广泛的Oracle备份恢复工具是rman。

RMAN是Oracle提供的一个数据库备份和恢复工具,利用rman可以方便进行数据库的冷备份和热备份。

此外,有一些个人用户,会使用OS拷贝,但是它的缺点是占用空间大,而且拷贝文件的内容一般与系

   在图一的选择中,选择“4NetBackupforOracle”,然后选择“q”确定选择,然后oracle代理就会被安装到本地系统中了。

接着,我们需要确认NBUoracle代理的注册码是否已经安装,因为NBU的oracle代理注册码是独立于NBU程序的,所以如果没有注册码,NBUoracle代理无法正常使用。

为此,在NBU客户端执行如下命令:

 

   #/usr/openv/netbackup/bin/admincmd/get_license_key

 

   在出现的界面中选择列出“FListActiveLicenseKeys”,在列出的feature中确定有如下feature:

“Oracleextension”,保证oracle的注册码安装在系统中。

 

如果注册码不存在,那么需要用户输入注册码,可以在上述命令中选择“AAddaLicenseKey”,将oracle代理注册码装入系统中。

 

二, 在NBU主服务器上创建oracle备份策略

   首先,本文作者假定用户已经阅读过前作(《NBU设置备份策略》),所以与普通策略配置相同的地方,将不重复阐述。

设定备份属性页

   在设置备份策略的时候,首先需要在策略属性页中,将备份类型设置为oracle,然后指定数据保存到什么地方(需要提前设置好存储单元,详见《NBU设置存储单元》一文),如图二所示:

图二:

设置oracle备份策略-属性

1. 设定备份日程表

   在备份策略的日程表设定中,有一个默认存在的备份日程表“Default-Application-Backup”,这次我们先不管它,我们去创建一个全备份日程表,如图三所示:

图三:

NBU备份策略-全备份日程表属性

   由图三可知,在日程表的属性中,主要是可以修改日程表的名称,另外就是备份类型是“AutomaticFullBackup”,其他的选项去普通配置相同,请参见《NBU设置备份策略》。

   注意这里要设置好NBU全备份的频率,太过频繁会导致磁盘占用的增多,如果是冷备份的话,还会导致数据库停机频繁,所以一般一周到几个月比较合适。

接着用户需要去设定oracle全备份的日程表,就是周几的什么时间可以执行全备份,用户可以选择周一下午到周二早晨(非工作时间),然后点击“duplicate”按钮,指定周几都可以,但是一定要是下班时间,见图四:

图四:

NBU备份策略-设置启动时间

2. 设定备份客户端:

   在设定好oracle的全备份日程表之后,我们就可以设置NBU客户端列表了,这里与普通备份策略的设置没有什么区别,所以这里不在累述了。

3. 设定备份选择

   在oracle备份策略的配置中,对于备份选择是非常重要的,这里将花费一些篇幅重点介绍它,见图五:

图五:

添加备份选择

   在图五所示界面中,有两个选项:

一是模板类型(Templateset),其中包括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代理启动了一些属性为“applicationbackup”的子任务(jobid分别是128、129、130)来完成全备份。

四, 增加差分备份:

   由于全备份会占用很长的备份时间,所以用户使用备份策略时,不仅仅要设置好全备份,而且要在每两个全备份之间,设置一些差分备份,在减少备份时间的同时,增加备份的次数。

   差分备份日程表的设置很简单,仅仅需要在原先生成的全备份策略中,添加一个差分备份日程表即可,见图十一:

图十一:

差分备份日程表

此外,需要设置好差分策略启动的时间,见图十二:

图十二:

差分备份执行时间表

五, 手动执行差分备份日程表:

   在设置好差分备份日程表之后,我们可以点击该备份策略,选择执行差分备份(图十三),之后在活动监控界面检查作业的执行情况(图十四):

图十三:

选择差分备份

图十四:

监控差分备份情况

   由图十四可知,差分备份已经顺利执行完毕了(注意图十四的schedule列,里面包括全备份和差分备份)。

这样,用户就顺利执行了以后oracle数据库的冷备份。

   接着,用户需要等待NBU在备份策略设定的启动时间到达时,查看是否作业能够自动运行,如果可以,那么NBU的备份策略就算是大功告成了。

   热备份的条件:

   用户如果需要进行热备份,那么必须将数据库设置为archivelog模式。

用户可以登录数据库后,通过“SQL>archiveloglist”查看数据库的模式是否是archivelog模式。

如果用户数据库不是在archivelog模式下,可以通过下列命令将其设置为归档模式:

   • SQL>shutdownimmediate

   • SQL>startupmount

   • SQL>alterdatabasearchivelog

   • SQL>alterdatabaseopen

   在归档模式下,用户的数据库会将所有的日志记录起来,所以时间一久就会占用大量的磁盘空间,所以用户可以按需,将数据库改回到非归档模式,方法如下所示:

   • SQL>shutdownimmediate

   • SQL>startupmount

   • SQL>alterdatabasenoarchivelog

   • SQL>alterdatabaseopen

热备份的类型:

   从NBU的角度来说,oracle的热备份分为两种:

一种是数据库备份,可以在不关闭数据库的情况下,备份某个数据库的数据文件、控制文件和归档日志文件等等;第二种备份模式是热备份表空间,可以在数据库关闭的情况下,备份某个数据库表空间的内容。

在本文中,我们就分别介绍一下如何进行数据库级备份和表空间级备份。

   注:

在这里,我只会讲到如何修改备份脚本来进行备份,如果用户对于如何创建oracle备份策略、如何运行全备份和增量备份、如何寻找NBU提供的备份脚本模板等问题存在疑惑的话,请参加前文《用NBU备份oracle系统-冷备份》。

数据库级热备份:

   对于数据库级热备份来说,我们可以利用NBU提供的脚本文件:

/usr/openv/netbackup/ext/db_ext/oracle/samples/rman/hot_database_backup.sh,这是一个可执行脚本,内容就是在设置好运行oraclerman程序所需的一些环境变量后,从root用户切换到oracle系统用户的帐号下,利用rman程序,将数据库的数据文件、归档日志文件和控制文件备份到用户指定的存储单元中。

在该文件中,我们需要修改如下参数(建议将该文件拷贝一份出来做修改,以免改错):

   ORACLE_HOME:

表示oracle所在的目录,NBU需要到其目录下执行相应的rman命令;

   ORACLE_SID:

指明需要冷备份的数据库;

   ORACLE_USER:

oracle数据库所属的系统用户,NBU会先用该用户登录,再执行各种备份操作;

   TARGET_CONNECT_STR:

登录oracle数据库的帐号,必须是系统管理员,因为冷备份需要停止oracle数据库先;

   热备份和冷备份模板脚本修改的区别在于:

冷备份需要指定oracle启动文件参数,这是因为冷备份需要关闭和重新启动数据库,所以需要启动配置文件;而热备份不关闭数据库,所以不需要该变量。

   重要:

另外需要用户注意的是,NBU提供的脚本运行时,会在脚本所在目录下生成一个同名的.out文件,里面记录了NBU脚本运行时产生的日志,然而该脚本会将这个日志名称作为参数传递给rman,而rman无法识别该参数中“.out”中的“.”,所以当运行该脚本时,会出现图一所示的错误,解决办法是:

要么用户在hot_database_backup.sh脚本中,将这条rman命令中的记录日志相关内容删除(图二);要么利用转义字符处理该字符串,使得rman可以正确识别该命令。

图一:

执行NBU脚本出现的问题

图二:

用户需要在脚本中所做的删除

   这样,用户就可以将该脚本放到oracle备份策略中的备份选择中并执行它了。

   小窍门:

为了保证NBU脚本没有问题,用户在运行NBU备份策略之前,最好手动运行该脚本,并通过查看相关的“.out”文件来检查是否脚本可以运行正确,如果脚本运行错误,则用户输入“#echo$?

”则返回非零值,在这种情况下,用户需要从输入文件中发现错误原因并修改运行脚本。

只有该脚本可以手动运行成功后,才能在备份策略中运行成功。

表空间级热备份:

   在使用表空间级备份之前,我们需要先解释一下catalog数据库(此catalog非NBU之catalog,是oracle的内容)。

Catalog也是一个数据库(几十兆而已),只不过这个数据库用来保存备份信息,一个恢复目录可以用来备份多个数据库。

RMAN可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。

保存在控制文件的备份信息是很危险的,如果控制文件的破坏将导致备份信息的丢失与恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。

所以对于重要的数据库,建议创建恢复目录。

   在表空间级热备份中,需要首先创建一个catalog数据库,所需命令如下:

   1, 为目录创建一个单独的表空间:

   SQL>CreatetablespaceTS_RMANdatafile'/oracle/catalog_rman.bdfsize50m;

   2, 创建RMAN用户:

   SQL>CreateuserRMANidentifiedbyRMANdefaulttablespaceTS_RMANtemporarytablespacetemp;

   3, 给RMAN授予权限:

   SQL>Grantconnect,resource,recovery_catalog_ownertorman;

   4, 连接到目标数据库和CATALOG数据库:

   rmantargetsystem/manager@target_tnsnamercvcatrman/rman@catalog_tnsname

   其中,target_tnsname是我们想要备份的数据库名称,catalog_tnsname是刚才创建rman表空间和rman用户所在数据库的名称,可以和备份数据库一个,因为我们这里仅仅是备份其他表空间。

   5, 创建CATALOG用户的表:

   rman>createcatalog

   6, 登记目标数据库:

   rman>registerdatabase

   这样,我们就成功创建了catalog表空间来存放备份信息。

   为了使得用户可以热备份oracle表空间,NBU为用户提供了一个模板脚本:

/usr/openv/netbackup/ext/db_ext/oracle/samples/rman/hot_tablespace_backup.sh。

用户需要修改的内容,除了和上述数据库级热备份需要的参数外,还需要下列参数:

   RCVCAT_TNS:

就是catalog表空间所在的数据库名称;

   RCVCAT_CONNECT_STR:

就是连接RCVCAT_TNS数据库所需要的rman的帐号信息,在本例中就是“RCVCAT_CONNECT_STR=rman/rman”。

   此外,在模板脚本中,只是热备份用户的SYSTEM表空间,而用户可以修改脚本,使得可以热备份其他的表空间。

首先我们需要查找到数据库中所有的表空间,见图三:

图三:

查看数据库的表空间

   在找到需要热备份的表空间后,用户需要修改hot_tablespace_backup.sh脚本中的字段,见图四:

图四:

修改表空间名称

   由图四可知,我们在脚本中修改黄圈以内的名称为任何存在的表空间名称即可。

   这样,对于表空间级的备份脚本就修改完毕了,用户可以试着运行该脚本,并通过输入文件hot_tablespace_backup.sh.out来解决可能出现的错误(一步一步教着,应该没什么错误吧!

),如果脚本可以运行正常,那么就需要将其加入到NBU的备份策略中,并设置好全备份和差分备份的日程表即可。

   通过本文的介绍,用户可以通过修改NBU自带的备份脚本,对oracle系统做数据库级或者表空间级的热备份了。

希望本文可以在用户使用NBUoracle代理的过程中,加深用户对于oracle数据库和NBU的理解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2