存储 频道

NBU6.5备份恢复DB2数据库常用方式对比

    【IT168 专稿】NBU(Netbackup)是目前常用复杂系统环境下备份软件之一,最早由Veritas软件公司开发推出,后Veritas软件公司被赛门铁克公司收购后,被并入赛门铁克软件产品家族旗下。NBU功能强大,但使用过程中往往涉及到多个系统运行层面的问题,因此具体使用常常会碰到一些问题。本文总结了,通过NBU6.5版本进行DB2数据库备份恢复的几种常用方式。

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

查看DB2参数配置

    1.进入命令中心,查看现有数据库,使用命令db2ilist列出现有实例名: 

    2.查询数据目录和数据库名:db2 list db directory

 

    3.联接到数据库NBU:  db2 connect to NBU 

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

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

离线全备份后查询数据库状态

    5.设置参数据userexit参数为ON: db2 update db cfg for db_name using userexit on 

    6.设置参数logretain为on: db2 update db cfg for db_name using logretain on 

    7.停掉应用使参数生效:db2 force application all

    8.此时需要做一次离线的全备。否则数据是backup pending状态的,无法联结

 

    9.使数据库能够做到增量备份。必须要修改trackmod为 on 状态,并有一次完全备份

    10.修改日成文件存放路径: db2 update db cfg for NBU using NEWLOGPATH D:\DB2LOG

    11.再次查看当前的数据库状态: db2 get db cfg 

    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 

 
    2.创建DB2数据备份策略DB2_DB
    Attributes
    Policy type:    DB2
 

    Schedules
    Name:     DBFULL
    Type of Backup:Automatic Full Backup 

    Schedule:
    Name:   Default-Appplication-Backup-DB
    Type of Backup: Application Backup

 
    Clients:  db2服务器主机名
    Backup Selections:db2_backup_nbu_online.cmd

创建DB2日志备份策略DB2_LOG

    3.创建DB2日志备份策略DB2_LOG
    Attributes:
    Policy type:   DB2 

    Schedules:
    Name:   Default-Application-Backup-LOG
    Type of backup: Application Backup 

    Schedule:
    Name:   LOGFuLL
    Type of backup:Automatic Full Backup

    Clients: DB2数据库主机
    Backup Selections:
    注此处为空

配置db2.conf参数文件

    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 NBU
    OBJECTTYPE DATABASE
    POLICY DB2_DB
    SCHEDULE Default-Application-Backup-DB
    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 NBU
    OBJECTTYPE ARCHIVE
    POLICY DB2_LOG
    SCHEDULE Default-Application-Backup-LOG
    ENDOPER

    注意:配置中红色部份与策略中对应

    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 

 
     Schedule:
 

     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 NBU
    OBJECTTYPE DATABASE
    POLICY DB2_DB
    SCHEDULE Default-Application-Backup-DB
    ENDOPER

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

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

    注意:配置中红色部份与策略中对应

配置备份方法三

    配置备份:使用用户出口程序和 ARCFUNC COPY(日志采用文件备份)

    1.将启用的日志记录的用户出口参数USEREXIT设为 ON, 已更改的至日志文件的路径                  
    NEWLOGPATH参数设为你的日志文件存放路径例如 :\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

 

    Schedules:
    Name:USER_ARCHIVE
    Type of backup:User Archive

 

    Backup Selections:此处为空

    4.创建DB2日志备份策略DB2_LOG_ARCHIVE类型: MS-Windows-NT

    Schedules:Full 

 

    Backup Selections:此处为db2.conf中定义的目录ARCDIR目录 

    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

    为下面的配置:
    DATABASE NBU
    OBJECTTYPE DATABASE
    POLICY DB2_DB
    SCHEDULE Default-Application-Backup-DB
    ENDOPER

    DATABASE NBU
    OBJECTTYPE ARCHIVE
    POLICY DB2_LOG
    SCHEDULE USER_ARCHIVE
    #SCHEDULE User
    #ARCFUNC SAVE
    ARCFUNC COPY
    ARCDIR D:\DB2LOGARC
    RETDIR D:\DB2LOG\NBU\ \NODE0000
    ENDOPER

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

    注意:配置中红色部份与策略中对应
    # Use ARCDIR 指日志备份目标路径
    # Use RETDIR 指DB2归档日志源路径,即db2 cfg指定的目径

    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:\progra~!\veritas\netbackup\bin\nbdb2.dll
    D:\SQLIB\BIN>db2 rollforward db NBU to end of logs and stop

以上NBU备份DB2方法之比较

    备份配置过程一:使用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存放路径不一样.详情参考手册。

0
相关文章