SQL0290N 不允许访问表空间。 SQLSTATE=55039

db2一个临时表空间被删除,报“SQL0290N  不允许访问表空间。  SQLSTATE=55039”错误,无法连接。

通过命令 db2dart <数据库名> /tsf  和 db2dart <数据库名> /dtsf 搜集有关信息,(

ERROR:
                 The tablespace files are damaged or corrupt.
                        The database may not be usable.

)可以查看表空间目录以对比查找丢失的表空间(或者查看日志文件db2diag.log也可以)。

然后把数据文件备份,用控制中心恢复到之前的一个版本(恢复到现有数据库---选中在设置容器以进行重定向复原下面的两个框以及表空间容器映像和需要复原的表空间容器)。之后再把之前备份的数据库文件覆盖现在的即可。

本人通过近一天的时间实验找到这个比较笨的方法可以成功恢复表空间,主要是表空间目录下面的SQLTAG.NAM文件,也曾进行过修改结果都不成功。

你可能感兴趣的:(db2)