要考虑的另一个重要事项是ON-Bar 只提供物理备份;即,它可以应付数据库空间(dbspace)脱机、磁盘故障和引擎故障。如果某人删除表、运行错误的更新,或者删除他们不应删除的许多行,ON-Bar 不会提供保护。我把这些类型的错误叫作逻辑(或用户)错误。
使用ON-Bar 很难恢复逻辑错误。这是因为您不能从ON-Bar 备份中恢复单个表— 如果您想要进行表级备份,必须有计划的将那些表转储到磁盘。如果需要使用ON-Bar 恢复一个表,就需要对整个系统执行时间点(point in time)恢复,该时间点应在发生逻辑错误的时间之前。
需要备份什么?
除了您的数据(运行备份的主要目的)之外,每次运行ON-Bar 备份时,还应该备份其它文件。
$INFORMIXDIR 中有一些 ON-Bar 需要的文件,以便完成恢复。这些文件叫作“紧急引导文件”。它们的用途是在冷恢复(从完全丢失中恢复)事件中代替sysutils 数据库。建议您在ON-Bar 完成每次备份之后,备份这些文件。
大多数存储管理器都有一个Informix 特有的部件,可以为您处理这个问题(您会知道您是否有这个部件,因为您需要为它支付额外费用)。运行ON-Bar 时需要这个Informix 部件。确保正在备份这些文件,这一点很重要,因为这通常是一个可以被关闭的选项。
如果正在使用不会为您备份这些文件的ISM 或存储管理器,我建议每次备份之后,备份整个$INFORMIXDIR。这会确保您不会遗漏某个文件,以致将来发现不能恢复数据。如果不能完成备份整个$INFORMIXDIR,请参阅图2 获取紧急引导文件的列表和我建议您备份的其它一些文件。
sysutils 数据库
sysutils 数据库是ON-Bar 存储所有数据的地方。这个数据库会记住存储管理器标识(存储管理器需要这些标识来检索信息),以及关于备份了什么以及何时备份的信息。使用ON-Bar 时,它是一个至关重要的数据库(就象sysmaster 与数据库之间的关系)。
您将会留意到,当运行备份时,sysutils 的大小会增加。您要定期清除该数据库中的一些数据,可以使用onsmsync 实用程序来执行该操作。如果正在运行一个老版本的Informix,您也许会发现并不存在这个实用程序(这会把我们引入经常升级服务器的话题,但我会把这个问题留到另一个讨论中)。
配置 ON-Bar
配置ON-Bar 包括设置ON-Bar 以与存储管理器交互、设置ON-Bar 文件本身,以及设置所有onconfig 参数让ON-Bar 运行。请参阅图3,获取ON-Bar 配置文件列表。
设置ON-Bar 时,要查看的第一个文件是$INFORMIXDIR/etc 中的sm_versions 文件。该文件将存储管理器定义到ON-Bar。该文件中的缺省行将是ISM(存储管理器的Informix 部分),它将明确告诉您要将什么放到这个文件中。
$INFORMIXDIR/bin 中的实际ON-Bar 命令是一个脚本(对于V8.2、V7.3 以及更高版本)。这是设置某些环境变量的好地方,而这些变量是让ON-Bar 运行所需的任何特定于存储管理器的环境变量。如果正在运行Informix Extended Parallel Server?(XPS),另一个设置环境变量的地方就是$INFORMIXDIR/etc/start_worker.sh 文件。当日志满了,或者ON-Bar 需要启动另一个工作线程(worker thread)时,会调用这个文件。
onconfig 文件中的一些参数控制ON-Bar 的操作(请参阅图4)。以下将讨论应当更改其缺省值的参数。
BAR_ACT_LOG 是ON-Bar 日志文件的完全路径名称。这个文件通常叫作bar_act.log。示例是BAR_ACT_LOG /Informix/logs/bar_act.log
BAR_BOOT_DIR 是包含紧急引导文件的目录的路径名称。除非您移动它们,否则这个目录是$INFORMIXDIR/etc。示例是BAR_BOOT_DIR /usr/Informix/etcBAR_RETRY 是如果ON-Bar 进程一开始就失败,在放弃之前重试该进程的次数。我通常将这个值设置为0,因为ON-Bar 进程的失败通常表示有其它东西出错了,重试不起作用。示例是BAR_RETRY 0BAR_PROGRESS_FREQ 控制ON-Bar 将进展写到bar_act.log 文件的频繁程度。我让它保留为0,除非需要进一步调试。缺省情况下,ON-Bar 会将大量数据写到日志文件中。
最新相关文章
发表评论