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数据库中临时表空间被删除后无法连接的问题的方法。通过使用db2dart命令搜集相关信息并检查表空间目录,可以定位丢失的表空间。接着,通过数据文件备份及控制中心恢复至先前版本,最后覆盖现有数据库文件来完成表空间的恢复。
1628

被折叠的 条评论
为什么被折叠?



