db2 备份怎么恢复到另一台服务器中

db2 备份怎么恢复到另一台服务器中,第1张

db2 备份怎么恢复到另一台服务器方法:

1)、首先打开一下支持在线备份的数据库配置参数:

db2 update db cfg for sample using userexit on 启用用户出口

db2 update db cfg for sample using logretain on 启用归档日志

db2 update db cfg for sample using trackmod on 启用增量备份功能

(需要各个Node都分别做设置)

开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。

2)、在线备份命令如下:

db2 backup db sample online use tsm

备份成功,返回一个时间戳。

3)、同样可以用db2adutl 和db2 list history察看备份纪录。

4)、备注:

同样,对每个节点都做这个 *** 作。

3、 在线增量备份

1)、在开启了必须的三个参数的情况下,做增量备份:

db2 backup db sample online incremental use tsm

备份成功,返回一个时间戳。

2)、同样可以用db2adutl 和db2 list history察看备份纪录。

3)、还有一种delta的备份:

db2 backup db sample online incremental delta use tsm

这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。

4)、备注:

同样,对每个节点都做这个 *** 作。

Linux到AIX我没有试过,但是linux到windows我知道不行,跨平台DB2可能版本不支持整个数据库的恢复,系统不一样,软件可能有区别,但是可以用数据导出的方式,把表倒出来,然后在导入。

db2 export to xxx.ixf select * from xxx where 1=1

导出命令我记得是这个形式,xxx是表名,你需要把所有表都导出来。会有N条命令。

db2 import from xxx.ixf of ixf insert into xxx

导入命令记不清了,大概应该是没错的,xxx是表名。两次都需要连接库

connect to db aaa user username using password

aaa是库名,username是用户名,password是密码。

两次连接第一次连原库,第二次连新建的库

AIX也算是unix,你先试试备份还原吧

db2 backup db aaa to 路径

db2 restore db aaa frome 路径

只能用 db2look +db2move 进行迁移。1.提取DDL 用如下命令db2look -d yn -e -l -o db2look_yn.ddl //提取出 yn(云南) 这个数据库 所有用户对象,包括表空间等。2.用db2move 导出数据 如下如你在 db2inist1 用户目录下 建立一个 data 目录 然后执行db2move yn export在data 目录下 会有好多 后缀名为ixf 和msg 的文件,其中ixf为数据表文件,msg后缀的为消息文件,其中最重要的 是db2move.lst 存放导出表和消息文件的对应关系。3.去windows 下建立一个数据库db2 “ create db yn pagesize 8 k” //这里的pagesize需要和 ddl的统一然后修改 yn.ddl 文件下 把 Linux下面 的路径 替换为Windows 的路径然后执行db2 -tvf yn.ddl4.导入数据库db2move yn load其中会生成 一个load.out的文件 记录错误信息或者 导入失败的表 ,如加载了多少行,拒绝多少行 等。5.查看load.out 找到那些导入不成功的进行 处理,然后倒入。然后进行完整性约束 这些检查。如有问题 Q 我吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10870913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存