`
tianyihuyidao9
  • 浏览: 158911 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

db2分区数据库的备份和恢复

 
阅读更多
在工作中,对数据库经常要进行备份和恢复,在项目,2012年1月,由于某种原因,其中一台DB2 数据库备机上每天定时前滚日志的任务执行没达到预期目的,经过分析,发现原因在于编目节点(0节点的日志不连续。丢失的日志并不容易找回来,所以我们就需要利用原有备份文件进行恢复。
        根据项目的实际情况,主要介绍的是实现DB2 分区数据库备份与恢复的实际操作操作,其中主要包括对分区数据库的备份操作,对分区数据库的恢复操作以及对分区数据库的前滚操作等内容的详细描述  。
  利用此次恢复分区数据库,说明如何对启用了前滚恢复模式的 DB2 分区数据库,正确地利用 BACKUP/RESTORE/ROLLFORWARD 等命令进行备份,恢复以及带 OVERFLOW 项的前滚操作  。
  对于 DB2 的分区数据库,某些直接发出的 DB2 命令只作用于当前一个分区,备份和恢复(BACKUP/RESTORE就属于这一类命令  。但是对于硬盘数据恢复分区数据库,由于同一数据库的数据分布在多个分区上,则对它的备份和恢复操作就要考虑到各分区上数据的完整及同步问题,因此可以在 DB2 命令前加上 db2_all 命令,以便 DB2 命令在数据库的各个分区上被执行,而无需分别对每个分区重复发出相同的命令  。例如:db2_all "db2 backup db sample online" 。
  另外在 DB2 中,启用了前滚数据恢复模式的数据库,使用的是归档日志方式,而非缺省的循环日志方式  。这样,在进行恢复操作时,可在利用 RESTORE 命令恢复了数据库或表空间的备份后,再通过前滚命令(ROLLFORWARD命令前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据  。
该数据库创建在一台服务器上,4个分区都在同一台服务器上,其编目分区为0号分区  。
对分区数据库的备份操作
  前面已经介绍了,备份操作仅作用于DB2 分区数据库的当前分区,所以要使用“db2_all”的命令实现对所分区进行备份(这里使用联机备份方式,即:
db2_all "|| db2 backup db smp_db online to /dbbackup/online/smp  compress";    
对分区硬盘数据并行压缩备份,分区数据库的备份结束后会为每个分区都产生一个备份映象文件  :
SMP_DB.0.SMPadmin.NODE0000.CATN0000.20120129170009.001
SMP_DB.0.SMPadmin.NODE0002.CATN0000.20120129170009.001
SMP_DB.0.SMPadmin.NODE0001.CATN0000.20120129170009.001
SMP_DB.0.SMPadmin.NODE0003.CATN0000.20120129170009.001
  分区间以并行方式进行的方法:
  <<+分区号< :表示后续命令作用于该分区  。
  <<-分区号< :表示后续命令作用于除该分区之外的其它分区  。
  ||<<-分区号< 或 <<-分区号; :表示后续命令作用数据恢复于除该分区之外的其它分区,并且是以并行方式进行的  。
 对分区数据库的恢复操作
  由于备份和恢复操作都只作用于当前数据库分区,因此也可分为串行和并行的方式  。
    这里我们先在恢复编目分区的数据库,然后并行恢复其他个分区的数据库,由于数据库比较大,磁盘性能低,所以一共耗时30个小时左右。
$db2_all "<<+0< db2 restore db smp_db from /dbbackup/online/smp  replace existing without prompting";
$db2_all "||<<-0< db2 restore db smp_db from /dbbackup/online/smp replace existing without prompting";
$db2 list utilities show detail  在恢复数据库的时候,可以使用命令监控数据库的恢复情况,输出如下:
   db2inst1:[/home/db2inst1]$db2 list utilities show detail
ID                               = 33
Type                             = RESTORE
Database Name                    = SMP_DB
Partition Number                 = 1
Description                      = db
Start Time                       = 02/08/2012 09:16:37.176322
Progress Monitoring:
      Completed Work             = 13094539264 bytes
      Start Time                 = 02/08/2012 09:16:37.176325

ID                               = 33
Type                             = RESTORE
Database Name                    = SMP_DB
Partition Number                 = 2
Description                      = db
Start Time                       = 02/08/2012 09:16:37.221974
Progress Monitoring:
      Completed Work             = 13038579712 bytes
      Start Time                 = 02/08/2012 09:16:37.221977

ID                               = 33
Type                             = RESTORE
Database Name                    = SMP_DB
Partition Number                 = 3
Description                      = db
Start Time                       = 02/08/2012 09:16:37.249874
Progress Monitoring:
      Completed Work             = 13102170112 bytes
      Start Time                 = 02/08/2012 09:16:37.249876
经过监控发现恢复进度很慢,通过topas监控一下发现磁盘非常忙
  
  由于我们使用的备份映象文件是通过联机备份产生的,因此在恢复操作结束后,数据库将处于前滚暂挂状态,必须通过前滚操作前滚归档日志,以取消前滚暂挂状态,使数据库最终可用  。此次,我们需要前滚数据库,但是不取消前滚暂挂状态。
对分区数据库的前滚操作
  由于备机上数据库 SMP_DB 的日志路径下不包含源 生产机SMP_DB 数据库日志路径下的归档日志文件,所以在前滚操作之前,需要将 生产机SMP_DB 的归档日志文件复制到一个特定的路径下,然后在发出前滚命令时,使用 OVERFLOW 项来指定该路径,以替代 SMP_DB 的数据恢复日志路径来提供前滚操作要使用的归档日志文件  。
  这里假设将各分区的归档日志文件对应复制到 /dbbackup/log_smp/archive/smp_db 下,因前滚命令仅可在编目分区上执行,所以在编目分区上前滚到日硬盘数据恢复志文件尾并结束前滚状态的命令应写为:
db2 "rollforward db smp_db  to end of logs on all dbpartitionnums overflow log path
(/dbbackup/log_smp/archive/smp_db/NODE0000,
/dbbackup/log_smp/archive/smp_db/NODE0001 on dbpartitionnum 1,
/dbbackup/log_smp/archive/smp_db/NODE0002 on dbpartitionnum 2,
/dbbackup/log_smp/archive/smp_db/NODE0003 on dbpartitionnum 3)"
  注:对于0号分区,在 OVERFLOW 项中不能使用“on dbpartitionnum 0”的子句,否则会遇到:SQL0104N An unexpected token "on" was found following "<identifier>". Expected tokens may include: ")". SQLSTATE=42601 的报错,表明命令语法不正确  。
监控日志前滚状态
$db2 list utilities show detail
ID                               = 35
Type                             = ROLLFORWARD RECOVERY
Database Name                    = SMP_DB
Partition Number                 = 0
Description                      = Database Rollforward Recovery
Start Time                       = 02/09/2012 14:20:37.599683
Progress Monitoring:
   Phase Number                  = 1
      Description                = Forward
      Total Work                 = 0 bytes
      Completed Work             = 0 bytes
      Start Time                 = 02/09/2012 14:20:37.599686
   Phase Number [Current]        = 2
      Description                = Backward
      Total Work                 = 0 bytes
      Completed Work             = 0 bytes
      Start Time                 = 02/09/2012 14:20:37.851088

ID                               = 35
Type                             = ROLLFORWARD RECOVERY
Database Name                    = SMP_DB
Partition Number                 = 1
Description                      = Database Rollforward Recovery
Start Time                       = 02/09/2012 14:20:37.974493
Progress Monitoring:
   Estimated Percentage Complete = 100
   Phase Number                  = 1
      Description                = Forward
      Total Work                 = 917504901 bytes
      Completed Work             = 917504901 bytes
      Start Time                 = 02/09/2012 14:20:37.974496
   Phase Number [Current]        = 2
      Description                = Backward
      Total Work                 = 0 bytes
      Completed Work             = 0 bytes
      Start Time                 = 02/09/2012 14:29:35.164973

ID                               = 35
Type                             = ROLLFORWARD RECOVERY
Database Name                    = SMP_DB
Partition Number                 = 2
Description                      = Database Rollforward Recovery
Start Time                       = 02/09/2012 14:20:38.088695
Progress Monitoring:
   Estimated Percentage Complete = 100
   Phase Number                  = 1
      Description     
分享到:
评论

相关推荐

    DB2和orcale数据库表分区方法和数据库的备份与恢复

    DB2和orcale数据库表分区相关操作和数据库的备份与恢复

    DB2分区数据库的前滚操作

    DB2分区数据库备份映象文件是通过联机备份产生的,在DB2分区数据库恢复操作结束后,数据库将处于前滚暂挂状态,必须通过前滚操作前滚归档日志,以取消前滚暂挂状态,使数据库终可用。  对DB2分区数据库的前滚操作...

    db2数据库入门教程(官方中文版)

    2.2.1数据库分区............................................................................................................23 2.2.2连接集中器(Connection Concentrator ).................................

    linux db2 自动备份(包括归档处理)

    -dbdir 数据库备份数据存放的目录 -logdir 数据库日志归档的目录(临时存放日志文件夹) -bklog 数据库日志存放及处理的文件夹 -setdb 数据库的名字 一般推荐使用如下命令: ./set.sh -dbdir /home/data...

    db2 9 731 中文教材

    本教程讨论数据库备份和恢复专题。教程中解释了数据库恢复和日志记录的不同方法,以及如何使用 BACKUP、RESTORE、ROLLFORWARD 和 RECOVER 命令。另外还谈到了新的 DATABASE REBUILD 操作。 • 第 7 部分:镜像分割...

    db2数据库入门官方教程(中文版)

    2.2.1数据库分区............................................................................................................23 2.2.2连接集中器(Connection Concentrator ).................................

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    官方资料:ORACLE数据库增值组件.pdf

    ORACLE数据库增值组件:•数据库真正应用集群(RAC)•有效管理海量数据(Partitioning) •数据库管理的DBA2.0时代(OEM) •业务数据的安全管控(AV,DV,TDE)ORACLE数据库持续创新; ORACLE数据库增值组件 ;•数据库真正...

    数据库系统-招标参数---模板.doc

    " " "数据库性能 "数据库提供数据表分区能力的商务和技术许可,以" " " "便支持海量数据表的需求。 " " " "具有支持并行操作所需的技术,如并行装载,并行" " " "查询,并行创建索引等 " " " "提供分区索引视图功能 ...

    Linux环境数据库管理员指南

    9.26.4 备份和恢复 279 9.26.5 大型数据库 280 9.27 使用 PostgreSQL 的 KVM 开关 280 9.28 故障排除—postmaster 启动故障 281 9.28.1 客户机连接问题 282 9.28.2 调试消息 282 9.28.3 pg_options 283 9.29 技术...

    数据库操作语句大全(sql)

    DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...

    citrix 中文管理操作手册

    使用 NTFS 分区 128 安装和配置简单网络管理协议 (SNMP) 服务 128 受信任的服务器配置 129 保护数据存储 129 Microsoft Access 129 Microsoft SQL Server 129 Microsoft SQL Server 2005 Express Edition 130 Oracle...

    经典SQL语句大全

    DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明...

    sql经典语句一部分

    DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明...

    linux管理员指南

    ”)但是当IBM公司开始把它的DB2数据库系统移植到Linux上、SGI公司宣布把Linux作为它基本的桌面操作系统、甚至Dell公司都把Red Hat Linux作为它服务器计算机的一个预安装选项的时候——真正的“警报”才响了起来。...

Global site tag (gtag.js) - Google Analytics