db2怎么恢复到另一个服务器
1. db2备份后,怎么恢复
活动日志是下面两种概念的日志:
1.
日志里包含未提交的实务
2.
日志中包含已提交但是数据变动并没有被刷入磁盘,只是在bufferpool中存着。
简单来说,活动日志和归档日志的根本差别就是归档日志记录的是实实在在已经数据变动已经生效了的事务,而活动日志就是没有完全确认的事务。这也是为什么如果删除活动日志后数据库会起不来的原因。因为数据库不知道自己的状态了。
另外,每一份活动日志会在归档路径下有一个备份,就是每一个活动日志都是有两份的,一份在活动日志目录,一份在归档路径下。当日志写满,或者手动归档,又或者发动备份的时候,数据库会自动归档活动日志,即是把数据库活动日志路径下的日志删除,这样,该日志就只存在于数据库的归档路径目录里面,这也就是归档的过程。
所以,你备份恢复的时候,只需要把恢复后把源环境中的归档日志出来就可以。里面的日志也包含了当前数据库活动日志中的内容。
回答了这么多,望采纳!
2. db2数据库可以恢复到别的实例下吗
可以的~ 不过最好是相同的实例名称。不然比较麻烦。
3. db2数据库的备份与恢复需要注意事项
登录
db2 在线备份和离线备份 的注意事项 原创
2008-07-04 17:44:00
WorldWelcome
码龄16年
关注
db2在线备份和离线备份的区别
1)一般默认建立一个db2数据库是不支持在线备份的(在DB2控制中心里的)
如果要让一个DB2数据库支持在线备份的话,update db cfg for sampledb using logretain=on serexit=on,trackmode=on
2)如果一个db2数据库同时支持在线备份和离线备份的话,那么在备份的时候要小心,如果是要做在线备份,那么必须把日志要单独拷贝出来。否则无法回滚,也就无法使用。
3) 离线备份后恢复的时候,加上参数without rollforward...
4) 在线备份后,必须rollforward to ....
5) force application stop 命令 其实跟离线备份/在线备份都没有什么关系。
4. 从一个服务器上取一个数据库表中的数据插入到另一个服务器,如何做到
通过程序吧,ETL程序,或许两个数据库的连接,把一个数据库里的东西查出来放在resultset里面,然后再插入另外一个。
如果是db2的话,你可以用db2export,db2import,db2load或者db2move等方法直接一次做完。
5. 重装系统后,如何恢复DB2数据库
你只需要重新安装一下db2的安装程序,保留以前的数据库的数据文件目录。然后在命令行下db2=> 执行
catalog db 数据库名称 on 原数据库文件所在磁盘, 这样就可以把以前的数据库编目上了。
6. DB2数据库和表恢复
1. 如何恢复误删的表
使用recover dropped table功能即可
要求是: 误删的表建立且数据注入之后,有该数据库的备份
通过db2 list history dropped table all for dbname找到误删表的Backup ID以及该表的DDL语句
恢复误删表所在表空间 db2 restore db dbname tablespace(tbspname) taken at xxxx
在前滚中指定误删表 backup id,输出表数据
db2 rollforward db dbname to end of logs tablespace(误删表所在表空间名字) recover dropped table backup id to /home/db2inst
在/home/db2inst目录下的node0000目录下有一个data文件,是误删表的数据
通过DDL重建表,并使用LOAD将DATA文件导入表中即可.
没有做过备份的话,如果你拷贝的文件夹完整的话(既有元数据,又有数据库数据),可以uncatalog db dbname,然后将拷贝的文件夹拷贝回来,并catalog db dbname就可以了.
7. db2 数据库 从一个主机到另一个主句 如何恢复
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)、同样可以用db2atl 和db2 list history察看备份纪录。
4)、备注:
同样,对每个节点都做这个操作。
3、 在线增量备份
1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm
备份成功,返回一个时间戳。
2)、同样可以用db2atl 和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)、备注:
同样,对每个节点都做这个操作。
8. 如何在linux下实现db2数据库备份和恢复
通过如下备份脚本备份的数据库进行恢复
备份脚本:
./home/db2admin/sqllib/db2profile
db2backupdbdatedbonlineto/dbbackup/dateincludelogs
cd/dbbackup/datetoday=`date+”%Y%m%d”`
file1=”*$today*”
ftpfile=`ls$file1`
echo$ftpfile
lftp-c“openftp地址;user用户名密码@$0;put$ftpfile”
find/dbbackup/date-ctime+15-execrm{};
恢复命令:
通过root命令登录到服务器上后切换到数据库用户名下用su – db2admin命令。
进入到备份文件存放目录
执行如下命令
$ db2 restore db datedb from /hom
9. 从Linux备份DB2数据库到AIX上怎么恢复
DB2数据库离线和在线全备、增量备份及恢复的具体操作步骤:
1、离线全备份
(1)、首先确保没有用户使用DB2:
$db2 list applications for db sample
(2)、停掉数据库并重新启动,以便断掉所有连接:
db2stop force
db2start
(3)、执行备份命令:(使用TSM作为备份的介质)
db2 backup db sample use tsm
备份成功,将会返回一个时间戳。
(4)、检查备份成功:
Db2 list history backup all for sample ,可以看到多了这个备份的纪录。
Db2atl query命令也可以看到返回值。
(5)、备注:
首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
2、 在线备份:
(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)、同样可以用db2atl 和db2 list history察看备份纪录。
(4)、备注:
同样,对每个节点都做这个操作。
3、 在线增量备份
(1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm
备份成功,返回一个时间戳。
(2)、同样可以用db2atl 和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)、备注:同样,对每个节点都做这个操作。
4、 恢复数据库
(1)、手工drop数据库,模拟灾难恢复的情况,执行如下操作:
db2 drop db sample
(2)、恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的:
db2 restore db sample history file use tsm
taken at 20030102223107 buffer 100
(3)、使用db2的恢复帮助工具:
db2ckrst -d sample -t 20030101224424 -r database
命令返回建议的必需的恢复操作命令。
(4)、按照帮助工具的提示,先做版本恢复,恢复命令如下:
db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
同样先做主节点的恢复,再做其他节点的恢复操作。
(5)、这时数据库处于rollforward-pending state的状态,需要做roll forward 操作:
db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop
前滚到同一个时间点。这个操作要在主节点来做。
5、说明:
(1)、恢复操作也有online和offline的,区别等同backup的操作。
(2)、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name 即可。表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
(3)、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(请注意使用db2ckrst的建议恢复次序和次数)之后,最后做roll forward.