免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 105537 | 回复: 15
打印 上一主题 下一主题

db2如何备份一个指定的节点呀? [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-08-11 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-29 11:51 |只看该作者 |倒序浏览
db2 backup db sample to /home/backup

这个命令只能备份主节点,怎样才能备份指定备份节点2呢?

论坛徽章:
0
2 [报告]
发表于 2007-03-30 19:37 |只看该作者
指定数据库不就可以了吗

论坛徽章:
0
3 [报告]
发表于 2007-04-02 11:30 |只看该作者
什么备份节点?不明白。ha的话直需要备一个,分区的话db2_all执行以下就可以,或者每个分区上执行以下

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-08-11 06:20:00
4 [报告]
发表于 2007-08-09 08:56 |只看该作者

回复 #3 zhong0912 的帖子

我说的节点是指DB2数据的NODE,不是指cluster或ha里的节点

关键是我不知道用什么命令来操作指定分区(或节点),我su 到DB2用户后,执行备份,显示只备份NODE0000

[ 本帖最后由 haison_guo 于 2007-8-9 09:01 编辑 ]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-08-11 06:20:00
5 [报告]
发表于 2007-08-09 09:02 |只看该作者
例如,什么命令,执行备份DB2的NODE0001呢?

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
6 [报告]
发表于 2007-08-09 10:04 |只看该作者
备份node0
db2_all '<<+0< db2 backup database sample to xxxxx'
备份node0以外的
db2_all '<<-0< db2 backup database sample to xxxxxx'


如何对 DB2 分区数据库的增量备份进行恢复?




内容
提要 通过举例详细说明了恢复 DB2 分区数据库增量备份映象文件的具体实现步骤。
正文 对于 DB2 分区数据库来说,其非增量备份映象的恢复操作是可以通过仅发出两条恢复命令来完成的,即先恢复编目分区的备份,再恢复其它分区的备份。但如果要恢复分区数据库的增量备份映象,由于要对恢复的增量备份映象的时间戳记使用 db2ckrst 这一检测增量备份映象恢复顺序的实用程序进行检测,以获取恢复操作的命令序列,而各分区的增量备份映象的时间戳记又不可能完全相同,因此对于编目分区外的其它分区,不可能再通过一条命令来恢复这些分区的增量备份映象了,而必须针对每个分区,分别使用 db2ckrst 获取恢复命令的操作序列,并根据所取得的命令分分区进行恢复操作。

这里就以一个具有 4 个节点的分区数据库 SAMPLE 为例,说明对于 DB2 分区数据库增量备份进行恢复操作的具体步骤。

一. DB2 分区数据库的增量备份操作:

1. 检查并修改数据库参数设置:

数据库可进行增量备份的一个必要条件是要启用 TRACKMOD 这一数据库参数。仅当 TRACKMOD 被设为 ON 时才可执行对数据库进行增量备份的操作。为检测该参数当前的状态,可使用:

db2_all "db2 get db cfg for sample" |grep "TRACKMOD" --(Unix 平台)
db2_all "db2 get db cfg for sample" |find /i "TRACKMOD" --(Windows 平台)

该命令将返回所有分区上 TRACKMOD 的设置。如果输出显示不是所有分区上的设置都为 ON 这一打开状态,可用下述命令修改此设置为打开状态(假设要修改的分区号为 3):

db2_all "<<+3< db2 update db cfg for sample using trackmod on"

如果整个数据库的 TRACKMODE 参数均未打开,可使用如下命令对所有分区进行修改:

db2_all "db2 update db cfg for sample using trackmod on"


2. 对分区数据库的脱机全备份操作:

当修改了参数的设置后,首先需要对分区数据库进行一次完整的脱机全备份操作,后续的增量备份映象都是建立在这一备份映象的基础之上的。备份的命令为(这里未使用分区并行操作的备份方式):

db2_all "db2 backup db sample"

备份操作将在各个分区上被执行,备份结束后,在放置备份映象的路径下(此处为当前路径)使用命令 ls,可查看到上述命令产生的,分别对应于四个分区的备份映象文件,如:

SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429142824.001
SAMPLE.0.db2v8eee.NODE0001.CATN0000.20040429142843.001
SAMPLE.0.db2v8eee.NODE0002.CATN0000.20040429142857.001
SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429142912.001

从上述文件名中包含的时间戳记可以看到,各分区上完成备份操作的时间是不同的。

3. 对分区数据库的增量备份操作:

在完成了分区数据库的一次全备份操作的前提下,用户可根据数据库的使用情况,考虑对分区数据库进行多次增量备份操作(这里仅以一次非并行方式的增量备份为例进行说明),其命令为:

db2_all "db2 backup db sample incremental"

命令执行完成后可得到类似如下的,相应于各个分区的四个增量备份映象文件:

SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429143406.001
SAMPLE.0.db2v8eee.NODE0001.CATN0000.20040429143419.001
SAMPLE.0.db2v8eee.NODE0002.CATN0000.20040429143433.001
SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429143447.001

到此步骤为止,就完成了对 DB2 分区数据库的增量备份操作,下面将介绍如何在必要时恢复这些增量备份映象。


二. DB2 分区数据库增量备份的恢复操作:

用户创建的增量备份映象,会因备份操作的时间点的不同,而产生多套备份映象。为了恢复某个时间点的分区数据库增量备份映象,用户必须保证在一次恢复操作中使用的各分区的增量备份映象均为同一次备份操作所产生的。

由于分区数据库的所有编目表都放置在编目分区中,DB2 在备份或恢复时要求独占该分区,因此在对其它分区进行恢复操作之前,应首先完成该分区的增量备份的恢复操作,然后再依次对其它节点进行恢复。这里假设我们要恢复上述步骤 3. 中产生的一套增量备份映象文件。

1. 在编目分区上进行增量备份的恢复步骤:

1)获取编目分区号:

用户可利用如下命令确定分区数据库中哪个分区为编目分区,以便首先完成该分区的恢复操作:

db2 list db directory

Database 7 entry:

Database alias = SAMPLE
Database name = SAMPLE
Local database directory = /home/public/db2v8eee
Comment =
Directory entry type = Indirect
Catalog database partition number = 0

从命令输出的最后一行“ Catalog database partition number(目录数据库分区号)”中可知编目分区号为 0。

2)获取恢复操作的命令序列:

与单分区增量备份的恢复步骤相同,用户首先需要使用 db2ckrst 检测增量备份映象恢复操作的命令序列。从步骤 3 中的增量备份文件的文件名:

SAMPLE.0.db2v8eee.NODE0000.CATN0000.20040429143406.001


中可知,编目分区为 0 的增量备份的时间戳为:20040429143406,则使用 db2ckrst 的命令为:

db2_all "<<+0< db2ckrst -d sample -t 20040429143406"

命令执行后,在屏幕上会有类似的如下输出:

Suggested restore order of images using timestamp 20040429143406 for
database sample.
====================================================
restore db sample incremental taken at 20040429143406
restore db sample incremental taken at 20040429142824
restore db sample incremental taken at 20040429143406
====================================================

3)恢复增量备份映象:

按照上述给出的命令完成 0 号编目分区的增量备份映象的恢复操作:

db2_all "<<+0< db2 restore db sample incremental taken at 20040429143406"
db2_all "<<+0< db2 restore db sample incremental taken at 20040429142824"
db2_all "<<+0< db2 restore db sample incremental taken at 20040429143406"

2. 在除编目分区外的其它分区上进行增量备份的恢复步骤:

在完成了编目分区的恢复操作后,便可以类似编目分区恢复操作的顺序对其它分区依次进行增量备份的恢复操作了,需要注意的是,如上面已经提到的,由于是对增量备份进行恢复,所有无法对其它分区进行并行的恢复操作。这里以分区 3 为例加以说明:

1)获取恢复操作的命令序列:

3 号分区的增量备份映象文件名为:

SAMPLE.0.db2v8eee.NODE0003.CATN0000.20040429143447.001

利用 db2ckrst 取得恢复操作的命令序列的命令为:

db2_all "<<+3< db2ckrst -d sample -t 20040429143447"

其输出为:

Suggested restore order of images using timestamp 20040429143447 for
database sample.
=====================================================
restore db sample incremental taken at 20040429143447
restore db sample incremental taken at 20040429142912
restore db sample incremental taken at 20040429143447
=====================================================

2)恢复增量备份映象:

依次执行上述输出中步骤中所取得的输出序列,便可完成该分区的恢复操作:

db2_all "<<+3< restore db sample incremental taken at 20040429143447"
db2_all "<<+3< restore db sample incremental taken at 20040429142912"
db2_all "<<+3< restore db sample incremental taken at 20040429143447"

对于其它分区增量备份的恢复,只需依次重复上述步骤进行恢复即可,当最终完成了该分区数据库的增量备份的恢复操作后,分区数据库中的数据将重新处于完整的,保证了一致点的正常状态,以供用户连接使用。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-08-11 06:20:00
7 [报告]
发表于 2007-08-09 11:01 |只看该作者

回复 #6 大梦 的帖子

受教,谢谢!

论坛徽章:
0
8 [报告]
发表于 2007-12-27 16:16 |只看该作者
默认就是备份当前的partition吧?

论坛徽章:
0
9 [报告]
发表于 2008-03-24 13:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2008-04-10 09:46 |只看该作者

关于联机恢复1个问题

机器A:
联机完整备份例如D:\DBBAK\AA
MIRRORLOGPATH  D:\DBLOG


机器B上:安装数据库, 拷贝 上边2个目录过来
设置TRACKMODE, LOGRETAIN= ON
设置 MIRRORLOGPATH
update db cfg using mirrorlogpath "d:\dblog"
的时候提示: 指示的值D:\DBLOG无效, 原因码为'4', SQLSTATE=08004

我想:MIRRORLOGPATH设置好后, 就可以恢复数据了,为什么MIRROLOGPATH设置不成功呢? 或者我在B机上恢复操作过程不对?

A,B 都是WIN操作系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP