Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86341883
  • 博文数量: 19285
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196072
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19285)

文章存档

2012年(1)

2011年(1)

2009年(125)

2008年(19095)

2007年(63)

分类: DB2/Informix

2008-05-31 17:18:47

OnBar 配置、命令和语法

在使用 OnBar 之前,需要:

  • 配置存储管理器
  • 设置适当的 ONCONFIG 配置参数
  • 决定逻辑日志的备份策略。如果用 OnBar 进行备份,那么 LTAPEDEV 一定不能设置为 /dev/null

请记住,OnBar 备份不包含:

  • 已经分配给区段(extent)但当前没有使用的 dbspace 页面。
  • 来自镜像块的页面(如果对应的主块可用的话)。
  • 光盘上存储的 blobspace 中的大对象。
  • 临时 dbspace。
  • 另外,OnBar 不备份服务器配置和管理文件,比如
    • onconfig 文件和 sqlhosts 文件
    • 紧急引导文件
    • oncfg 文件

OnBar 性能和并行性配置参数

对 OnBar 性能影响最大的三个配置参数是:

  • BAR_MAX_BACKUP
  • BAR_XFER_BUF_SIZE
  • BAR_NB_XPORT_COUNT

OnBar 使用缓冲区(称为传输缓冲区)对存储管理器收发数据。这些配置参数用来配置缓冲区的大小(BAR_XFER_BUF_SIZE)、缓冲区的数量(BAR_NB_XPORT_COUNT)和备份进程的数量(BAR_MAX_BACKUP)。

BAR_MAX_BACKUP 指定 OnBar 命令产生的并行进程的最大数量。如果在 ONCONFIG 文件中没有设置这个参数,默认值为 4。

如果设置为:

  • 0,那么进程数量等于备份的 dbspace 数量,或者操作系统允许的最大进程数量。
  • 1,顺序备份或恢复。
  • n,产生指定数量的进程。

如果 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 为头信息保留一个页面。

其他 OnBar 配置参数

  • BAR_ACT_LOG 指定 OnBar 活动日志文件的位置。
  • BAR_BSALIB_PATH 指定存储管理器的 XBSA 共享库的路径名和文件名。
  • BAR_DEBUG 指定 OnBar 活动日志中调试消息的级别。
  • BAR_DEBUG_LOG 指定 OnBar 调试日志的位置。
  • BAR_HISTORY 指定 sysutils 数据库是否维护备份历史。
  • BAR_PERFORMANCE 指定 OnBar 活动日志的性能统计数据的级别。
  • BAR_PROGRESS_FREQ 以分钟为单位指定备份或恢复消息在活动日志中出现的频率。
  • BAR_RETRY 指定 OnBar 重试备份或恢复操作的次数。
  • ISM_DATA_POOL 指定备份存储空间所用的卷池。(只应用于使用 ISM 存储管理器的情况。)
  • ISM_LOG_POOL 指定备份逻辑日志所用的卷池。(只应用于使用 ISM 存储管理器的情况。)

OnBar 备份命令和语法

只能在数据库服务器处于在线、静默(quiescent)或单用户模式时,备份存储空间和逻辑日志。但是,可以在数据库服务器离线时救援逻辑日志。


清单 1. OnBar 备份命令的简化语法图
                    

onbar 	-b......(-L level) 
	  ......(-f filename, O, dbspace_list, -w)
	  .(-F)
	-v   

备份逻辑日志:


清单 2. 逻辑日志备份
                    
onbar -b -l (-C -c -s), -O

执行备份的命令示例如下。


清单 3. OnBar 备份命令
                    
$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.

执行增量备份的语法如下。


清单 4. OnBar 增量备份命令
                    
$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)


清单 5. OnBar 伪备份命令
                    
$onbar -b -F 

无论是否有存储管理器应用程序,这个命令都可以运行。如果指定了任何 dbspace,就会忽略它们。伪备份用于以下情况:

  • 为了支持数据库日志记录模式中的修改。
  • 为了让用户使用新添加的日志、块或镜像。

伪备份还适用于管理员认为不需要真实备份的其他特殊情况。

因为在伪备份期间实际上没有进行备份,所以不可能进行恢复。不鼓励使用伪备份。

逻辑日志备份

如果将 ALARMPROGRAM 设置为 no_log.sh 或另一个可执行文件,从而禁用了逻辑日志的自动备份,您就要负责备份逻辑日志。备份逻辑日志的命令如下。


清单 6. OnBar 逻辑日志备份命令
                    
$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 备份


清单 7. 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 组件

紧急引导文件(emergency boot file)

紧急引导文件包含 OnBar 编目表(在 sysutils 数据库中)中关于备份对象的所有信息。如果 IDS 系统(和 OnBar 编目表)不可用,那么在冷恢复期间就需要这个文件。紧急引导文件还从 OnBar 接收关于逻辑日志文件的更新信息。如果逻辑日志文件完全写满了,OnBar 在备份日志时就无法更新编目,因为更新编目需要在日志中添加事务。通过将信息写到紧急引导文件,OnBar 就可以在备份逻辑日志之后更新编目。紧急引导文件位于 $INFORMIXDIR/etc 目录中,文件名是 ixbar.servernum,其中的 servernum 是 SERVERNUM 配置参数的值。下面是一个 OnBar 紧急引导文件示例:


清单 8. 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 库

XBSA 是 X/Open Backup Services 应用程序编程接口(API)。OnBar 使用 XBSA 与存储管理系统交换信息。交换的信息有两种:控制数据以及备份或恢复数据。控制数据用来检查 OnBar 和 XBSA 是否兼容,确保对象以正确的次序恢复到正确的 OnLine 系统中,并跟踪备份对象历史。备份或恢复数据是来自 dbspace、blobspace 或日志文件的要备份或恢复的实际数据。使用 XBSA 事务通过 OnBar 在 OnLine 服务器和存储管理器之间传输数据库对象(dbspace、blobspace 或逻辑日志)。该事务可以维护备份和恢复数据的一致性。它保证,一个备份或恢复对象中的所有数据要么都在 OnLine 服务器和存储管理器之间传输,要么都不传输。每个会话可以使用多个 XBSA 事务,每个服务器可以有多个并发会话。

存储管理器

要想使用 OnBar 执行备份和恢复,必须有一个存储管理器。存储管理器管理备份和恢复所用的存储设备和介质,OnBar 处理数据移动和与 IDS 数据库服务器的通信。存储管理器还可能提供以下功能:

  • 使用各种存储介质,从简单的磁带和磁盘设备到复杂的 stacker、robot 和 jukebox。
  • 连网和分布式备份和恢复过程。
  • 自动调度的备份。
  • 数据压缩和解压。
  • 数据加密和解密。

sysutils 数据库

OnBar 使用 sysutils 数据库中的编目表跟踪 OnBar 备份对象和实例。OnBar 使用下面的表:

  • bar_server 跟踪 IDS 的实例。
  • bar_object 跟踪备份对象的实例。
  • bar_action 跟踪针对每个备份对象的所有备份和恢复操作。
  • bar_instance 描述在成功的备份或恢复操作期间备份的每个对象。

sysutils 数据库是在数据库服务器初始化时由 OnLine 创建的。关于 OnBar 使用的编目表的更多信息,请参考产品文档中的 Backup and Restore Guide。 注意:$INFORMIXDIR/etc/sm_versions —— sm_versions 文件位于 $INFORMIXDIR/etc 目录中,存储管理器必须在这个文件中有一个记录。对于 ISM,见 sm_versions.std。

OnBar 活动日志

当发生备份或恢复活动或者错误时,OnBar 在活动日志中写入简短的描述。在 onconfig 文件中,通过设置参数 BAR_ACT_LOG 指定 OnBar 活动日志文件的位置。

Ontape 配置和需求

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 需求

ontape 实用程序期望磁带设备在完成每个命令之后自动反绕。应该为 TAPEDEV 和 LTAPEDEV 参数指定自动反绕的磁带设备。在读写磁带之前,数据库服务器会执行一系列需要反绕的检查。将 LTAPEDEV 设置为 /dev/null(在 Windows 上应该是 NUL),就会关闭逻辑日志备份。如果将 LTAPEDEV 参数设置为 /dev/null(在 Windows 上应该是 NUL),那么对应的块大小被忽略,不对逻辑日志进行备份。当逻辑日志被写满时,将它们自动地标为已备份,这样就可以重用它们。在这种情况下,不可能进行逻辑恢复。

检查磁带设备是否可以读取您指定的块大小。如果不行,就无法用这个磁带进行恢复。TAPESIZE 和 LTAPESIZE 指定可以写入磁带的最大数据量。

要想确保 ontape 备份和恢复操作能够成功,需要注意以下方面:

  • 如果可能的话,为服务器备份和逻辑日志备份指定不同的设备。
  • 考虑使用符号链接指定磁带设备。
  • 不要将 LTAPEDEV 指定为 /dev/null(UNIX)或 NUL(NT)。
  • 始终使用自动反绕的磁带设备。
  • 一定要为磁带设备指定有效的块大小和磁带大小。无效的块大小会导致恢复失败。

一般来说,ontape 实用程序不用于无人值守的备份和恢复操作。ontape 应该在管理员或操作员的控制下交互地运行,因为必须对各种提示做出响应。但是从 IDS 11.10 开始,ontape 可以备份到目录,因此设置无人值守的备份就比较容易了。(注意,OnBar 实用程序一直是为无人值守的备份设计的,如果需要无人值守的备份,OnBar 能够更好地满足需求。)

要想使用 ontape,必须作为用户 informix 或 root 进行操作。

Ontape 备份命令和语法

通过执行 ontape 备份,可以完成以下任务:

  1. 修改数据库的日志记录状态。
  2. 创建备份(完整的 0 级备份,1 级或 2 级增量备份)。
  3. 进行逻辑日志备份。
  4. 启动连续的日志备份。

执行 ontape 备份的命令示例如下:


清单 9. 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 备份命令的简化语法图如下:


清单 10. 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.

执行以下命令开始向磁带进行备份,但是不指定备份级别:


清单 11. Ontape 备份示例
                    

$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

用 ontape 进行逻辑日志备份

要想对使用的所有逻辑日志(除了当前日志)进行随需备份(on-demand backup),应该输入以下命令:


清单 12. ontape 命令
                    
$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

连续的逻辑日志备份


清单 13. 用 ontape 进行连续的日志备份
                    
The ontape utility may be run in continuous backup mode.
$ontape -c

连续的逻辑日志备份需要一个专用的终端和备份设备。当服务器切换到下一个日志文件时,将原来使用的逻辑日志文件写到磁带设备上。通常,服务器会在一个逻辑日志文件写满时切换日志,但是管理员也可以强迫进行日志切换(通过执行 onmode -l 命令)。

  • ontape -c 命令不应该作为后台进程运行。
  • 可以使用 -a 选项定期将逻辑日志备份到磁带;也可以运行 -c 选项,让每个逻辑日志在写满时自动备份。-c 选项会让 ontape 连续运行,但是需要一个专用的终端和磁带设备。它不能作为守护进程运行。

用 ontape 备份到目录

可以使用 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 这样的文件名。


清单 14. 向目录进行 Ontape 0 级备份
                    
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 日志备份也可以发送到目录。


清单 15. 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
阅读(1403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~