DB2连机备份数据库,并用备份文件还原创建一个新的数据库问题.可能是简单问题,但真正懂的人可能很少.希望会的与不会的一起来交流!

LANTE80 2008-06-03 10:30:34
先说我所操作全过程,

1.创建一个数据库TEST1

2.修改日志类型为归档日志类型
db2 update db cfg for test1 using logretain on;--归档日志
db2 update db cfg for test1 using logretain on;--用户出口
3.全备份数据库(修改日志类型后一定要做一次备份开可以使用)
  db2 backup db test1
4.停止数据库
  db2stop 
5.启动数据库
db2start
6.开始在线备份一个数据库:
  我使用了两种方式:
  1.db2 backup db test1 online to /doc/work/dbback include logs
这种方法可以把日志文件直接备份到备份文件中,在V9.5版本支持,在网上找的,
  2.db2 backup db test1 online to /doc/work/dbback
7.还原备份文件生成新的数据库.
  1.db2 restore db test1 from /doc/work/dbback to /doc/work/newtest into test2 logtarget /doc/work/logdata redirect

2. db2 restore db test1 from /doc/work/dbback to /doc/work/newtest into test2 呢newlogpath /doc/work/logdata redirect

以上分别对应两种方式的备份来还原
8.重新设置容器

9.db2 restore db test1 continue

10. db2 rollward db test2 to end of logs and stop

对应第二种方法在执行这步前把原数据下的日志文件全部拷贝到/doc/work/logdata 目录下





以上是我测试的步骤.但都是到最后一步执行后就出错.

第一种方法的错误信息为:
   SQL2162N:ROLLFORWARD operation failed because db2 does not have permission to access log file "s00000002.log" for database "test2" on node "0"

第二种方法的错误信息为:
   SQL2168N:ROLL_FORWARD recovery stoped due to error "24" while retrieving log file "s00000002.log" for database "test2" on node "0"



大家看看问题出在那里?



...全文
267 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王帆 2008-06-09
  • 打赏
  • 举报
回复
根据你的报错信息SQL2162N,感觉楼上说得不错,应该就是访问权限问题。
askwho 2008-06-06
  • 打赏
  • 举报
回复
先查看2号日志文件是否在,如果在,看看属性,估计是权限问题,如果你的操作用实例用户完成,过程上没有问题。
whoami1618 2008-06-05
  • 打赏
  • 举报
回复
是不是Linux环境下拷贝日志文件的用户不对,导致在restore时DB2读写日志文件权限不够?

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧