DB2数据库的备份和恢复(windows平台)

1. 创建好新的数据库后,首先做一个离线的全备。


E:/Program Files/IBM/SQLLIB/BIN>;db2 connect to sample    #联接到数据库。

   数据库连接信息

 数据库服务器         = DB2/NT 8.1.0
 SQL 授权标识        = ADMINIST...
 本地数据库别名       = SAMPLE

E:/Program Files/IBM/SQLLIB/BIN>;db2 list applications       #显示数据库应用状态

授权标识  应用程序名    应用程序    应用程序标识                DB      代理进程

                        句柄                                    名称    序列号
-------- -------------- ---------- ------------------------------ -------- ----

ADMINIST>;db2bp.exe      49         *LOCAL.DB2.003A47092910        SAMPLE   1

ADMINIST>;javaw.exe      48         *LOCAL.DB2.005F07092627        SAMPLE   1

ADMINIST>;javaw.exe      47         *LOCAL.DB2.005F07092626        SAMPLE   1



E:/Program Files/IBM/SQLLIB/BIN>;db2 force applications all   #停掉数据库应用。
DB20000I  FORCE APPLICATION 命令成功完成。
DB21024I  该命令为异步的,可能不会立即生效。

E:/Program Files/IBM/SQLLIB/BIN>;db2 backup database sample to e:/db2/backup  #做离线的全备。

备份成功。此备份映象的时间戳记是:20030507173349


E:/Program Files/IBM/SQLLIB/BIN>;db2 list history backup all for sample   #查看备份历史记录 

                    列示 sample 的历史文件

匹配的文件条目数 = 1


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507173349001   F    D  S0000000.LOG S0000000.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE OFFLINE
 开始时间:20030507173349
   结束时间:20030507173410
 ----------------------------------------------------------------------------
  00001 位置:e:/db2/backup/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


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


E:/Program Files/IBM/SQLLIB/BIN>;db2 get db cfg   #查看数据库当前的属性。

       数据库  的数据库配置

 数据库配置发行版级别                    = 0x0a00
 数据库发行版级别                                  = 0x0a00

 数据库领域                                      = CN
 数据库代码页                                      = 1386
 数据库代码集                                       = GBK
 数据库国家/地区代码                            = 86

 动态 SQL 查询管理           (DYN_QUERY_MGMT) = DISABLE

 对此数据库的 Discovery 支持       (DISCOVER_DB) = ENABLE

 缺省查询优化类         (DFT_QUERYOPT) = 5
 并行度                      (DFT_DEGREE) = 1
 在算术异常时继续   (DFT_SQLMATHWARN) = NO
 缺省刷新有效期                   (DFT_REFRESH_AGE) = 0
 保留的高频值的数目     (NUM_FREQVALUES) = 10
 保留的分位点数目            (NUM_QUANTILES) = 20

 备份暂挂                                          = NO

 数据库是一致的                                  = YES
 前滚暂挂                                     = NO
 复原暂挂                                         = NO

 启用的多页文件分配                      = NO

 恢复状态的日志保留                          = NO
 记录状态的用户出口                            = NO

 Data Links 标记失效时间间隔(秒)      (DL_EXPINT) = 60
 Data Links 写标记初始时间间隔 (DL_WT_IEXPINT) = 60
 副本的 Data Links 数目             (DL_NUM_COPIES) = 1
 删除后的 Data Links 时间(天数)        (DL_TIME_DROP) = 1
 大写的 Data Links 标记                (DL_UPPER) = NO
 Data Links 标记算法                           (DL_TOKEN) = MAC0

 数据库堆(4KB)                            (DBHEAP) = 300
 数据库共享内存大小(4KB)  (DATABASE_MEMORY) = AUTOMATIC
 目录高速缓存大小(4KB)              (CATALOGCACHE_SZ) = (MAXAPPLS*4)
 日志缓冲区大小(4KB)                        (LOGBUFSZ) = 8
 实用程序堆大小(4KB)                (UTIL_HEAP_SZ) = 5000
 缓冲池大小(页)                     (BUFFPAGE) = 250
 扩充存储段大小(4KB)    (ESTORE_SEG_SZ) = 16000
 扩充存储段的数目   (NUM_ESTORE_SEGS) = 0
 锁定列表的最大存储量(4KB)              (LOCKLIST) = 25

 应用程序组内存集的最大大小(4KB)(APPGROUP_MEM_SZ) = 10000
 应用程序组堆的内存百分比  (GROUPHEAP_RATIO) = 70
 最大应用程序控制堆大小(4KB)     (APP_CTL_HEAP_SZ) = 64

 共享排序的排序堆域值(4KB) (SHEAPTHRES_SHR) = (SHEAPTHRES)
 排序列表堆(4KB)                         (SORTHEAP) = 256
 SQL 语句堆(4KB)                     (STMTHEAP) = 2048
 缺省应用程序堆(4KB)             (APPLHEAPSZ) = 256
 程序包高速缓存大小(4KB)                   (PCKCACHESZ) = (MAXAPPLS*8)
 统计信息堆大小(4KB)               (STAT_HEAP_SZ) = 4384

 检查死锁的时间间隔(ms)         (DLCHKTIME) = 10000
 每个应用程序的锁定百分比列表       (MAXLOCKS) = 22
 锁定超时(秒)                        (LOCKTIMEOUT) = -1

 更改的页阈值               (CHNGPGS_THRESH) = 60
 异步页清除程序的数目   (NUM_IOCLEANERS) = 1
 I/O 服务器的数目                   (NUM_IOSERVERS) = 3
 索引排序标志                             (INDEXSORT) = YES
 顺序检测标志                      (SEQDETECT) = YES
 缺省预取大小(页)         (DFT_PREFETCH_SZ) = 16

 跟踪修改的页数                         (TRACKMOD) = OFF

 容器的缺省数目                            = 1
 缺省表空间数据块大小(页)   (DFT_EXTENT_SZ) = 32

 活动应用程序的最大数目            (MAXAPPLS) = AUTOMATIC
 活动应用程序的平均数目       (AVG_APPLS) = 1
 每个应用程序的最大打开 DB 文件数            (MAXFILOP) = 64

 日志文件大小(4KB)                         (LOGFILSIZ) = 250
 主日志文件的数目                (LOGPRIMARY) = 3
 辅助日志文件的数目               (LOGSECOND) = 2
 已更改的至日志文件的路径                   (NEWLOGPATH) =
 日志文件路径                                            = E:/DB2/NODE0000/SQL00
001/SQLOGDIR/
 溢出日志路径                     (OVERFLOWLOGPATH) =
 镜像日志路径                         (MIRRORLOGPATH) =
 第一活动日志文件                                        =
 磁盘上已满的块日志                (BLK_LOG_DSK_FUL) = NO
 事务使用的最大活动日志空间的百分比(MAX_LOG) = 0
 1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0

 组落实计数                          (MINCOMMIT) = 1
 软检查点前回收的日志文件的百分比 (SOFTMAX) = 100
 启用的恢复的日志保留             (LOGRETAIN) = OFF        这两个参数默认是off 
 启用的记录的用户出口                (USEREXIT) = OFF

 启用的自动重新启动                      (AUTORESTART) = ON
 索引重新创建时间                       (INDEXREC) = SYSTEM (ACCESS)
 loadrec 会话的缺省数目    (DFT_LOADREC_SES) = 1
 要保留的数据库备份的数目   (NUM_DB_BACKUPS) = 12
 恢复历史记录保留(天数)     (REC_HIS_RETENTN) = 366

 TSM 管理类                   (TSM_MGMTCLASS) =
 TSM 节点名                            (TSM_NODENAME) =
 TSM 所有者                                   (TSM_OWNER) =
 TSM 密码                             (TSM_PASSWORD) =



E:/Program Files/IBM/SQLLIB/BIN>;db2 update db cfg for sample using userexit on #设置参数
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W  为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。


E:/Program Files/IBM/SQLLIB/BIN>;db2 update db cfg for sample using logretain on #设置参数
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W  为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。


E:/Program Files/IBM/SQLLIB/BIN>;db2 force application all      #停掉应用
DB20000I  FORCE APPLICATION 命令成功完成。
DB21024I  该命令为异步的,可能不会立即生效。


E:/Program Files/IBM/SQLLIB/BIN>;db2 connect to sample       #此时需要做一次离线的全备。否则是backup pending状态的。
SQL1116N  由于 BACKUP PENDING,不能执行连接或激活数据库 "SAMPLE"。
SQLSTATE=57019

E:/Program Files/IBM/SQLLIB/BIN>;db2 backup database sample to e:/db2/backup
备份成功。此备份映象的时间戳记是:20030507201421

E:/Program Files/IBM/SQLLIB/BIN>;db2 connect to sample      #此时可以连接

   数据库连接信息

 数据库服务器         = DB2/NT 8.1.0
 SQL 授权标识        = ADMINIST...
 本地数据库别名       = SAMPLE


E:/Program Files/IBM/SQLLIB/BIN>;db2 list applications

授权标识  应用程序名    应用程序    应用程序标识                DB      代理进程

                        句柄                                    名称    序列号
-------- -------------- ---------- ------------------------------ -------- -----

ADMINIST>;db2bp.exe      62         *LOCAL.DB2.008C87122531        SAMPLE   1

E:/Program Files/IBM/SQLLIB/BIN>;db2 backup database sample online to e:/db2/back #在线的备份成功
Online 备份成功。此备份映象的时间戳记是:20030507202717


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

E:/Program Files/IBM/SQLLIB/BIN>;db2 update db cfg for sample using trackmod yes #修改参数
DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。

E:/Program Files/IBM/SQLLIB/BIN>;db2 force application all
DB20000I  FORCE APPLICATION 命令成功完成。
DB21024I  该命令为异步的,可能不会立即生效。

E:/Program Files/IBM/SQLLIB/BIN>;db2 backup database sample to e:/db2/backup

备份成功。此备份映象的时间戳记是:20030507203403

E:/Program Files/IBM/SQLLIB/BIN>;db2 backup database sample online incremental de
lta to e:/db2/backonline      #在线的差分备份,也可以用增量备份

备份成功。此备份映象的时间戳记是:20030507213106


E:/Program Files/IBM/SQLLIB/BIN>;db2 connect to sample

   数据库连接信息

 数据库服务器         = DB2/NT 8.1.0
 SQL 授权标识        = ADMINIST...
 本地数据库别名       = SAMPLE


E:/Program Files/IBM/SQLLIB/BIN>;db2 get db cfg  #再次查看当前的数据库状态

       数据库  的数据库配置

 数据库配置发行版级别                    = 0x0a00
 数据库发行版级别                                  = 0x0a00

 数据库领域                                      = CN
 数据库代码页                                      = 1386
 数据库代码集                                       = GBK
 数据库国家/地区代码                            = 86

 动态 SQL 查询管理           (DYN_QUERY_MGMT) = DISABLE

 对此数据库的 Discovery 支持       (DISCOVER_DB) = ENABLE

 缺省查询优化类         (DFT_QUERYOPT) = 5
 并行度                      (DFT_DEGREE) = 1
 在算术异常时继续   (DFT_SQLMATHWARN) = NO
 缺省刷新有效期                   (DFT_REFRESH_AGE) = 0
 保留的高频值的数目     (NUM_FREQVALUES) = 10
 保留的分位点数目            (NUM_QUANTILES) = 20

 备份暂挂                                          = NO

 数据库是一致的                                  = YES
 前滚暂挂                                     = NO
 复原暂挂                                         = NO

 启用的多页文件分配                      = NO

 恢复状态的日志保留                          = RECOVERY
 记录状态的用户出口                            = YES

 Data Links 标记失效时间间隔(秒)      (DL_EXPINT) = 60
 Data Links 写标记初始时间间隔 (DL_WT_IEXPINT) = 60
 副本的 Data Links 数目             (DL_NUM_COPIES) = 1
 删除后的 Data Links 时间(天数)        (DL_TIME_DROP) = 1
 大写的 Data Links 标记                (DL_UPPER) = NO
 Data Links 标记算法                           (DL_TOKEN) = MAC0

 数据库堆(4KB)                            (DBHEAP) = 300
 数据库共享内存大小(4KB)  (DATABASE_MEMORY) = AUTOMATIC
 目录高速缓存大小(4KB)              (CATALOGCACHE_SZ) = (MAXAPPLS*4)
 日志缓冲区大小(4KB)                        (LOGBUFSZ) = 8
 实用程序堆大小(4KB)                (UTIL_HEAP_SZ) = 5000
 缓冲池大小(页)                     (BUFFPAGE) = 250
 扩充存储段大小(4KB)    (ESTORE_SEG_SZ) = 16000
 扩充存储段的数目   (NUM_ESTORE_SEGS) = 0
 锁定列表的最大存储量(4KB)              (LOCKLIST) = 25

 应用程序组内存集的最大大小(4KB)(APPGROUP_MEM_SZ) = 10000
 应用程序组堆的内存百分比  (GROUPHEAP_RATIO) = 70
 最大应用程序控制堆大小(4KB)     (APP_CTL_HEAP_SZ) = 64

 共享排序的排序堆域值(4KB) (SHEAPTHRES_SHR) = (SHEAPTHRES)
 排序列表堆(4KB)                         (SORTHEAP) = 256
 SQL 语句堆(4KB)                     (STMTHEAP) = 2048
 缺省应用程序堆(4KB)             (APPLHEAPSZ) = 256
 程序包高速缓存大小(4KB)                   (PCKCACHESZ) = (MAXAPPLS*8)
 统计信息堆大小(4KB)               (STAT_HEAP_SZ) = 4384

 检查死锁的时间间隔(ms)         (DLCHKTIME) = 10000
 每个应用程序的锁定百分比列表       (MAXLOCKS) = 22
 锁定超时(秒)                        (LOCKTIMEOUT) = -1

 更改的页阈值               (CHNGPGS_THRESH) = 60
 异步页清除程序的数目   (NUM_IOCLEANERS) = 1
 I/O 服务器的数目                   (NUM_IOSERVERS) = 3
 索引排序标志                             (INDEXSORT) = YES
 顺序检测标志                      (SEQDETECT) = YES
 缺省预取大小(页)         (DFT_PREFETCH_SZ) = 16

 跟踪修改的页数                         (TRACKMOD) = ON

 容器的缺省数目                            = 1
 缺省表空间数据块大小(页)   (DFT_EXTENT_SZ) = 32

 活动应用程序的最大数目            (MAXAPPLS) = AUTOMATIC
 活动应用程序的平均数目       (AVG_APPLS) = 1
 每个应用程序的最大打开 DB 文件数            (MAXFILOP) = 64

 日志文件大小(4KB)                         (LOGFILSIZ) = 250
 主日志文件的数目                (LOGPRIMARY) = 3
 辅助日志文件的数目               (LOGSECOND) = 2
 已更改的至日志文件的路径                   (NEWLOGPATH) =
 日志文件路径                     = E:/DB2/NODE0000/SQL00001/SQLOGDIR/
 溢出日志路径                     (OVERFLOWLOGPATH) =
 镜像日志路径                         (MIRRORLOGPATH) =
 第一活动日志文件                                        = S0000002.LOG
 磁盘上已满的块日志                (BLK_LOG_DSK_FUL) = NO
 事务使用的最大活动日志空间的百分比(MAX_LOG) = 0
 1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0

 组落实计数                          (MINCOMMIT) = 1
 软检查点前回收的日志文件的百分比 (SOFTMAX) = 100
 启用的恢复的日志保留             (LOGRETAIN) = RECOVERY
 启用的记录的用户出口                (USEREXIT) = ON

 启用的自动重新启动                      (AUTORESTART) = ON
 索引重新创建时间                       (INDEXREC) = SYSTEM (ACCESS)
 loadrec 会话的缺省数目    (DFT_LOADREC_SES) = 1
 要保留的数据库备份的数目   (NUM_DB_BACKUPS) = 12
 恢复历史记录保留(天数)     (REC_HIS_RETENTN) = 366

 TSM 管理类                   (TSM_MGMTCLASS) =
 TSM 节点名                            (TSM_NODENAME) =
 TSM 所有者                                   (TSM_OWNER) =
 TSM 密码                             (TSM_PASSWORD) =


4.恢复完全备份。

E:/Program Files/IBM/SQLLIB/BIN>;db2 list history backup all for sample #查看备份历史记录

                    列示 sample 的历史文件

匹配的文件条目数 = 6


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507173349001   F    D  S0000000.LOG S0000000.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE OFFLINE
 开始时间:20030507173349
   结束时间:20030507173410
 ----------------------------------------------------------------------------
  00001 位置:e:/db2/backup/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507201421001   F    D  S0000000.LOG S0000000.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE OFFLINE
 开始时间:20030507201421
   结束时间:20030507201445
 ----------------------------------------------------------------------------
  00002 位置:e:/db2/backup/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507202155001   N    D  S0000000.LOG S0000001.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE ONLINE
 开始时间:20030507202155
   结束时间:20030507202216
 ----------------------------------------------------------------------------
  00003 位置:E:/DB2/backonline/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507202717001   N    D  S0000001.LOG S0000002.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE ONLINE
 开始时间:20030507202717
   结束时间:20030507202737
 ----------------------------------------------------------------------------
  00004 位置:e:/db2/backonline/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507203403001   F    D  S0000002.LOG S0000002.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE OFFLINE
 开始时间:20030507203403
   结束时间:20030507203423
 ----------------------------------------------------------------------------
  00005 位置:e:/db2/backup/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


 Op 对象 时间戳记+序列     类型 设备 最早日志    当前日志     备份标识
 -- --- ------------------ ---- --- ------------ ------------ --------------
  B  D  20030507203527001   N    D  S0000002.LOG S0000003.LOG
 ----------------------------------------------------------------------------
  包含 2 表空间:

  00001 SYSCATSPACE
  00002 USERSPACE1
 ----------------------------------------------------------------------------
    注释:DB2 BACKUP SAMPLE ONLINE
 开始时间:20030507203527
   结束时间:20030507203548
 ----------------------------------------------------------------------------
  00006 位置:e:/db2/backonline/SAMPLE.0/DB2/NODE0000/CATN0000/20030507


E:/Program Files/IBM/SQLLIB/BIN>;db2 restore database sample from e:/db2/backonli
ne taken at 20030507203527   #恢复某个时间点的数据。
SQL2539W  警告!正在复原至与备份映象数据库相同的现有数据库。数据库文件将被删除。想要继续吗?(y/n) y
DB20000I  RESTORE DATABASE 命令成功完成。


E:/Program Files/IBM/SQLLIB/BIN>;db2 rollforward database sample to end of logs and stop #回滚到日志结束


5.恢复增量备份数据。

E:/Program Files/IBM/SQLLIB/BIN>;db2 connect to sample

   数据库连接信息

 数据库服务器         = DB2/NT 8.1.0
 SQL 授权标识        = ADMINIST...
 本地数据库别名       = SAMPLE


E:/Program Files/IBM/SQLLIB/BIN>;db2 list applications

授权标识  应用程序名    应用程序    应用程序标识                DB      代理进程

                        句柄                                    名称    序列号
-------- -------------- ---------- ------------------------------ -------- -----

ADMINIST>;db2bp.exe      17         *LOCAL.DB2.00D588005249        SAMPLE   1



E:/Program Files/IBM/SQLLIB/BIN>;db2 force application all
DB20000I  FORCE APPLICATION 命令成功完成。
DB21024I  该命令为异步的,可能不会立即生效。


E:/Program Files/IBM/SQLLIB/BIN>;db2 restore database sample incremental automatic from e:/db2/backonline taken at 20030507213106    #恢复增量备份。
SQL2539W  警告!正在复原至与备份映象数据库相同的现有数据库。数据库文件将被删除。
想要继续吗?(y/n) y
DB20000I  RESTORE DATABASE 命令成功完成。

E:/Program Files/IBM/SQLLIB/BIN>;

E:/Program Files/IBM/SQLLIB/BIN>;db2 rollforward database sample to end of logs and stop #回滚到日志结束。

 

6.DB2前滚出错时,此时数据库是PENDING的,我们需要手工终止

连接报错

"C:>db2 connect to sample
SQL1117N  由于 ROLL-FORWARD PENDING,不能连接或激活数据库 "SAMPLE"。 SQLSTATE=57019"

对DB2做ONLINE备份,也不能消除PENDING状态

"C:>db2 backup db sample online to g:onlinEBk
SQL2406N  因为必须前滚数据库,所以不能执行 BACKUP。  SQLSTATE=57019

此时需要我们做:

db2 rollforward db sample stop

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值