匿名用户
1级
2011-12-27 回答
看一下表空间是不是挂起了,按照如下步骤:
1、db2 list tablespaces show detail,可能的输出如下:
表空间标识 = 1
名称 = TEMPSPACE1
类型 = 系统管理空间
内容 = 系统临时数据
状态 = 0x0000
详细解释:
装入暂挂
总页数 = 1652
可用页数 = 1652
已用页数 = 1652
空闲页数 = 不适用
高水位标记(页) = 不适用
页大小(字节) = 4096
盘区大小(页) = 32
预读取大小(页) = 32
容器数 = 1
状态更改表空间标识 = 2
状态更改对象标识 = 59
这样的话,表明id为59的表使表空间挂起了
2、下面的语句查看引起挂起的表名
select tabname,tableid from syscat.tables where tableid=59
3、你这种情况有可能是备份文件里面指定的表空间容器没有创建,所以导致表空间无法恢复,可以用如下命令查看出有问题的表空间的容器,手动创建好,再执行恢复
db2 list tablespace containers for 1 show detail,其中for后面的1表示的是表空间标识,可能输出为:
表空间 1 的表空间容器
容器标识 = 0
名称 = C:\DB2\NODE0000\SQL00001\SQLT0001.0
类型 = 路径
总计页数 = 1
可用页数 = 1
可存取 = 是
则按照这个容器的信息手动创建容器后执行恢复试一下