博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【DB2 学习】在复原过程中重定义表空间
阅读量:6711 次
发布时间:2019-06-25

本文共 2606 字,大约阅读时间需要 8 分钟。

      在备份数据库的时候,备份的表空间使用的所有表空间容器都将保存在一个记录中。在复原过程中,备份中列出的所有表空间将被检查是否可以访问。如果因为其他的一些原因有一个或多个容器不可使用,复原将失败。解决办法是在复原过程中重新定向表空间容器。包括了添加,修改,删除表空间的容器。

        另外一种情况是在备份中所选列的容器在系统中并不存在,但用户仍然需要在这些容器中复原。比如在备份之外的地方进行恢复,新的系统中可能没有定义所需的容器 。解决办法:在复原时重定向表空间容器到另外一个支持的容器。

db2 => create database product automatic storage no on 'd:\PRODUCT' user tablesp

ace managed by database using (file 'd:\PRODUCT\userdata.dat' 512)
SQL1052N  数据库路径 "D:\PRODUCT" 不存在。
SQL1052N  数据库路径 "<路径>" 不存在。--遇到的一个错误
说明:
该命令的 "" 参数中指定的路径无效。不存在该名称的路径,或者在
DB2_CREATE_DB_ON_PATHS 注册表变量被禁用时,指定了路径(仅限于 Windows)。
在 Windows 或 UNIX 环境下的分区数据库环境中,分区数据库组中的每个节点都
必须有相同的硬盘驱动器规范(路径)可用并且具有可用空间,才能成功执行
CREATE DATABASE 命令。硬盘驱动器路径是在数据库管理器配置中指定的。如果
DFTDBPATH 为空白,那么缺省值将是实例拥有的机器上安装了 DB2 的硬盘驱动器路径(即,db2 安装路径)。
无法处理该命令。
用户响应:
用正确的数据库路径重新提交该命令。
在 Windows 或 UNIX 环境下的分区数据库环境中,遵循下列步骤:
*  确定所需要的硬盘驱动器规范(路径)。该路径是在错误消息中指定的。
*  确定数据库分区的哪个节点遇到了问题。通常可以在实例拥有的节点的
   db2diag.log 文件中找到此信息。
*  更正遇到问题的节点上的驱动器问题,或着更改数据库管理器配置中的驱动器
   规范,以使分区数据库组的每个节点上都可以使用同一驱动器并且具有足够的
   空间。
*  重新发出该命令。
*  在 Windows 上,如果所有将访问该数据库的应用程序都基于版本 9 或更高版
   本的外部 API,那么可以启用 DB2_CREATE_DB_ON_PATHS 环境变量以支持将路
   径作为数据库路径。

db2 => create database product

       automatic storage no on 'd:\'
       user tablespace managed by database
       using (file 'd:\PRODUCT\userdata.dat' 512)
DB20000I  CREATE DATABASE命令成功完成。
db2 => backup database product to "d:\backup"
备份成功。此备份映像的时间戳记是:20100921111126
db2 => restore database product from d:\backup into newprod redirect without rolling forward
SQL1277W  正在执行重定向复原操作。现在,可以查看表空间配置,并且不使用自动存储器
的表空间可以重新配置它们的容器。
DB20000I  RESTORE DATABASE命令成功完成。
db2 => list tablespaces
           当前数据库的表空间

 表空间标识                        = 0

 名称                       = SYSCATSPACE
 类型                                       = 系统管理空间
 内容                                = 所有持久数据。常规表空间。
 状态                   = 0x2001100
   详细解释:
     复原暂挂
     必须定义存储器
     可以定义存储器

 表空间标识                        = 1

 名称                       = TEMPSPACE1
 类型                                       = 系统管理空间
 内容                                = 系统临时数据
 状态                   = 0x2001100
   详细解释:
     复原暂挂
     必须定义存储器
     可以定义存储器

 表空间标识                        = 2

 名称                       = USERSPACE1
 类型                                       = 数据库管理空间
 内容                                = 所有持久数据。大型表空间。
 状态                   = 0x2001100
   详细解释:
     复原暂挂
     必须定义存储器
     可以定义存储器

注意:上面提示所有的表空间都处于 必须定义存储器 状态。为了继续进行,使用如下方式重定义容器。

db2 => set tablespace containers for 0 using (path "D:\newprod01")

DB20000I  SET TABLESPACE CONTAINERS命令成功完成。
db2 => set tablespace containers for 1 using (path "D:\newprod02")
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。
db2 => set tablespace containers for 2 using (file "D:\newprod03\user.dat" 5120)
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

完成了容器的重定义,进行重定向复原。

db2 => restore database product continue
DB20000I  RESTORE DATABASE命令成功完成。
db2 => list tablespaces

           当前数据库的表空间

 表空间标识                        = 0

 名称                       = SYSCATSPACE
 类型                                       = 系统管理空间
 内容                                = 所有持久数据。常规表空间。
 状态                   = 0x0000
   详细解释:
     正常

 表空间标识                        = 1

 名称                       = TEMPSPACE1
 类型                                       = 系统管理空间
 内容                                = 系统临时数据
 状态                   = 0x0000
   详细解释:
     正常

 表空间标识                        = 2

 名称                       = USERSPACE1
 类型                                       = 数据库管理空间
 内容                                = 所有持久数据。大型表空间。
 状态                   = 0x0000
   详细解释:
     正常

检查表空间的状态,重定向复原成功!

转载地址:http://ololo.baihongyu.com/

你可能感兴趣的文章
微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
查看>>
HDU 1429 胜利大逃亡(续)(bfs)
查看>>
saltstack远程操作WINDOWS的POWERSHELL脚本
查看>>
Zookeeper客户端使用
查看>>
kindeditor粘贴word文档内容时去除格式的方法?如何设置为默认无文本格式呢?
查看>>
IT 名企招聘信息
查看>>
this web application instance has been stopped already解决办法
查看>>
【计导作业】链表——成绩统计2
查看>>
Xen安全架构sHype/ACM策略配置图文教程
查看>>
汇编语言--百度百科
查看>>
OpenGL学习之路(三)
查看>>
sql ltrim rtrim
查看>>
几点基于Web日志的Webshell检测思路
查看>>
mysql sql_mode 之 NO_ENGINE_SUBSTITUTION
查看>>
嵌入式系统 Boot Loader 技术内幕【转】
查看>>
(windows)一台电脑上安装两个Mysql服务
查看>>
教你如何在Kali Linux 环境下设置蜜罐?
查看>>
微信公众号开发之公众号支付
查看>>
主域控角色迁移和夺取(转载)
查看>>
HDFS High Availability Using the Quorum Journal Manager
查看>>