DB2数据库恢复!
自己电脑上DB2崩溃了!现在在其他电脑上重新装了一个DB2,然后找来一个以前备份的数据库文件来恢复,数据库备份文件的名字“NB_DATA.0.DB2.NODE0000.C...
自己电脑上DB2崩溃了!现在在其他电脑上重新装了一个DB2,然后找来一个以前备份的数据库文件来恢复,数据库备份文件的名字“NB_DATA.0.DB2.NODE0000.CATN0000.20110927204957.001”,使用的恢复语句是db2 restore db NB_DATA taken at 20110927204957,完成之后,用select语句查询时显示“不允许访问表空间。 SQL Code: -290, SQL State: 55039”,现在求解决方案,
在网上查了半天说是要恢复表空间,但是好像我这没有备份表空间的文件,哪位大虾帮下帮看看,最好能将DB2怎么备份,要备份那些文件,怎么还原,具体执行语句怎么写。 展开
在网上查了半天说是要恢复表空间,但是好像我这没有备份表空间的文件,哪位大虾帮下帮看看,最好能将DB2怎么备份,要备份那些文件,怎么还原,具体执行语句怎么写。 展开
2个回答
展开全部
看一下表空间是不是挂起了,按照如下步骤:
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
可存取 = 是
则按照这个容器的信息手动创建容器后执行恢复试一下
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
可存取 = 是
则按照这个容器的信息手动创建容器后执行恢复试一下
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
展开全部
数据库下有表空间,为存储数据的逻辑单元,下面指定目录或物理文件、磁盘设备等。这个提示是说你的备份不正确。你的旧数据库既然已经崩溃,估计重做备份不可能。不过还是写出整个步骤吧。
若是备份有问题,则
备份命令是:
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是新创建的空数据库。
若是备份有问题,则
备份命令是:
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是新创建的空数据库。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询