Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2722430
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: DB2/Informix

2015-09-29 06:17:19


一、查看目标数据库是否开启归档日志
[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 ~]$ 
阅读(2322) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~