站内搜索:
当前位置:学院首页 >> 经验技巧 >> Netvault:如何在NVDB中减少informix log产生的任务
Netvault:如何在NVDB中减少informix log产生的任务
2007-05-19 23:04:25  作者:  来源:互联网  

对于Informix的备份,NetVault采用onbar作为接口。Onbar是informix数据库中专门为第三方软件提供的接口,是informix数据备份和恢复的重要工具。
当informix中的逻辑日志写满时,informix会自动启动$INFORMIX/etc/log_full.sh来进行逻辑日志的备份,而log-full.sh实际上是调用onbar –l 命令实现备份的。这样当onbar将数据传送给NetVault的时候,在NetVault的数据库中会为该任务生成一个唯一的任务ID,即jobID。那么当onbar将大量的逻辑日志发送给NetVault的时候,在NVDB中将产生大量的关于逻辑日志的ID,这会影响到NetVault的性能。

为了避免这种情况的出现,需要进行如下的设置:
1) 在NetVault中设置关于informix log的备份任务,并将该任务的schedule设为trigger方式。

2) 定义informix log 备份到指定的磁带的target set

 3) 在informix APM中定义该target set

 4) 修改$INFORMIXDIR/etc/log_full.sh 文件中的内容,使informix在调用onbar –l 命令时,直接调用nvtrigger命令实现informix log 备份。

$ vi $INOFRMIXDIR/etc/log_full.sh
PROG=`basename $0`
USER_LIST=informix
BACKUP_CMD="/usr/NetVault6/util/nvtrigger -server C240 infxlog" ->替换默认的“ onbar –l ”; -server 变量后面为netvault server的名字。
EXIT_STATUS=0

EVENT_SEVERITY=$1
EVENT_CLASS=$2
EVENT_MSG="$3"
EVENT_ADD_TEXT="$4"
EVENT_FILE="$5"

case "$EVENT_CLASS" in
23)
# onbar assumes no operator is present,
# so all messages are written to the activity
# log and there shouldn't be any output, but
# send everything to /dev/null just in case
$BACKUP_CMD 2>&1 >> /dev/null
EXIT_STATUS=$?
;;

# One program is shared by all event alarms. If this ever gets expanded to
# handle more than just archive events, uncomment the following:
*)
# EXIT_STATUS=1
;;
esac
exit $EXIT_STATUS

这样,当informix 的逻辑日志满时,informix 会调用NetVault的nvtrigger 命令进行相应的informix log 备份。

加入收藏】 【打印本页】 【关闭窗口】 【返回顶部