首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

DB2数据库 剔除不了,请高手指教

2012-12-30 
DB2数据库 删除不了,请高手指教db2 drop db CBDFESQL1031NThe database directory cannot be found on the

DB2数据库 删除不了,请高手指教
db2 drop db CBDFE
SQL1031N  The database directory cannot be found on the indicated file system. 
SQLSTATE=58031

上网搜索了下很多说只要编目下就可以。我也试了下,报找不到节点
其实我想强制删除就可以。
[解决办法]
数据库实例在数据中存在于两个地方:
       1:物理位置:磁盘上,也就是文件系统中。
       2:逻辑位置:数据库系统表中,也就是对磁盘文件的配置信息。

删除数据库的过程:
       1:删除物理文件,2:删除逻辑信息,即物理文件的配置信息。
        以上两个地方同时删除,数据库才真正删除干净。

两种情况删除不了:1:物理文件删除了,但逻辑信息没有删除。(备份失败也会出现这种情况)
                  2:逻辑信息已经删除了,但物理文件没有删除

出错信息:数据库别名已经存在。

解决办法:
          1:如果物理文件已经删除了,那么只要把逻辑信息删除就可以
             执行uncatalog dbname就可以了。即把编目信息删除。
          2:如果逻辑文件已经删除了,那么只要把物理文件删除就可以了。
             到db2相应的目录下,找到需要删除的数据库文件夹,直接删除。这种方法可能有危险:可能删错。
             另一种文法:如果物理文件存在,而逻辑编目不存在,只需要重新编目,也就是把物理文件的配置信息追加到系统表中,再执行drop db dbname就可以。这也是很多人提供的方法。
             具体: catalog dbname.  drop db dbname.


分析原因,解决问题。
                    
[解决办法]
SQL1031N

在指示的文件系统中找不到数据库目录。
说明

找不到系统数据库目录或本地数据库目录。尚未创建数据库,或者没有正确编目该数据库。

无法处理该命令。
用户响应

验证数据库是否是用正确的路径规范创建的。Catalog Database 命令带有路径参数,它指定数据库所在的目录。

热点排行