Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2794426
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: DB2/Informix

2014-09-01 15:41:18

 http://blog.sina.com.cn/s/blog_4c0137d10100bu6v.html

   在backup 数据库之后,想在restore时 重新命名数据库。该如何操作呢,和大家分享下;

1、备份数据库:

     db2 backup db finpro (你要备份的数据库名)。

2、恢复数据库:

     db2 restore db finpro from D:\FINPRO.0\DB2\NODE0000\CATN0000\20081218 taken at 20081218162607 to E into laspro redirect

     a、D:\FINPRO.0\DB2\NODE0000\CATN0000\20081218 :如果你是在当前备份目录下操作,此处可省略,如不是需要指定你备份的数据编目。

     b、20081218162607 :是你备份的数据库时间段。可到备份目录下查找,是年月日小时秒。

     c、laspro :是你要重新命名的数据库。

     d、E : 是你要重名数据库的db2编目。可根据需要选择相应的盘符。

执行我完成会出现下列提示:

SQL1277N 复原已检测到一个或多个表空间容器不可存取,或者已将它们的状态设置为“必须定义存储器”。
DB20000I RESTORE DATABASE 命令成功完成。

出现这个不要担心,是正常反应。

3、在此时你要重新定义你的数据库表空间。因为你恢复的数据库是在之前的数据库基础上,所以用的表空间要重新定义。

     a、先查看你用了那些表空间

     db2 list tablespaces show detail

     b、用到的表空间最好都重新定义一次,根据自己需要指定到什么盘符。至于表空间名字可随意。

     指定表空间:db2 set tablespace containers for 0 using (path 'e:\db2\ts0 ')

     a、0 为你的表空间标识。可以和之前的表空间标识一样。

     b、e:\tabs\ts0 为你要指定的盘符 和表空间的名称。

4、重新定义完表空间之后,执行下列命令是把数据写入到表空间中去。

     db2 restore db finpro continue

     如果在这步还出现一下问题“SQL1277N 复原已检测到一个或多个表空间容器不可存取,或者已将它们的状态设置为“必须定义存储器”。说明你说的表空间重新定义没有成功。继续搞定它就OK了。

阅读(3955) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~