SQLDBDIR目录详解

Part 1

======================================================================================

DB2 有两个描述 databaseentry的文件,一个在实例的SQLLIB目录下,<instancedirectory>/sqllib/sqldbdir/sqldbdir(称作 实例sqldbdir),一个在数据库的目录下<db_path>/NODE0000/sqldbdir/sqldbidir(称作 数据库sqldbdir)。

db2 list db directory , db2 catalog db, db2 uncatalog db 都是在操作实例sqldbdir。
而 db2 create db 和 db2 drop db 都是在操作数据库 sqldbdir。
要查看 实例 sqldbdir的信息用db2 list db directory 就可以。
要查看具体 的 数据库sqldbdir的信息可以用 db2 list db directory on<db_path>就可以。


=====================================================================================


Part 2

=====================================================================================

不小心将NODE0000目录下的SQLDBDIR文件删除了,通过客户端连接数据库时 报SQL30061N  在远程节点上找不到数据库别名或数据库名称 "DB  "
SQLSTATE=08004

实现步骤:

1.先备份
1.uncatlog db
2.将当前的目录改名
3.重新创建一个名字一样的数据库
4.然后将新生成的SQLDBDIR保留下来
5.将改名的目录改回来,把新生成的SQLDBDIR文件拷回去。
如果运气好可以成功,不能保证每次都行

具体步骤是:
1.uncatalog database db1
2.db2_kill 杀掉db2进程
3.cp -r SQL00001 B_SQL00001
4.rm -r sqldbdir
5.db2start
6.Create database db1 on '目录' 目录要跟原先的db1的目录保持一致
7.db2_kill 杀掉db2进程
8.rm -rf SQL00001
9.cp -r B_SQL00001 SQL00001
10.db2start
11.connect to db1
连接成功,问题解决!

=====================================================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值