使用命令删除DB2数据库,然后新建

来源:未知 责任编辑:智问网络 发表时间:2013-08-28 11:49 点击:
p>使用命令删除DB2数据库,然后新建

p> 

p>我们在创建新的数据库时,经常会碰上数据库别名已经存在的错误,产生这个错误的原因可能有两种:

p>1. 这个数据库在系统数据库目录中存在。

p>在控制中心能够看到和 DB2CLP 窗口中使用 LIST DB DIRECTORY 可以看到。

p>2. 该数据库被“除去”,而不是被“删除”。

p>另一个可能,这是由于之前我们在控制中心,使用了“除去”数据库功能,而不是“删除”数据库功能(或者在 DB2CLP 窗口中使用“ UNCATALOG DB 数据库名”命令),“除去”数据库只是在逻辑上把数据库的编目信息删除,并没有真实的删除该数据库。只是我们用 LIST DB DIRECTORY 或在控制中心查看的时候,看不到该数据库而已。在我们用这个数据库名创建新的数据库时,就会报 SQL1005N 错。

p>解决的这个问题的具体的步骤如下:

p>1.     首先通过在 DB2CLP 窗口中,发出“ DB2 LIST DB DIRECTORY ”命令,查看系统数据库目录中有没有该数据库。如果有,看这个数据库是否还有用,如果没有用,就删除掉该数据库重新创建即可。

p>2.     如果系统数据库目录下没有该数据库存在,就通过 db2 list database directory on location 查看在本地数据库目录中有没有该数据库,location 指定数据库的位置(在 Windows 下只能是各个盘符,比如 C: 或 D:,在 UNIX 下可以是具体的文件目录),如果有,就先使用 db2 catalog database 数据库名 on location 将数据库 catalog 到节点上,再删除该数据库并重新创建。

p>下面我们来通过具体的例子来看一下。继续在 DB2CLP 窗口中,发出 LIST DB DIRECTORY 命令,来查看我们目前在系统数据库目录下都有哪些数据库,具体如清单 22

p>所示:

p> 

p>清单 22. 查看系统数据库目录,都有哪些数据库 

p>C:\>DB2 LIST DB DIRECTORY  系统数据库目录   目录中的条目数 = 7 

p> 

p>数据库 1 条目:

p> 

p>数据库别名  = EMR 

p>数据库名称  = EMR 

p>本地数据库目录  = C: 

p>数据库发行版级别  = c.00 

p>注释 = 

p>目录条目类型  = 间接

p>目录数据库分区号  = 0 

p>备用服务器主机名  = 

p>备用服务器端口号  = 

p> 

p>数据库 2 条目:

p> 

p>数据库别名  = DBSAMPL2 

p>数据库名称  = DBSAMPL2 

p>本地数据库目录  = C: 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 间接

p>目录数据库分区号  = 0 

p>备用服务器主机名  = 

p>备用服务器端口号  = 

p> 

p>数据库 3 条目:

p> 

p>数据库别名  = ABC 

p>数据库名称 = SAMPLE 

p>本地数据库目录  = C: 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 间接

p>目录数据库分区号  = 0 

p>备用服务器主机名  = 

p>备用服务器端口号  = 

p> 

p>数据库 4 条目:

p> 

p>数据库别名 = TEST 

p>数据库名称  = EMR 

p>节点名  = NEW 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 远程

p>目录数据库分区号  = -1 

p>备用服务器主机名 = 

p>备用服务器端口号  = 

p> 

p>数据库 5 条目:

p> 

p>数据库别名  = MYABC 

p>数据库名称  = ABC 

p>节点名  = MYREMOTE 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型 = 远程

p>目录数据库分区号  = -1 

p>备用服务器主机名  = 

p>备用服务器端口号  = 

p> 

p>数据库 6 条目:

p> 

p>数据库别名  = SAMPLE_1 

p>数据库名称  = SAMPLE_1 

p>本地数据库目录  = C: 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 间接

p>目录数据库分区号  = 0 

p>备用服务器主机名  = 

p>备用服务器端口号  = 

p> 

p>数据库 7 条目:

p> 

p>数据库别名  = SAMPLE 

p>数据库名称  = SAMPLE 

p>本地数据库目录 = C: 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 间接

p>目录数据库分区号  = 0 

p>备用服务器主机名  = 

p>备用服务器端口号  =

p> 

p>命令成功完成。我们可以看到,目前在系统数据库目录下有 7 条记录,也就是有 7 个数据库或别名。此时我们在控制中心“除去”数据库 SAMPLE_1,具体如图 5 所示:

p> 

p> 

p>图 5. 在控制中心除去数据库 SAMPLE_1

p> 

p> 

p>此时我们在 DB2CLP 窗口中,发出“ CREATE DB SAMPLE_1 ”命令,会得到“ SQL1005N 数据库别名 "SAMPLE_1" 已存在于本地数据库目录或系统数据库目录中。”错误,提示已经有数据库 SAMPLE_1 存在了,具体如清单 24 所示:

p> 

p> 

p>清单 24. 创建数据库 SAMPLE_1

p>C:\> DB2 CREATE DB SAMPLE_1 

p> SQL1005N  数据库别名 "SAMPLE_1" 已存在于本地数据库目录或系统数据库目录中。  

p> 

p> 

p>解决这个问题的办法,就是把原来存在的数据库重新 CATALOG 上,然后再“删除”掉,而不是“除去”,这样处理过后,就可以使用这个数据库名创建新的数据库成功了。 

p> 

p>下面我们继续在当前 DB2CLP 窗口中,发出“ LIST DB DIRECTORY ON C: ”命令,可以看到数据库 SAMPLE_1 还在本地目录中存在,参照本小节开头的解决方法第二步,需要先 CATALOG 该数据库,再 DROP 掉该数据库,才能重新创建,具体如清单 25 所示:

p> 

p> 

p>清单 25. 创建数据库 SAMPLE_1

p>C:\> db2 list db directory on c: 

p> 

p> c: 上的本地数据库目录   目录中的条目数 = 4 

p> 

p>数据库 1 条目:

p> 

p>数据库别名  = EMR 

p>数据库名称 = EMR 

p>数据库目录  = SQL00001 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 本地

p>目录数据库分区号  = 0 

p>数据库分区号  = 0 

p> 

p>数据库 2 条目:

p> 

p>数据库别名  = DBSAMPL2 

p>数据库名称  = DBSAMPL2 

p>数据库目录  = SQL00004 

p>数据库发行版级别  = c.00 

p>注释  = 

p>目录条目类型  = 本地

p>目录数据库分区号  = 0 

p>数据库分区号  = 0 

p> 

p>数据库 3 条目:

p> 

p>数据库别名   

p>                 = SAMPLE_1 数据库名称   

p>                 = SAMPLE_1 数据库目录   

p>                 = SQL00003 数据库发行版级别   

p>                 = c.00 注释   

p>                 = 目录条目类型 = 本地

p>目录数据库分区号   

p>                 = 0 数据库分区号   

p>                 = 0 数据库 4 条目:

p> 

p>数据库别名  = SAMPLE 

p>数据库名称  = SAMPLE 

p>数据库目录  = SQL00002 

p>数据库发行版级别  = c.00 

p>注释 = 

p>目录条目类型  = 本地

p>目录数据库分区号  = 0 

p>数据库分区号  = 0 

p> 

p> C:\> db2 catalog db sample_1 

p> DB20000I CATALOG DATABASE 命令成功完成。

p> DB21056W  直到刷新目录高速缓存之后,目录更改才生效。

p> 

p> C:\> db2 terminate 

p> DB20000I TERMINATE 命令成功完成。

p> 

p> C:\> db2 drop db sample_1 

p> DB20000I DROP DATABASE 命令成功完成。

p> 

p> C:\> db2 create db sample_1 

p> DB20000I CREATE DATABASE 命令成功完成。

p> 

p>命令成功完成。

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • db2管理工具小结
    • DB2数据库的导出与导入(Windows客户端)
    • db2 CLP中如何换行
    • DB2查看表结构及所用表语句
    • DB2 · CREATE TABLESPACE
    • 使用DB2对象:创建模式、表和视图
    • DB2数据库逻辑卷的复制
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1