Windows环境下DB2的备份与恢复

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

D:\IBMDB2\SQLLIB\BIN>db2 connect to sample                        #联接到数据库

数据库连接信息

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

D:\IBMDB2\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

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

D:\IBMDB2\SQLLIB\BIN>db2 backup database sample to e:\db2\backup           #做离线的全备。

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

D:\IBMDB2\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 位置:D:\DB2\backupSAMPLE.0\DB2\NODE0000\CATN0000\20030507

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

D:\IBMDB2\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*
统计信息堆大小(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) =

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

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

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

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

D:\IBMDB2\SQLLIB\BIN>db2 backup database sample to e:\db2\backup
备份成功。此备份映象的时间戳记是:20030507201421

D:\IBMDB2\SQLLIB\BIN>db2 connect to sample                                     #此时可以连接

数据库连接信息

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

D:\IBMDB2\SQLLIB\BIN>db2 list applications

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

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

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

D:\IBMDB2\SQLLIB\BIN>db2 backup database sample online to e:\db2\back #在线的备份成功
Online 备份成功。此备份映象的时间戳记是:20030507202717

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

D:\IBMDB2\SQLLIB\BIN>db2 update db cfg for sample using trackmod yes     #修改参数
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

D:\IBMDB2\SQLLIB\BIN>db2 force application all
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 该命令为异步的,可能不会立即生效。

D:\IBMDB2\SQLLIB\BIN>db2 backup database sample to e:\db2\backup

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

D:\IBMDB2\SQLLIB\BIN>db2 backup database sample online incremental de
lta to d:\db2\backonline                    #在线的差分备份,也可以用增量备份

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

D:\IBMDB2\SQLLIB\BIN>db2 connect to sample

数据库连接信息

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

D:\IBMDB2\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*
统计信息堆大小(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.恢复完全备份。

D:\IBMDB2\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 位置:D:\DB2\backupSAMPLE.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 位置:D:\DB2\backupSAMPLE.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 位置:d:\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 位置:d:\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 位置:D:\DB2\backupSAMPLE.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 位置:d:\db2\backonline\SAMPLE.0\DB2\NODE0000\CATN0000\20030507

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

D:\IBMDB2\SQLLIB\BIN>db2 rollforward database sample to end of logs and stop                    #回滚到日志结束

5.恢复增量备份数据。

D:\IBMDB2\SQLLIB\BIN>db2 connect to sample

数据库连接信息

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

D:\IBMDB2\SQLLIB\BIN>db2 list applications

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

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

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

D:\IBMDB2\SQLLIB\BIN>db2 force application all
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 该命令为异步的,可能不会立即生效。

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

D:\IBMDB2\SQLLIB\BIN>

D:\IBMDB2\SQLLIB\BIN>db2 rollforward database sample to end of logs and stop                         #回滚到日志结束。

您可能还喜欢...