查看: 13927|回复: 15

[精华] db2数据库备份恢复问题:SQL0970N

[复制链接]
论坛徽章:
9
授权会员
日期:2006-03-15 22:32:12数据库板块每日发贴之星
日期:2006-08-15 01:02:49会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
跳转到指定楼层
1#
发表于 2006-6-9 13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从一台sun的机器上

BACKUP DATABASE mydb TO /backup/mydb 备份数据库,

然后把备份拷贝到AIX系统下,然后在aix下db2数据库中建立mydb数据库,然后执行:

RESTORE DATABASE mydb FROM /backup/mydb TAKEN AT 20000926201226

出现如下错误,
SQL0970N  The system attempted to write to a read-only file.  SQLSTATE=55009,


提示没有写的权限,最后涉及到关于权限的文件全部都改成777,错误一样。

请大家帮忙看看!

谢谢!
论坛徽章:
9
授权会员
日期:2006-03-15 22:32:12数据库板块每日发贴之星
日期:2006-08-15 01:02:49会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
2#
 楼主| 发表于 2006-6-9 13:57 | 只看该作者
今天itpub的人都去那里的,怎么没人回应一下!
继续等!

使用道具 举报

回复
论坛徽章:
9
授权会员
日期:2006-03-15 22:32:12数据库板块每日发贴之星
日期:2006-08-15 01:02:49会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
3#
 楼主| 发表于 2006-6-9 14:01 | 只看该作者
难道pub的牛都休息了吗,准备精力晚上夜战世界杯,

偶也想休息一下,晚上看世界杯,但是问题还是要解决的,

请各位大牛帮忙看看,指点一下!

使用道具 举报

回复
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010广州亚运会纪念徽章:橄榄球
日期:2011-05-22 10:54:33管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010年世界杯参赛球队:丹麦
日期:2010-04-06 10:23:36
4#
发表于 2006-6-9 15:49 | 只看该作者
用重定向恢复看看

使用道具 举报

回复
论坛徽章:
1
会员2007贡献徽章
日期:2007-09-26 18:42:10
5#
发表于 2006-6-9 16:40 | 只看该作者
估计哪个container文件没有写权限,用重定向恢复吧。

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2006-02-05 11:03:26数据库板块每日发贴之星
日期:2006-02-10 01:02:41IBM软件技术精英协会成员
日期:2006-12-21 15:37:12
6#
发表于 2006-6-9 17:23 | 只看该作者
看看db2diag.log日志的提示,能比较好定位具体的权限问题。

使用道具 举报

回复
论坛徽章:
9
授权会员
日期:2006-03-15 22:32:12数据库板块每日发贴之星
日期:2006-08-15 01:02:49会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
7#
 楼主| 发表于 2006-6-9 21:07 | 只看该作者
谢谢各位帮忙,本人已经搞定,具体过程如下,与大家共享!


一:在源数据库上的操作:(本例为solaris9)
#su – db2inst1
$pwd
/ export/home2/db2inst1
$mkdir cws3
$db2pd –db cws3 (查看cws3数据库的配置信息,例如表空间的位置,日值的位置等等)
$ db2 get dbm cfg (查看原来cws3数据库的建库信息,如库的编码,区域等)
说明:数据库restore时对于不存在的数据库会新建一个,但是其codeset和地区,以及codepage都是使用默认的,当备份的数据库与你默认的配置不同时,就会发生错误。因此可以先在目标数据库上新建一个与源数据库相同的数据库,使其codeset和地区,codepage都跟你备分的一样,再执行restore就ok了。
$db2 db2stop(或者db2 db2stop force)
$db2 db2start
说明:在用backup db备份db2数据库时,外部不能有连接,因此要stop db2,然后在start db2。
$db2 backup db cws3 to
/export/home2/db2inst1/cws3(指定备份的介质,只要是一个可写的目录即可,backup命令会自动把备份出来的文件放到/export/home2/db2inst1/cws3下面).
备份完成后,系统会自动生成一个备份的时间戳,例如:
Backup successful. The timestamp for this backup image is : 20060608160538
同时会在指定的介质(或者是目录)下生成一个类似如下的文件:
CWS3.0.db2inst1.NODE0000.CATN0000.20060608160538.001
这样db2的基本备份就完成了。
然后可以把备份出来的数据文件拷贝的目标数据库的任意目录(这个目录很重要,以后要用到,本例是备份到目标数据库/db2data/db2inst1/cws3下),接下来就可以在目标数据库上进行操作。
二:在目标数据库上操作(本例为AIX5.1)
1:建立目标数据库:
由于两个数据库在编码以及库配置方面的不同,因此建议在目标数据库上先建立一个和源数据库配置相同的数据库。
#su – db2inst1
$pwd
/db2data/db2inst1
$mkdir cws3
本例假设备份的数据库文件拷贝到了/db2data/db2inst1/cws3下。
$ CREATE DATABASE cws3 ON /db2data/db2inst1 USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM
这样就在/db2data/db2inst1目录下产生一个以登陆实例为名称的目录,本例为
/db2data/db2inst1/db2inst1
由于两台数据库备份的目录以及在目标数据库上恢复的目录可能不同,并且backup db命令备份的数据文件默认记录所有与备份环境相关的信息,例如备份路径等,因此要利用db2的重定向方式恢复数据。
2:重定向恢复数据库:
接下来根据上面在源数据库上查到的源数据库配置信息,主要是数据库几个缺省表空间,例如系统表空间,用户表空间,临时表空间等等,根据这些信息,进行数据库的重定向恢复。
$            db2 restore db from  /export/home2/db2inst1/cws3  to  /db2data/db2inst1/cws3  into cws3  redirect
$               db2 "set tablespace containers for 0 using (path '/db2data/db2inst1/db2inst1/NODE0000/SQL00001/SQLT0000.0')"
$                db2 "set tablespace containers for 1 using (path '/db2data/db2inst1/db2inst1/NODE0000/SQL00001/SQLT0001.0')"
$                db2 "set tablespace containers for 2 using (path '/db2data/db2inst1/db2inst1/NODE0000/SQL00001/SQLT0002.0')"
$                db2 "set tablespace containers for 3 using (path '/db2data/db2inst1/db2inst1/usercontainer3')"
$                db2 "set tablespace containers for 4 using (path '/db2data/db2inst1/db2inst1/usercontainer4')"
注意, 在给恢复数据库上的tablespace设置redirect container时候,设置必须和原来的tablespace type一致,如原来是SMS,则使用PATH container,原来是DMS,则使用FILE/DEVICE container。如果是DMS,上面使用格式变为:
db2 "set tablespace containers for 5 using (file '/db2data/db2inst1/db2inst1/data1' 2000000)"

然后进行:
$db2 restore db cws3 continue

至此db2重定向恢复完成。

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
8#
发表于 2006-6-9 22:40 | 只看该作者
hehe, redirect restore...

使用道具 举报

回复
论坛徽章:
9
授权会员
日期:2006-03-15 22:32:12数据库板块每日发贴之星
日期:2006-08-15 01:02:49会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
9#
 楼主| 发表于 2006-6-10 13:54 | 只看该作者
老大提点建议!

使用道具 举报

回复
论坛徽章:
0
10#
发表于 2006-6-10 20:55 | 只看该作者
很有钻研精神,学习

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表