一、查看目标数据库是否开启归档日志
[db2inst2@localhost ~]$ db2 get db cfg for tankdb
数据库 tankdb 的数据库配置
数据库配置发行版级别 = 0x0d00
数据库发行版级别 = 0x0d00
数据库地域 = CN
数据库代码页 = 1208
数据库代码集 = UTF-8
数据库国家/地区代码 = 86
数据库整理顺序 = IDENTITY
备用整理顺序 (ALT_COLLATE) =
数字兼容性 = OFF
Varchar2 兼容性 = OFF
日期兼容性 = OFF
数据库页大小 = 4096
动态 SQL 查询管理 (DYN_QUERY_MGMT) = DISABLE
语句集中器 (STMT_CONC) = OFF
对此数据库的发现支持 (DISCOVER_DB) = ENABLE
限制访问 = NO
缺省查询优化类 (DFT_QUERYOPT) = 5
并行度 (DFT_DEGREE) = 1
在算术异常时继续 (DFT_SQLMATHWARN) = NO
缺省刷新有效期 (DFT_REFRESH_AGE) = 0
缺省维护的选项(DFT_MTTB_TYPES)的表类型 = SYSTEM
保留的高频值的数目 (NUM_FREQVALUES) = 10
保留的分位点数目 (NUM_QUANTILES) = 20
十进制浮点舍入方式 (DECFLT_ROUNDING) = ROUND_HALF_EVEN
备份暂挂 = NO
已将所有已落实的事务写入磁盘 = NO
前滚暂挂 = NO
复原暂挂 = NO
启用的多页文件分配 = YES
恢复状态的日志保留 = NO
日志记录状态的用户出口 = YES
自调整内存 (SELF_TUNING_MEM) = ON
数据库共享内存大小(4KB) (DATABASE_MEMORY) = AUTOMATIC(54060)
数据库内存阈值 (DB_MEM_THRESH) = 10
锁定列表的最大存储量(4KB) (LOCKLIST) = AUTOMATIC(4096)
每个应用程序的锁定百分比列表 (MAXLOCKS) = AUTOMATIC(60)
程序包高速缓存大小(4KB) (PCKCACHESZ) = AUTOMATIC(1765)
共享排序的排序堆域值(4KB) (SHEAPTHRES_SHR) = AUTOMATIC(5000)
排序列表堆(4KB) (SORTHEAP) = AUTOMATIC(1000)
数据库堆(4KB) (DBHEAP) = AUTOMATIC(1200)
目录高速缓存大小(4KB) (CATALOGCACHE_SZ) = 153
日志缓冲区大小(4KB) (LOGBUFSZ) = 256
实用程序堆大小(4KB) (UTIL_HEAP_SZ) = 5000
缓冲池大小(页) (BUFFPAGE) = 1000
SQL 语句堆(4KB) (STMTHEAP) = AUTOMATIC(8192)
缺省应用程序堆(4KB) (APPLHEAPSZ) = AUTOMATIC(256)
应用程序内存大小(4KB) (APPL_MEMORY) = AUTOMATIC(40000)
统计信息堆大小(4KB) (STAT_HEAP_SZ) = AUTOMATIC(4384)
检查死锁的时间间隔(毫秒) (DLCHKTIME) = 10000
锁定超时(秒) (LOCKTIMEOUT) = -1
更改的页阈值 (CHNGPGS_THRESH) = 80
异步页清除程序的数目 (NUM_IOCLEANERS) = AUTOMATIC(7)
I/O 服务器的数目 (NUM_IOSERVERS) = AUTOMATIC(3)
索引排序标志 (INDEXSORT) = YES
顺序检测标志 (SEQDETECT) = YES
缺省预取大小(页) (DFT_PREFETCH_SZ) = AUTOMATIC
跟踪修改的页数 (TRACKMOD) = NO
容器的缺省数目 = 1
缺省表空间扩展数据块大小(页) (DFT_EXTENT_SZ) = 32
最大活动应用程序数 (MAXAPPLS) = AUTOMATIC(40)
活动应用程序的平均数目 (AVG_APPLS) = AUTOMATIC(1)
每个应用程序的最大打开数据库文件数 (MAXFILOP) = 61440
日志文件大小(4KB) (LOGFILSIZ) = 1024
主日志文件的数目 (LOGPRIMARY) = 13
辅助日志文件的数目 (LOGSECOND) = 4
已更改的至日志文件的路径 (NEWLOGPATH) =
日志文件路径 = /home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/
溢出日志路径 (OVERFLOWLOGPATH) =
镜像日志路径 (MIRRORLOGPATH) =
首个活动日志文件 = S0000045.LOG
磁盘上已满的块日志 (BLK_LOG_DSK_FUL) = NO
非记录块操作 (BLOCKNONLOGGED) = NO
事务使用的最大主日志空间的百分比 (MAX_LOG)= 0
1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0
组落实计数 (MINCOMMIT) = 1
软检查点前回收的日志文件的百分比 (SOFTMAX) = 520
启用的恢复的日志保留 (LOGRETAIN) = OFF
启用的日志记录的用户出口 (USEREXIT) = OFF
HADR 数据库角色 = STANDARD
HADR 本地主机名 (HADR_LOCAL_HOST) =
HADR 本地服务名称 (HADR_LOCAL_SVC) =
HADR 远程主机名 (HADR_REMOTE_HOST) =
HADR 远程服务名称 (HADR_REMOTE_SVC) =
远程服务器的 HADR 实例名 (HADR_REMOTE_INST) =
HADR 超时值 (HADR_TIMEOUT) = 120
HADR 日志写同步方式 (HADR_SYNCMODE) = NEARSYNC
HADR 对等窗口持续时间(秒) (HADR_PEER_WINDOW) = 0
第一个日志归档方法 (LOGARCHMETH1) = DISK:/backup/db2inst2/
logarchmeth1 的选项 (LOGARCHOPT1) =
第二个日志归档方法 (LOGARCHMETH2) = OFF
logarchmeth2 的选项 (LOGARCHOPT2) =
故障转移日志归档路径 (FAILARCHPATH) =
错误时重试日志归档次数 (NUMARCHRETRY) = 5
日志归档重试延迟(秒) (ARCHRETRYDELAY) = 20
供应商选项 (VENDOROPT) =
启用的自动重新启动 (AUTORESTART) = ON
索引重新创建时间和重做索引构建 (INDEXREC) = SYSTEM (RESTART)
在索引构建期间记录页 (LOGINDEXBUILD) = OFF
loadrec 会话的缺省数目 (DFT_LOADREC_SES) = 1
要保留的数据库备份的数目 (NUM_DB_BACKUPS) = 12
恢复历史记录保留时间(天数) (REC_HIS_RETENTN) = 366
自动删除恢复对象 (AUTO_DEL_REC_OBJ) = OFF
TSM 管理类 (TSM_MGMTCLASS) =
TSM 节点名 (TSM_NODENAME) =
TSM 所有者 (TSM_OWNER) =
TSM 密码 (TSM_PASSWORD) =
自动维护 (AUTO_MAINT) = ON
自动数据库备份 (AUTO_DB_BACKUP) = OFF
自动表维护 (AUTO_TBL_MAINT) = ON
自动 runstats (AUTO_RUNSTATS) = ON
自动语句统计信息 (AUTO_STMT_STATS) = ON
自动统计信息概要分析 (AUTO_STATS_PROF) = OFF
自动概要文件更新 (AUTO_PROF_UPD) = OFF
自动重组 (AUTO_REORG) = OFF
自动重新验证 (AUTO_REVAL) = DEFERRED
当前已落实 (CUR_COMMIT) = ON
带有 DECIMAL 输入的 CHAR 输出 (DEC_TO_CHAR_FMT) = NEW
启用 XML 字符操作 (ENABLE_XMLCHAR) = YES
WLM 收集时间间隔(分钟) (WLM_COLLECT_INT) = 0
监视器收集设置
请求度量值 (MON_REQ_METRICS) = BASE
活动度量值 (MON_ACT_METRICS) = BASE
对象度量值 (MON_OBJ_METRICS) = BASE
工作单元事件数 (MON_UOW_DATA) = NONE
锁定超时事件数 (MON_LOCKTIMEOUT) = NONE
死锁事件数 (MON_DEADLOCK) = WITHOUT_HIST
锁定等待事件数 (MON_LOCKWAIT) = NONE
锁定等待事件阈值 (MON_LW_THRESH) = 5000000
软件包列表条目数目 (MON_PKGLIST_SZ) = 32
锁定事件通知级别 (MON_LCK_MSG_LVL) = 1
SMTP 服务器 (SMTP_SERVER) =
SQL 条件编译标志 (SQL_CCFLAGS) =
部分实际值设置 SECTION_ACTUALS) = NONE
连接过程 (CONNECT_PROC) =
二、手动归档测试
[root@localhost ~]# su - db2inst2
[db2inst2@localhost ~]$ db2 "archive log for db tankdb"
DB20000I ARCHIVE LOG 命令成功完成。
[db2inst2@localhost ~]$ db2 connect to tankdb
数据库连接信息
数据库服务器 = DB2/LINUXX8664 9.7.5
SQL 授权标识 = DB2INST2
本地数据库别名 = TANKDB
三、查看目标表所在表空间
[db2inst2@localhost ~]$ db2 " SELECT CHAR(tabschema, 16) AS tabschema,CHAR(tabname, 16) AS tabname,CHAR(tbspace, 16) AS tbspace FROM syscat.tables WHERE tabname = 'TESTTB'"
TABSCHEMA TABNAME TBSPACE
---------------- ---------------- ----------------
DB2INST2 TESTTB TB
1 条记录已选择。
[db2inst2@localhost ~]$ db2 "select count(*) from testtb"
1
-----------
35
1 条记录已选择。
四、生成在线备份目标表空间(TB)
[db2inst2@localhost ~]$ db2 "BACKUP DATABASE TANKDB TABLESPACE ( TB )ONLINE TO /backup/db2inst2 WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING"
备份成功。此备份映像的时间戳记是:20150928214331
五、生成用于归档日志还原的测试数据
[db2inst2@localhost ~]$ db2 connect to tankdb
数据库连接信息
数据库服务器 = DB2/LINUXX8664 9.7.5
SQL 授权标识 = DB2INST2
本地数据库别名 = TANKDB
[db2inst2@localhost ~]$ db2 "insert into testtb values(1)"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "insert into testtb values(1)"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "insert into testtb values(1)"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "insert into testtb values(1)"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "insert into testtb values(1)"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "select count(*) from testtb"
1
-----------
40
1 条记录已选择。
[db2inst2@localhost ~]$ date
2015年 09月 28日 星期一 21:44:34 CST
[db2inst2@localhost ~]$ db2 connect to tankdb
数据库连接信息
数据库服务器 = DB2/LINUXX8664 9.7.5
SQL 授权标识 = DB2INST2
本地数据库别名 = TANKDB
[db2inst2@localhost ~]$ db2 "select count(*) from test"
1
-----------
44
1 条记录已选择。
六、模拟故障表
[db2inst2@localhost ~]$
[db2inst2@localhost ~]$ date
2015年 09月 28日 星期一 21:47:28 CST
[db2inst2@localhost ~]$ db2 "delete from testtb"
DB20000I SQL 命令成功完成。
[db2inst2@localhost ~]$ db2 "select count(*) from testtb"
1
-----------
0
1 条记录已选择。
七、还原故障表空间
[db2inst2@localhost ~]$ db2 "RESTORE DATABASE TANKDB TABLESPACE (TB) FROM /backup/db2inst2 TAKEN AT 20150928214331 WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING"
DB20000I RESTORE DATABASE 命令成功完成。
[db2inst2@localhost ~]$ date
2015年 09月 28日 星期一 21:49:26 CST
[db2inst2@localhost ~]$ date
2015年 09月 28日 星期一 21:50:14 CST
[db2inst2@localhost ~]$
八、还原故障前时间点
[db2inst2@localhost ~]$ db2 "ROLLFORWARD DATABASE TANKDB TO 2015-09-28-21.45.00.000000 USING LOCAL TIME AND COMPLETE TABLESPACE (TB) ONLINE"
前滚状态
输入数据库别名 = TANKDB
节点数已返回状态 = 1
节点号 = 0
前滚状态 = 未暂挂
下一个要读取的日志文件 =
已处理的日志文件 = -
上次落实的事务 = 2015-09-19-09.32.38.000000 Local
DB20000I ROLLFORWARD 命令成功完成。
九、检查还原结果
[db2inst2@localhost ~]$ db2 connect to tankdb
数据库连接信息
数据库服务器 = DB2/LINUXX8664 9.7.5
SQL 授权标识 = DB2INST2
本地数据库别名 = TANKDB
[db2inst2@localhost ~]$ db2 "select count(*) from testtb"
1
-----------
40
1 条记录已选择。
[db2inst2@localhost ~]$ db2 "select count(*) from test"
1
-----------
44
1 条记录已选择。
[db2inst2@localhost ~]$
阅读(2401) | 评论(0) | 转发(1) |