DB2数据库恢复!

DB2数据库恢复!,第1张

看一下表空间是不是挂起了,按照如下步骤:

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是新创建的空数据库。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9532671.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存