
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
可存取 = 是
则按照这个容器的信息手动创建容器后执行恢复试一下
数据库下有表空间,为存储数据的逻辑单元,下面指定目录或物理文件、磁盘设备等。这个提示是说你的备份不正确。你的旧数据库既然已经崩溃,估计重做备份不可能。不过还是写出整个步骤吧。若是备份有问题,则
备份命令是:
connect
to
gp
quiesce
database
immediate
force
connections
connect
reset
backup
database
gp
to
"c:\"
with
2
buffers
buffer
1024
parallelism
1
without
prompting
connect
to
gp
unquiesce
database
connect
reset
其中quiesce
database
immediate
force
connections为使数据库静默的命令,就是停止数据库上其他活动来执行完全备份的准备工作。
在c盘上产生了印像文件gp.0.db2.node0000.catn0000.20111229155222.001
还原命令可以是:
restore
database
gp
from
"c:"
taken
at
20111229155222
with
1
buffers
buffer
1024
parallelism
1
without
prompting
但是如果是新数据库:
restore
database
gp
from
"c:"
taken
at
20111229155222
into
t1
这里的t1是新创建的空数据库。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)