存储 频道

NBU网络备份大全之oracle系统热备份

数据库级热备份:

    对于数据库级热备份来说,我们可以利用NBU提供的脚本文件:/usr/openv/netbackup/ext/db_ext/oracle/samples/rman/hot_database_backup.sh,这是一个可执行脚本,内容就是在设置好运行oracle rman程序所需的一些环境变量后,从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 $?”则返回非零值,在这种情况下,用户需要从输入文件中发现错误原因并修改运行脚本。只有该脚本可以手动运行成功后,才能在备份策略中运行成功。

0
相关文章