ChinaUnix首页 > 精华文章 > 存储备份之家 > 正文

[原创] 原创DB2 Backup and Restore with NBU 6.5,即各种方法之比较


http://www.chinaunix.net 作者:redwaves  发表于:2009-07-27 09:35:39
发表评论】 【查看原文】 【存储备份之家讨论区】【关闭

DB2 Backup and Restore with NBU 6.5

以DB2 V9.1  for windows+NBU Server V6.5 for Windows 为例:

(一)查看DB2参数配置
1.进入命令中心,查看现有数据库,使用命令db2ilist列出现有实例名:
[attach]338619[/attach]

2.查询数据目录和数据库名:db2 list db directory
[attach]338622[/attach]

3.联接到数据库NBU:  db2 connect to NBU
[attach]338621[/attach]

4.查看数据库当前的参数:db2 get db cfg

[attach]338623[/attach]

[attach]338624[/attach]

注:
如果要做在线的备份,要对两个参数作修改: USEREXIT和LOGRETAIN,将其修改为on,他们默认是off的,默认使用循环日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档

5.设置参数据userexit参数为ON: db2 update db cfg for db_name using userexit on
[attach]338626[/attach]
6.设置参数logretain为on: db2 update db cfg for db_name using logretain on
[attach]338627[/attach]
7.停掉应用使参数生效:db2 force application all
8.此时需要做一次离线的全备。否则数据是backup pending状态的,无法联结
[attach]338628[/attach]
9.使数据库能够做到增量备份。必须要修改trackmod为 on 状态,并有一次完全备份
10.修改日成文件存放路径: db2 update db cfg for NBU using NEWLOGPATH D:\DB2LOG
11.再次查看当前的数据库状态: db2 get db cfg
[attach]338629[/attach]

12.将用户标识添加至 DB2ADMNS 和 DB2USERS 用户组(Windows)

(二)配置备份:使用LOGARCHMETH1 = "VENDOR.." 参数,versions 8.2 and above
1.将LOGARCHMETH1设为VENDOR:
 Sqllib\bin\>db2 update db cfg for NBU uing LOGARCHMETH1 VENDOR:C:\progra~1\veritas\netbackup\bin\nbdb2.dll
[attach]338631[/attach]
2.创建DB2数据备份策略DB2_DB
Attributes
Policy type:    DB2
[attach]338632[/attach]
Schedules
Name:     DBFULL
Type of Backup:Automatic Full Backup
[attach]338633[/attach]
Schedule:
Name:   Default-Appplication-Backup-DB
Type of Backup: Application Backup
[attach]338634[/attach]
Clients:    db2服务器主机名
Backup Selections:db2_backup_nbu_online.cmd
3.创建DB2日志备份策略DB2_LOG
Attributes:
Policy type:   DB2
[attach]338635[/attach]
Schedules:
Name:   Default-Application-Backup-LOG
Type of backup: Application Backup
[attach]338636[/attach]
Schedule:
Name:   LOGFuLL
Type of backup:Automatic Full Backup
[attach]338637[/attach]
Clients: DB2数据库主机
Backup Selections:
注此处为空

4.配置db2.conf参数文件
将示例 db2.conf 文件从其所在的示例文件夹位置复制到活动位置。
从install_path\NetBackup\dbext\db2\samples\db2.conf复制到
  Install_path\NetBackup\dbext\db2\db2.conf
修改如下项:
DATABASE SAMPLE
OBJECTTYPE DATABASE
POLICY DB2_DB_Policy
SCHEDULE Default-Application-Backup
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_Log_Policy
SCHEDULE User
ARCFUNC SAVE
#ARCFUNC COPY
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_ARCH_Policy
SCHEDULE Default-Application-Backup
ENDOPER

为下面的配置:
DATABASE [color=Red]NBU[/color]
OBJECTTYPE DATABASE
POLICY [color=Red]DB2_DB[/color]
SCHEDULE [color=Red]Default-Application-Backup-DB[/color]
ENDOPER

#DATABASE SAMPLE
#OBJECTTYPE ARCHIVE
#POLICY DB2_Log_Policy
#SCHEDULE User
#ARCFUNC SAVE
#ARCFUNC COPY
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
#ENDOPER

DATABASE [color=Red]NBU[/color]
OBJECTTYPE ARCHIVE
POLICY [color=Red]DB2_LOG[/color]
SCHEDULE [color=Red]Default-Application-Backup-LOG[/color]
ENDOPER

[color=DarkRed]注意:配置中红色部份与策略中对应[/color]

5.创建备份脚本文件
将备份示例脚本从install_path\NetBackup\ DbExt\sample\ db2_backup_db_online.cmd复制到D盘
D:\db2_backup_nbu_online.cmd
并修改以下项:
@REM Example: @set db2_nblib=C:\progra~1\veritas\netbackup\bin\nbdb2.dll
@set db2_nblib=C:\progra~1\veritas\netbackup\bin\nbdb2.dll
@echo db2_nblib = %db2_nblib%

@REM Example: @set db2_home=D:\sqllib
@set db2_home=D:\sqllib
@echo db2_home = %db2_home%

@REM Example: @set db2_name=SAMPLE
@set db2_name=NBU
@echo db2_name = %db2_name%
6.确认db2uext2.exe
确认DB2安装目径的bin下有db2uext2.exe,如果没有
将C:\Program Files\Veritas\NetBackup\DbExt\DB2\db2uext2.exe复制到D:\SQLLIB\BIN
此情况一般出现在先安装了NBU后安装DB2

(三)配置备份:使用用户出口程序和 ARCFUNC SAVE(日志产生自动备份)
1.将启用的日志记录的用户出口参数USEREXIT设为ON
2.创建DB2数据库备份策略DB2_LOG 类型: DB2
3.创建DB2日志备份策略DB2_LOG 类型:MS-Windows-NT
Attributes
[attach]338639[/attach]
Schedule:
[attach]338640[/attach]
[color=Red]Backup Selections:此处为空[/color]
4. 配置db2.conf参数文件
将示例 db2.conf 文件从其所在的示例文件夹位置复制到活动位置。
从install_path\NetBackup\dbext\db2\samples\db2.conf复制到
  Install_path\NetBackup\dbext\db2\db2.conf
修改如下项:
DATABASE SAMPLE
OBJECTTYPE DATABASE
POLICY DB2_DB_Policy
SCHEDULE Default-Application-Backup
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_Log_Policy
SCHEDULE User
ARCFUNC SAVE
#ARCFUNC COPY
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_ARCH_Policy
SCHEDULE Default-Application-Backup
ENDOPER

为下面的配置:
DATABASE[color=Red] NBU[/color]
OBJECTTYPE DATABASE
POLICY [color=Red]DB2_DB[/color]
SCHEDULE [color=Red]Default-Application-Backup-DB[/color]
ENDOPER

DATABASE [color=Red]NBU[/color]
OBJECTTYPE ARCHIVE
POLICY  [color=Red]DB2_LOG[/color]
SCHEDULE [color=Red]User[/color]
ARCFUNC [color=Red]SAVE[/color]
#ARCFUNC COPY
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
ENDOPER

#DATABASE NBU
#OBJECTTYPE ARCHIVE
#POLICY DB2_LOG
#SCHEDULE Default-Application-Backup
#ENDOPER

[color=Red]注意:配置中红色部份与策略中对应[/color]

(四)配置备份:使用用户出口程序和 ARCFUNC COPY(日志采用文件备份)
1.将启用的日志记录的用户出口参数USEREXIT设为 ON, 已更改的至日志文件的路径                   
NEWLOGPATH参数设为你的日志文件存放路径例如:D:\DB2LOG\NBU\
2.创建DB2数据库备分策略DB2_DB 类型: DB2
Attributes:
Policy type: DB2
Schedules:
DBFULL
Schedule:
Default-Application-Backup-DB

3.创建日志归档策略DB2_LOG 类型:MS-Windows-NT
Attributes:
Policy type:MS-Windows-NT
[attach]338641[/attach]
Schedules:
Name:USER_ARCHIVE
Type of backup:User Archive
[attach]338642[/attach]
[color=Red]Backup Selections:此处为空[/color]
4.创建DB2日志备份策略DB2_LOG_ARCHIVE类型: MS-Windows-NT
[attach]338643[/attach]
Schedules:Full 
[attach]338644[/attach]
Backup Selections:此处为db2.conf中定义的目录ARCDIR目录
[attach]338647[/attach]
5.配置db2.conf参数文件
将示例 db2.conf 文件从其所在的示例文件夹位置复制到活动位置。
从install_path\NetBackup\dbext\db2\samples\db2.conf复制到
  Install_path\NetBackup\dbext\db2\db2.conf
修改如下项:
DATABASE SAMPLE
OBJECTTYPE DATABASE
POLICY DB2_DB_Policy
SCHEDULE Default-Application-Backup
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_Log_Policy
SCHEDULE User
ARCFUNC SAVE
#ARCFUNC COPY
#ARCDIR /home/db2inst1/arcdir
#RETDIR /home/db2inst1/arcdir
ENDOPER

DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_ARCH_Policy
SCHEDULE Default-Application-Backup
ENDOPER

为下面的配置:
[color=Red]DATABASE NBU
OBJECTTYPE DATABASE
POLICY DB2_DB
SCHEDULE Default-Application-Backup-DB
ENDOPER[/color]

[color=Red]DATABASE NBU
OBJECTTYPE ARCHIVE
POLICY DB2_LOG
SCHEDULE USER_ARCHIVE[/color]
#SCHEDULE User
#ARCFUNC SAVE
[color=Red]ARCFUNC COPY[/color]
[color=Red]ARCDIR D:\DB2LOGARC
RETDIR D:\DB2LOG\NBU\ \NODE0000
ENDOPER[/color]

#DATABASE NBU
#OBJECTTYPE ARCHIVE
#POLICY DB2_LOG
#SCHEDULE Default-Application-Backup-LOG
#ENDOPER

[color=Red]注意:配置中红色部份与策略中对应
  # Use ARCDIR 指日志备份目标路径
# Use RETDIR 指DB2归档日志源路径,即db2 cfg指定的目径[/color]
6.创建备份脚本文件
将备份示例脚本从install_path\NetBackup\ DbExt\sample\ db2_backup_db_online.cmd复制到D盘
D:\db2_backup_nbu_online.cmd
并修改以下项:
@REM Example: @set db2_nblib=C:\progra~1\veritas\netbackup\bin\nbdb2.dll
@set db2_nblib=C:\progra~1\veritas\netbackup\bin\nbdb2.dll
@echo db2_nblib = %db2_nblib%

@REM Example: @set db2_home=D:\sqllib
@set db2_home=D:\sqllib
@echo db2_home = %db2_home%

@REM Example: @set db2_name=SAMPLE
@set db2_name=NBU
@echo db2_name = %db2_name%
7.确认db2uext2.exe
确认DB2安装目径的bin下有db2uext2.exe,如果没有
将C:\Program Files\Veritas\NetBackup\DbExt\DB2\db2uext2.exe复制到D:\SQLLIB\BIN
此情况一般出现在先安装了NBU后安装DB2

(五)配置备份:使用用户出口程序,并且日志驻留在原始分区(raw)
如果使用的是用户出口程序,并且日志驻留在原始分区(PARTITIONTYPE RAW) 上,则可使用以下形式:
DATABASE SAMPLE
OBJECTTYPE ARCHIVE
POLICY DB2_TYPE_POL_LOGPOL (DB2 类型的策略)
SCHEDULE DEFAULT-APPLICATION-BACKUP
在 POLICY 行中,指定 DB2 策略的名称。该策略可以与用来备份数据库的策
略相同。
在 SCHEDULE 行中,指定一个 Default-Application-Backup 日程表。

注:与前面备份其他配置基本相同

(六)DB2数据完全恢复

D:\SQLIB\BIN>db2 restore db NBU load c:\progra~!\veritas\netbackup\bin\nbdb2.dll
D:\SQLIB\BIN>db2 rollforward db NBU to end of logs and stop
[attach]338648[/attach]


[color=Red](七)以上NBU备份DB2方法之比较[/color]
(二)配置备份:使用LOGARCHMETH1 = "VENDOR.." 参数,versions 8.2 and above
     对于日志的备份类似于informix必须保证有空闲磁带机,当日志产生时直接写入磁带,但由于在NBU中DB2全备份与日志备份策略是关联的,当日志备份起动时也会发起DB的备份所以对于DB的备份最好采用增量方式,恢复时可以直接作rollforward无须将日志导入磁盘

(三)配置备份:使用用户出口程序和 ARCFUNC SAVE(日志产生自动备份)
    对于日志备份是先生成存于DB2主机目录上,所以必须有相应的空间,当下一日志产生时日志自动备份到磁带,恢复时可以直接作rollforward无须将日志导入磁盘

(四)配置备份:使用用户出口程序和 ARCFUNC COPY(日志以文件方式备份)
    对于日志备份当日志产生时自动COPY到指定目录,所以必须有空间存放.再以文件方式备份。日志备份之后不可以自动清除,需要手工或通过脚本方式清除以释放磁盘这间。恢复时得先将日志导入主机磁盘再作rollforward

(八)对于UNIX平台的备份恢复方法基本一样,只是一些相关参数lib、db2.conf.db2_backup_nbu_online.cmd存放路径不一样.详情参考手册

(九)DB2参考
DB2 通用数据库中的事务性日志记录概述
简介
任何数据库管理系统都必须拥有确保数据一致性和可恢复性的机制。关系数据库系统为确保那些非常重要的特性所使用的众多机制之一是事务性日志记录。在本文中,我们将定义和讨论事务性日志记录的类型。我们将详细讨论如何分配日志文件、如何存储它们,以及您可能会遇到什么样的错误。最后,我们将讨论 V8 中可用的新特性,这些特性使事务性日志记录变得比以往更加可伸缩并且更通用。

事务性日志记录是什么?

数据库存储了供应用程序访问和处理的数据。那些应用程序会插入、读取、更新或删除数据。每一个这样的活动都是在一个事务中执行的,该事务被 定义成“应用程序过程中一个可恢复的操作序列”。除非已经提交了事务(也称作“工作单元”),否则它不会影响数据库。 

将数据库操作组合到事务中只是确保数据一致性解决方案的一半。另一半是称作 预写式日志记录(write-ahead logging)的数据库管理器实现。不管事务是否被提交,只要它们发生,就会记录这些事务。在将任何数据从缓冲池写到数据库结构之前,事务会从 日志缓冲区(log buffer)写到 日志文件(事务性日志记录)。用于记录事务的文件叫作 事务日志 。

事务性日志记录的类型不止一种吗?

DB2 UDB 有两种可用的日志记录类型 - 循环(circular)日志记录和 归档(archive)日志记录。 

循环日志记录

循环日志记录是数据库使用的缺省日志记录策略。在此策略中,一旦日志目录中最后一个主日志文件被写满了,就会将新的事务写到第一个日志文件中,从而覆盖现有的日志数据。这些新事务会继续依次覆盖每个旧日志文件。这种日志记录方法确保了所有已提交事务的数据一致性,这样就可以执行应急恢复。

循环日志记录通常在数据仓库环境中使用,在该环境中,恢复数据库需要的只是恢复数据库映象的问题。该策略不应该用在线事务处理(on-line transaction processing,OLTP)环境,因为它不可能进行前滚恢复。下面的图 1 说明了循环日志记录:
[attach]338649[/attach]
归档日志记录

与循环日志记录相比,当最后一个日志文件写满时,归档日志记录过程会创建一个新的日志文件,这样将来的事务就不会覆盖现有的日志文件。当初始化数据库时,系统会在活动日志目录中分配一定数量、指定大小的主日志文件。这个数量由数据库配置参数(在 下一节中讨论)控制。当主日志文件都写满时,就会“根据需要”创建辅助日志文件,直到创建了最大数量的辅助日志文件为止。一旦达到了这个数量,如果需要附加的日志空间,就会发出一个错误,指出没有更多的可用日志文件,所有数据库活动停止。 

利用归档日志记录,就可能采取联机数据库备份,在执行这一操作期间,会继续记录数据库活动。如果数据库崩溃或发生故障,就会使用全备份映象,然后执行使用归档日志的前滚操作,通过前滚到日志结尾,将数据库恢复到时间点状态或最近的一致状态,从而恢复数据库。

有两种归档日志:

联机归档日志:它们是驻留在数据库日志目录(“online”)中、普通数据库活动不再需要的日志文件。 
脱机归档日志:它们是已经从数据库日志目录移到脱机存储位置(如备份服务器)、普通数据库活动不需要的日志文件。 
图 2 说明了归档日志记录:
[attach]338650[/attach]
有什么参数可以控制日志?

通过数据库配置参数在数据库级别上控制事务性日志记录。以下是影响事务性日志记录的参数:

LOGRETAIN

该参数使归档日志保留在数据库日志路径目录中。通过将它设置成“RECOVERY”来启用它,从而允许数据库管理器使用前滚恢复方法。当启用了 logretain配置参数时,就不需要启用 userexit 。这两个参数中的任何一个都足以允许前滚恢复方法。 

使用该参数表示覆盖了循环日志记录(缺省值)。以下是 logretain的有效值: 

No(缺省值)- 表示不保留日志。 
Recovery- 表示保留日志,且可以用于前滚恢复。此外,如果您使用数据复制,CAPTURE 程序可以将日志中所记录的更新写到更改表。 
Capture- 表示只保留日志,这样 Capture 程序可以将更新写到更改表。如果没有裁剪这些日志,那么它们可以用于正向恢复。注:通常仅当为了数据复制而设置数据库时,才使用 Capture 设置。 
如果 logretain设置成“Recovery”或者 userexit设置成“Yes”(请参阅 下一节),将保留活动日志文件,而且这些文件将变成联机归档日志文件,以便在前滚恢复中使用。这称为日志保留记录。 

在将 logretain设置成“Recovery”和/或将 userexit设置成“Yes”之后,必须对数据库进行完全备份。这一状态由 backup_pending标志参数表示。 

如果 logretain设置成“No”并且 userexit也设置成“No”,就不能对数据库执行前滚恢复,而且可恢复性仅限于最新的数据库备份。 

当 logretain设置成“Capture”时,在 Capture 程序完成时,它会调用 PRUNE LOGFILE 命令来删除日志文件。虽然如果不裁剪日志,这些日志就可以用于正向恢复,但如果您想要确保可以对数据库执行前滚恢复,就不应该将 logretain设置成“Capture”。 

如果 logretain设置成“No”并且 userexit也设置成“No”,就不会保留日志。在这种情况下,数据库管理器会删除 logpath目录中的所有日志文件(包括联机归档日志文件),分配新的活动日志文件,并且回复到循环日志记录。 

当 logretain配置参数设置成“RECOVERY”时,日志文件将保留在活动日志路径中。活动日志路径由数据库配置文件中的“日志文件路径(Path to Log Files)( logpath)”或“更改的日志文件路径(Changed Path to Log Files)( newlogpath)”值确定。 

USEREXIT

该参数使数据库管理器调用用户出口程序来归档和检索日志。启用了用户出口之后,就允许前滚恢复。当启用了 userexit配置参数时,就不需要启用 logretain。这两个参数中的任何一个都足以允许前滚恢复方法。 

使用该参数表示覆盖了循环日志记录(缺省值)。 userexit包含有 logretain的功能,反之却不成立。 

当使用 userexit 配置参数或 logretain配置参数以允许前滚恢复时,活动日志路径非常重要。当启用了 userexit配置参数时,会调用用户出口来归档日志文件,并将它们移到活动日志路径以外的位置。 

以下是该参数的有效值:

No(缺省值) 
Yes 
如果启用了该参数,无论 logretain参数如何设置,都会执行日志保留记录。该参数还表示用户出口程序应该用于归档和检索日志文件。当数据库管理器关闭日志文件时,会归档日志文件。当 ROLLFORWARD 实用程序需要使用日志文件来恢复数据库时,就会检索它们。 

在启用了参数 logretain和/或 userexit时,必须对数据库进行完全备份。这一状态由 backup_pending标志参数表示。 

如果取消选择这两个参数,就不能对数据库进行前滚恢复,因为将不再保留日志。在这种情况下,数据库管理器会删除 logpath目录中的所有日志文件(包括联机归档日志文件),分配新的活动日志文件,并且回复到循环日志记录。 

LOGPRIMARY

该参数指定要创建的主日志的数量。

无论主日志是空的还是满的,所需的磁盘空间量都是相同的。因此,如果您配置的日志数量比需要的多,那么您就不必要地多使用了磁盘空间。如果您配置的日志太少了,就会遇到“日志满”情况。当选择要配置的日志数量时,必须考虑您生成的每个日志的大小,以及您的应用程序是否能处理“日志满”情况。

如果您对现有数据库启用前滚恢复,将主日志的数量更改成当前正在使用的主日志和辅助日志的数量总和,再加 1。对于为了前滚恢复而在数据库中启用 long varchar和 LOB字段这样的附加信息,也会记录在日志中。 

对于 V7.2,总的日志文件大小限制是 32 GB,对于 V8.1,这个限制是 256 GB。即,日志文件的数量(LOGPRIMARY + LOGSECOND)乘以以字节为单位的每个日志文件的大小(LOGFILSIZ * 4096)必须分别小于 32 GB 或 256 GB。

LOGSECOND

该参数指定为恢复日志文件(仅当需要时)而创建和使用的辅助日志文件的数量。请注意,日志文件的总数由以下等式限制:

logprimary+ logsecond<= 128(DB2 UDB V7.2),256(DB2 UDB V8.1) 
当主日志文件满了时,就会按需要每次分配一个辅助日志文件(大小为 logfilsiz),最多达到由该参数控制的最大数量。如果所需的辅助日志文件的数量比该参数允许的数量大,就会将一个错误代码返回到应用程序,并且会停止对数据库的操作。 

LOGFILSZ

该参数确定了每个已配置日志的页数量。一页的大小是 4 KB。每个主日志的大小(页数量)对数据库性能有直接影响。当将数据库配置成保留日志,每当写满一个日志时,就会发出一个分配和初始化一个新日志的请求。增加日志大小会减少为分配和初始化新日志所需的请求数量。但是,请注意,日志大小越大,格式化每个新日志所花费的时间就越多。格式化新日志对于连接到数据库的应用程序是透明的,而且也不会影响数据库性能。

LOGBUFSZ

该参数允许您指定数据库共享内存的数量,在将日志记录写到磁盘之前,用该共享内存作为这些记录的缓冲区。当发生以下情况之一时,会将日志记录写到磁盘:

事务提交。 
日志缓冲区满了。 
引起写操作的其它一些内部数据库管理器事件。 
缓冲日志记录将导致使日志文件 I/O 更有效,因为将日志记录写到磁盘的频率将更低,而每次写入磁盘的日志记录则更多。

MINCOMMIT

该参数允许您延迟将日志记录写到磁盘,直到已经执行了所规定的最小数量的提交。当您有多个针对数据库的应用程序正在运行,并且应用程序在非常短的时间段里请求了许多提交,那么该延迟可以帮助减少与写日志记录相关的数据库管理器开销,从而提高性能。

这种提交分组只有在该参数的值大于 1 且连接到数据库的应用程序数量大于该参数的值时才会发生。当执行提交分组时,应用程序提交请求将被挂起,直到以下两种情况有一种先发生:时间过去一秒或者提交请求的数量等于该参数的值。

NEWLOGPATH

数据库日志最初创建在名为 SQLOGDIR 的目录中,该目录是数据库目录的子目录。可以通过将该配置参数的值更改成指向另一个目录或设备来更改放置活动日志和将来归档日志的位置。如果将数据库配置成进行前滚恢复,那么就不会将当前存储在数据库日志路径目录中的归档日志移到新的位置。

因为您可以更改日志路径位置,所以前滚恢复所需的日志可能会在不同的目录中或在不同的设备上存在。在前滚过程中可以更改此配置参数以允许您访问多个位置中的日志。

在数据库处于一致状态之前,将不会更改对 newlogpath的值。信息性数据库配置参数 database_consistent表示数据库的状态。 

注:数据库管理器每次写一个事务日志。可以是活动状态的事务的总大小受数据库配置参数限制: 

日志空间 
>= LOGFILSIZ * LOGPRIMARY * 4096 字节 
<= LOGFILSIZ * (LOGPRIMARY + LOGSECOND) * 4096 字节 <= 32 GB(对于 V7.2)或 <= 256 GB(对于 V8.1)

[ 本帖最后由 redwaves 于 2009-7-4 16:12 编辑 ]





































































































































 无牙 回复于:2009-07-02 21:25:02

不错!


 brucewoo 回复于:2009-07-02 22:10:06

学习一下.


 sqlinux218 回复于:2009-07-02 22:23:57

不错,谢谢共享


 VV.VV.VV 回复于:2009-07-02 22:41:19

文章中写道USEREXIT和LOGRETAIN,将其修改为on,启用了userexit做数据库日志的归档;为什么后面却将LOGARCHMETH1 设置为 "VENDOR.."?:shock:


 redwaves 回复于:2009-07-03 00:32:34

引用:原帖由 VV.VV.VV 于 2009-7-2 22:41 发表 [url=http://bbs2.chinaunix.net/redirect.php?goto=findpost&pid=10821397&ptid=1496996]
文章中写道USEREXIT和LOGRETAIN,将其修改为on,启用了userexit做数据库日志的归档;为什么后面却将LOGARCHMETH1 设置为 "VENDOR.."?:shock: 



LOGARCHMETH1 一般是设置到磁盘的某个目录下,当日志产生就存在那个目录下.若使用VENDOR方式就直接存到备份软件所管理的设备上。


 xzc999 回复于:2009-07-03 08:48:52

LZ做成PDF文档,我顶你2次
呵呵


 jlhwlw 回复于:2009-07-03 10:11:24

很好很详细,谢谢,我DING DING


 VV.VV.VV 回复于:2009-07-03 10:21:16

引用:原帖由 redwaves 于 2009-7-3 00:32 发表 [url=http://bbs2.chinaunix.net/redirect.php?goto=findpost&pid=10821590&ptid=1496996]


LOGARCHMETH1 一般是设置到磁盘的某个目录下,当日志产生就存在那个目录下.若使用VENDOR方式就直接存到备份软件所管理的设备上。 



我个人认为,前面设置了userexit,那么LOGARCHMETH1也应该设为userexit。不正之处请指教。


 jadge 回复于:2009-07-03 11:30:22

好帖!顶你!


 flb_2001 回复于:2009-07-03 16:40:57

不错,应该支持一下


 mantuntun 回复于:2009-07-03 17:58:21

收藏一下


 aaaaa5aa 回复于:2009-07-04 12:41:25

不错,来学习了


 无牙 回复于:2009-07-05 21:57:03

这么好的贴一定要顶上去。


 wangqis 回复于:2009-07-06 10:16:50

所以一定要顶地


 zhaoxinbbs 回复于:2009-07-07 19:05:43

ARCFUNC SAVE

以及copy的方式需要从nbu的里面拷贝一个文件放到DB2的BIN目录下,我记得是这样,楼主那样修改成userexit但是不拷贝这个文件过去是不会在指定目录生成归档日志的。
大部分客户都是直接把归档日志生成在一个文件目录下,和NBU没关系,不使用NBU提供的userexit文件。然后每天晚上和中午对这些归档日志做归档备份进磁带。恢复时候需要手工恢复到DB2的活动日志目录下,这个活动日志目录很重要的。
如果不是使用的NBU的userexit那么必须回到道对应的活动日志目录,用NBU的话,在db2conf文件里面有对应的设置。
其实db2的备份和恢复,在赛门铁克提供的PDF里很全面。顺便说一句,我觉得db2备份和恢复比oracle简单快捷。


 无牙 回复于:2009-07-07 21:17:50

问题是现在很少有人从头到尾看文档了。 :mrgreen: :mrgreen:


 jgtvisionnex 回复于:2009-07-08 09:27:49

谢谢楼主,辛苦了!不错不错!收藏了!


 redwaves 回复于:2009-07-08 19:45:03

引用:原帖由 无牙 于 2009-7-7 21:17 发表 [url=http://bbs2.chinaunix.net/redirect.php?goto=findpost&pid=10847432&ptid=1496996]
问题是现在很少有人从头到尾看文档了。 :mrgreen: :mrgreen: 




都只想知道关键的步骤搞定了事,没有人注重从原理上理解软件和应用的工作原理


 w3wu 回复于:2009-07-09 11:03:03

快餐时代嘛,save和copy你们用哪个?据说高手都用copy,所以我用copy,:mrgreen:


 david5337 回复于:2009-07-24 15:51:30

由于向后兼容的原因,数据库配置文件仍然包含参数 LOGRETAIN 和 USEREXIT。从 8.2 版开始,这两个参数已经被 LOGARCHMETH1 取代。如果更新 USEREXIT 或 LOGRETAIN 参数,那么 LOGARCHMETH1 将自动被更新,反之亦然。

使用ARCFUNC COPY方式可以在NBU出故障的情况下依旧主机自己保留归档日志;SAVE方式在NBU出故障的时候,就暂时备份不了归档日志,容易导致归档空间full。


 loffy 回复于:2009-07-26 12:34:29

谢谢,好东西。


 ry715 回复于:2009-07-27 09:35:39

哇,哥哥你好强悍,内容且不说,发这个帖子也很辛苦的,加之内容的实用和显而易见,很开心啊,哈哈哈




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=1496996
转载请注明作者名及原文出处