首先将备份的数据库文件放在E:\DB2BAK里。
然后打开命令行窗口执行:
白金山:db2代码 db2 restore database 原数据库名称 from E:\DB2BAK taken at 20090909090909(时间戳) into 新数据库名称 redirect without rolling forward 会出现如下错误信息 白金山:db2代码 SQL1277N 复原已检测到一个或多个表空间容器是不可访问的,或者已将它们的状态设置为“必须定义存储器”。
DB20000I RESTORE DATABASE 命令成功完成。这说明在新机器中原来的表空间不存在 回到服务器上通过如下命令查看原来的表空间 白金山:db2代码 db2 connect to 数据库名称 db2 list tablespaces 这里会看到 白金山:db2代码 当前数据库的表空间 表空间标识 = 0 名称 = SYSCATSPACE 类型 = 系统管理空间 内容 = 任何数据 状态 = 0x0000 详细解释: 正常 表空间标识 = 1 名称 = TEMPSPACE1 类型 = 系统管理空间 内容 = 系统临时数据 状态 = 0x0000 详细解释: 正常 等字样把它记下来 回到自己的机器在D:\DB2DATA以上面表空间名称为文件名创建文件夹 回到自己的机器命令行执行如下命令 白金山:db2代码 db2 set tablespace containers for 0 using (path "D:\DB2DATA\SYSCATSPACE") DB20000I SET TABLESPACE CONTAINERS 命令成功完成。
db2 set tablespace containers for 1 using (path "D:\DB2DATA\TEMPSPACE1") D:\DB2DATA是新数据的位置记住这里除了文件夹以外什么都不能有哦。OK执行下面最后一步 白金山:db2代码 RESTORE DATABASE 原数据库名称 CONTINUE 至此新的数据库就出来了 。
全部