分类: DB2/Informix
2008-05-31 17:18:47
OnBar 配置、命令和语法
在使用 OnBar 之前,需要:
请记住,OnBar 备份不包含:
对 OnBar 性能影响最大的三个配置参数是:
OnBar 使用缓冲区(称为传输缓冲区)对存储管理器收发数据。这些配置参数用来配置缓冲区的大小(BAR_XFER_BUF_SIZE)、缓冲区的数量(BAR_NB_XPORT_COUNT)和备份进程的数量(BAR_MAX_BACKUP)。
BAR_MAX_BACKUP 指定 OnBar 命令产生的并行进程的最大数量。如果在 ONCONFIG 文件中没有设置这个参数,默认值为 4。
如果设置为:
如果 BAR_MAX_BACKUP 是 0,那么并行性只受到操作系统和硬件的限制。
BAR_NB_XPORT_COUNT 决定 OnBar 分配的传输缓冲区的数量。默认值为 20。
BAR_XFER_BUF_SIZE 指定用来与服务器交换数据的每个传输缓冲区的大小(以页面为单位)。对于 2K 页面系统,默认值是 31;对于 4K 页面系统,默认值是 15。不要修改这个参数。BAR_XFER_BUF_SIZE 受 XBSA 标准的限制。XBSA 将通信缓冲区的大小限制在 64 KB,而且 IBM Informix 为头信息保留一个页面。
只能在数据库服务器处于在线、静默(quiescent)或单用户模式时,备份存储空间和逻辑日志。但是,可以在数据库服务器离线时救援逻辑日志。
onbar -b......(-L level) ......(-f filename, O, dbspace_list, -w) .(-F) -v |
备份逻辑日志:
onbar -b -l (-C -c -s), -O |
执行备份的命令示例如下。
$onbar -b - By default, all the dbspaces and blobspaces in the instance will be backed up, since no dbspaces or blobspaces are specified. - if the -L option is omitted, a level-0 backup is created. $onbar -b dbspace1 dbspace2 - You may also specify specific dbspaces to be backed up. - Each dbspace is specified by name, and each dbspace name is separated with a blank space. $onbar -b -f file_name - file_name specifies an ASCII file that contains a list of the dbspaces and blobspaces to be backed up. This syntax is useful if groups of dbspaces are routinely backed up together. Each dbspace name in the file should be on a separate line. $onbar -b -w - Whole system command for performing a whole system backup is shown above. - A whole system backup always includes all dbspaces and blobspaces. - Whole system backups are no longer performed serially and therefore, will be much faster with Version 11.xx than a whole system backups in older versions. - If the -L option is omitted, a level-0 backup is created. Whole system backup automatically includes the necessary logical log records of the transactions open at the time of archive checkpoint so that a whole-system restore will restore to a consistent point without any explicit logical log backups and restore. rootdbs is backed up first, without parallelism. $onbar -b -L 0 dbspace1 - creates a level-0 backup of only dbspace1. |
执行增量备份的语法如下。
$onbar -b -L 1 - Creates a level-1 backup of the entire OnLine instance. $onbar -b -L 2 -f file_name - creates a level -2 backup of all the dbspaces listed in file file_name. Whole system incremental backups are shown: $onbar -b -w -L 1 - Performs a level-1 backup of all the dbspaces and blobspaces in the OnLine instance. $onbar -b -w -L 2 - Performs a level-2 backup. |
伪备份(fake backup)
$onbar -b -F |
无论是否有存储管理器应用程序,这个命令都可以运行。如果指定了任何 dbspace,就会忽略它们。伪备份用于以下情况:
伪备份还适用于管理员认为不需要真实备份的其他特殊情况。
因为在伪备份期间实际上没有进行备份,所以不可能进行恢复。不鼓励使用伪备份。
逻辑日志备份
如果将 ALARMPROGRAM 设置为 no_log.sh 或另一个可执行文件,从而禁用了逻辑日志的自动备份,您就要负责备份逻辑日志。备份逻辑日志的命令如下。
$onbar -b -l - This command will back up all logs that are used but not backed up or current. $onbar -b -l -c - Will back up the current log. If you are performing a cold restore, and wish to salvage the logical logs, execute a log salvage command: $onbar -b -l -s $onbar -b -l -C - start a continuous logical log backup. |
检验 OnBar 备份
$onbar -v - Verify backups. You cannot verify the logical logs backups. $onbar -v -w - Verify a whole-system backup. |
onbar -v 命令无法检查数据行与 blobspace 中的简单大对象之间的链接。可以使用 oncheck -cD 命令检验 blobspace 中的链接。
|
紧急引导文件包含 OnBar 编目表(在 sysutils 数据库中)中关于备份对象的所有信息。如果 IDS 系统(和 OnBar 编目表)不可用,那么在冷恢复期间就需要这个文件。紧急引导文件还从 OnBar 接收关于逻辑日志文件的更新信息。如果逻辑日志文件完全写满了,OnBar 在备份日志时就无法更新编目,因为更新编目需要在日志中添加事务。通过将信息写到紧急引导文件,OnBar 就可以在备份逻辑日志之后更新编目。紧急引导文件位于 $INFORMIXDIR/etc 目录中,文件名是 ixbar.servernum,其中的 servernum 是 SERVERNUM 配置参数的值。下面是一个 OnBar 紧急引导文件示例:
dbserv_1110_tcp rootdbs R 1 1 0 26958 0 2007-04-25 20:45:07 1 48 1829648 1 0 - - 48 1177559107 117755577 8 8 dbserv_1110_tcp dbspace1 ND 1 1 0 26961 0 2007-04-25 20:53:25 1 48 1829648 1 0 - - 48 1177559107 117755577 8 9 dbserv_1110_tcp sblobspace1 ND 1 1 0 26959 0 2007-04-25 20:53:23 1 48 1829648 1 0 - - 48 1177559107 117755577 8 10 |
XBSA 是 X/Open Backup Services 应用程序编程接口(API)。OnBar 使用 XBSA 与存储管理系统交换信息。交换的信息有两种:控制数据以及备份或恢复数据。控制数据用来检查 OnBar 和 XBSA 是否兼容,确保对象以正确的次序恢复到正确的 OnLine 系统中,并跟踪备份对象历史。备份或恢复数据是来自 dbspace、blobspace 或日志文件的要备份或恢复的实际数据。使用 XBSA 事务通过 OnBar 在 OnLine 服务器和存储管理器之间传输数据库对象(dbspace、blobspace 或逻辑日志)。该事务可以维护备份和恢复数据的一致性。它保证,一个备份或恢复对象中的所有数据要么都在 OnLine 服务器和存储管理器之间传输,要么都不传输。每个会话可以使用多个 XBSA 事务,每个服务器可以有多个并发会话。
要想使用 OnBar 执行备份和恢复,必须有一个存储管理器。存储管理器管理备份和恢复所用的存储设备和介质,OnBar 处理数据移动和与 IDS 数据库服务器的通信。存储管理器还可能提供以下功能:
OnBar 使用 sysutils 数据库中的编目表跟踪 OnBar 备份对象和实例。OnBar 使用下面的表:
sysutils 数据库是在数据库服务器初始化时由 OnLine 创建的。关于 OnBar 使用的编目表的更多信息,请参考产品文档中的 Backup and Restore Guide。 注意:$INFORMIXDIR/etc/sm_versions —— sm_versions 文件位于 $INFORMIXDIR/etc 目录中,存储管理器必须在这个文件中有一个记录。对于 ISM,见 sm_versions.std。
当发生备份或恢复活动或者错误时,OnBar 在活动日志中写入简短的描述。在 onconfig 文件中,通过设置参数 BAR_ACT_LOG 指定 OnBar 活动日志文件的位置。
ontape 使用 ONCONFIG 文件中的六个参数来创建存储空间备份和逻辑日志备份。
TAPEDEV
这是存储空间备份使用的磁带设备的绝对路径名。在备份期间,ontape 将存储空间数据写到这个位置;在恢复期间,ontape 从这个位置读取数据。要想将 ontape 配置为使用 stdio,应该将 TAPEDEV 设置为 STDIO。在 IDS 11.10 和更高版本中,TAPEDEV 可以设置为一个目录(参见本教程后面的讨论)。
TAPEBLK
这是存储空间备份使用的磁带块大小(以 KB 为单位)。将块大小参数 TAPEBLK 和 LTAPEBLK 设置为磁带设备允许的最大块大小。
TAPESIZE
这是存储空间备份使用的磁带的大小(以 KB 为单位)。可以设置为 0,这意味着一直写到磁带的末尾,或者用完所有空间。
LTAPEDEV
这是逻辑日志磁带设备。
LTAPEBLK
这是逻辑日志备份使用的磁带块大小(以 KB 为单位)。
LTAPESIZE
这是逻辑日志备份使用的磁带的大小(以 KB 为单位)。可以设置为 0,这意味着一直写到磁带的末尾,或者用完所有空间。
ontape 实用程序期望磁带设备在完成每个命令之后自动反绕。应该为 TAPEDEV 和 LTAPEDEV 参数指定自动反绕的磁带设备。在读写磁带之前,数据库服务器会执行一系列需要反绕的检查。将 LTAPEDEV 设置为 /dev/null(在 Windows 上应该是 NUL),就会关闭逻辑日志备份。如果将 LTAPEDEV 参数设置为 /dev/null(在 Windows 上应该是 NUL),那么对应的块大小被忽略,不对逻辑日志进行备份。当逻辑日志被写满时,将它们自动地标为已备份,这样就可以重用它们。在这种情况下,不可能进行逻辑恢复。
检查磁带设备是否可以读取您指定的块大小。如果不行,就无法用这个磁带进行恢复。TAPESIZE 和 LTAPESIZE 指定可以写入磁带的最大数据量。
要想确保 ontape 备份和恢复操作能够成功,需要注意以下方面:
一般来说,ontape 实用程序不用于无人值守的备份和恢复操作。ontape 应该在管理员或操作员的控制下交互地运行,因为必须对各种提示做出响应。但是从 IDS 11.10 开始,ontape 可以备份到目录,因此设置无人值守的备份就比较容易了。(注意,OnBar 实用程序一直是为无人值守的备份设计的,如果需要无人值守的备份,OnBar 能够更好地满足需求。)
要想使用 ontape,必须作为用户 informix 或 root 进行操作。
通过执行 ontape 备份,可以完成以下任务:
执行 ontape 备份的命令示例如下:
$ontape -s This command will perform a full-system backup of all dbspaces. After executing the ontape command, you will be prompted to enter the backup level, either 0, 1 or 2. $Please enter the level of archive to be performed (0, 1, or 2) 0 Next you will be prompted to mount a tape and press return. $Please mount tape 1 on /space/TAPE/v11-tape and press Return to continue ... Next the backup will be performed showing percentage for completion and final message indicating completion and the logical log file that was current and was backed up also 10 percent done. 20 percent done. 30 percent done. 100 percent done. Please label this tape as number 1 in the arc tape sequence. This tape contains the following logical logs: 7 Program over. |
ontape 备份命令的简化语法图如下:
ontape -(s,v) -L (0,1,2) -t STDIO -F To create a backup, use the -s option of the ontape command. |--ontape--+-----+-- -s--+------------+--+-----------+--+-----+--+-----+--| '- -v-' '- -L--+-0-+-' '- -t STDIO-' '- -F-' '-| -y-' +-1-+ '-2-' options with ontape: -F The -F option directs ontape to perform a fake backup. A fake backup is only applicable during a backup to standard output. A fake backup is useful for cloning the data in a server. For example, to populate the secondary server in an High-Availability Data Replication pair. -L Directs ontape to create a backup of the level specified. The -L option to specify the backup level as part of the command, you can avoid being prompted for it. -s Directs ontape to create a backup. ontape prompts you to supply the backup level (0, 1, or 2) that you want to create if you do not supply a value using the -L option. -t STDIO Directs ontape to back up to standard output. The -t STDIO option overrides the value of the TAPEDEV configuration parameter for the current backup. -v Directs ontape to write informational message to stderr during a backup to standard output. Verbose mode is useful for monitoring the progress of a backup to standard output. -y Directs ontape to proceed without interactive prompts. You can turn off the prompts if you are backing up to or restoring from a directory of a file system. This option does not apply to tape devices, which much pause the backup while you change tapes. |
执行以下命令开始向磁带进行备份,但是不指定备份级别:
$ontape -s You can use the -L option to specify the level of the backup as part of the command, as the following example shows: $ontape -s -L 0 Use the -y option to avoid interactive prompts when you are backing up to or restoring from a directory: $ontape -s -L 0 -y |
要想对使用的所有逻辑日志(除了当前日志)进行随需备份(on-demand backup),应该输入以下命令:
$ontape -a The ontape process will write the logical logs to the backup devices specified by the LTAPEDEV configuration parameter. Performing automatic backup of logical logs. Please mount tape 1 on /dev/rst0 and press Return to continue . . . Do you want to back up the current logical log? (y/n) y Please label this tape as number 1 in the log tape sequence. This tape contains the following logical logs: 1 - 3 |
连续的逻辑日志备份
The ontape utility may be run in continuous backup mode. $ontape -c |
连续的逻辑日志备份需要一个专用的终端和备份设备。当服务器切换到下一个日志文件时,将原来使用的逻辑日志文件写到磁带设备上。通常,服务器会在一个逻辑日志文件写满时切换日志,但是管理员也可以强迫进行日志切换(通过执行 onmode -l 命令)。
可以使用 ontape 实用程序以非交互模式在文件系统中备份和恢复数据。要想启用这个特性,就需要将 TAPEDEV 和 LTAPEDEV 配置参数设置为本地或远程挂载的文件系统上的有效目录。这个目录必须存在,否则就会返回错误。ontape 实用程序自动生成文件名,并执行物理和日志备份。如果选择备份到目录,就不需要提供磁带。相反,数据会备份到本地文件系统的目录,或者已经挂载到本地系统的目录。运行备份的用户必须对这个目录有写权限。这个目录必须有足够的磁盘空间,足以容纳备份数据。在数据备份之后,可以使用操作系统实用程序对数据进行压缩。备份到目录有以下优点:
设置文件目录路径: 使用 TAPEDEV 配置参数指定存储空间备份使用的文件系统目录的绝对路径名。在备份期间,ontape 将存储空间数据写到这个位置;在恢复期间,ontape 从这个位置读取数据。用 LTAPEDEV 配置参数指定备份逻辑日志文件的目录。
提示:在备份到文件系统目录时,可以指定 -y 选项来关闭 ontape 的交互提示。
覆盖存档文件的默认名称:
可以覆盖存档文件的默认名称。如果 TAPEDEV 或 LTAPEDEV 是一个目录路径,那么默认文件名是 hostname_servernum_Ln(n 表示备份级别)和 hostname_servernum_Lognnnnnnnnnn(nnnnnnnnnn 是日志的编号)。通过设置环境变量 IFX_ONTAPE_FILE_PREFIX,可以覆盖永久文件名的前缀部分 hostname_servernum。例如,如果将 IFX_ONTAPE_FILE_PREFIX 设置为 "My_Instance",那么存档文件名就是 My_Instance_L0、My_Instance_L1、My_Instance_L2 和 My_Instance_Log0000000001、My_Instance_Log0000000002 等等。在恢复期间,ontape 在 TAPEDEV 目录中寻找 My_Instance_L0 这样的文件名,在 LTAPEDEV 目录中寻找 My_Instance_Log0000000001 这样的文件名。
Example: (ontape level 0 backup to a directory) $ ontape -s -L 0 -y 10 percent done. 20 percent done. 30 percent done. 100 percent done. File created: /space/TAPE/v11backup/blazer_110_L0 Please label this tape as number 1 in the arc tape sequence. This tape contains the following logical logs: 7 Program over. $ |
连续的 ontape 日志备份也可以发送到目录。
example: (Continuous log backup to a directory) $ ontape -c Performing continuous backup of logical logs. File created: /space/TAPE/v11backup/blazer_110_Log0000000006 File created: /space/TAPE/v11backup/blazer_110_Log0000000007 File created: /space/TAPE/v11backup/blazer_110_Log0000000008 |