DB2数据库恢复!
发布网友
发布时间:2022-04-24 01:33
我来回答
共2个回答
热心网友
时间:2022-04-09 22:33
看一下表空间是不是挂起了,按照如下步骤:
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
可存取 = 是
则按照这个容器的信息手动创建容器后执行恢复试一下
热心网友
时间:2022-04-09 23:51
数据库下有表空间,为存储数据的逻辑单元,下面指定目录或物理文件、磁盘设备等。这个提示是说你的备份不正确。你的旧数据库既然已经崩溃,估计重做备份不可能。不过还是写出整个步骤吧。
若是备份有问题,则
备份命令是:
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是新创建的空数据库。