重裝db2

機器重裝系統後還原數據庫時出現錯誤,錯誤描述的大致意思是數據庫的別名已經存在。數據庫

用db2 list db directory 命令查看d盤的數據庫目錄,發現別名確實存在。緩存

 

D:/Program Files/IBM/SQLLIB/BIN>db2 list db directory on d:服務器

 d: 上的本地數據庫目錄.net

 目錄中的條目數 = 2blog

數據庫 1 條目:產品

 數據庫別名                      = RMDB
 數據庫名稱                               = RMDB
 數據庫目錄                      = SQL00001
 數據庫發行版級別                = b.00
 註釋                            =
 目錄條目類型                    = 本地
 目錄數據庫分區號                  = 0
 數據庫分區號                             = 0im

數據庫 2 條目:數據

 數據庫別名                      = NHSAMPLE
 數據庫名稱                               = NHSAMPLE
 數據庫目錄                      = SQL00002
 數據庫發行版級別                = b.00
 註釋                            =
 目錄條目類型                    = 本地
 目錄數據庫分區號                  = 0
 數據庫分區號                             = 0db

 

 

運行數據庫刪除命令 db2 drop dbword

 

D:/Program Files/IBM/SQLLIB/BIN>db2 drop database RMDB
SQL1013N  找不到數據庫別名或數據庫名稱 "RMDB    "。  SQLSTATE=42705

 

嘗試鏈接數據庫時出現SQL1013N錯誤

 

D:/Program Files/IBM/SQLLIB/BIN>db2 connect to RMDB user db2admin using password

SQL1013N  找不到數據庫別名或數據庫名稱 "RMDB"。  SQLSTATE=42705

D:/Program Files/IBM/SQLLIB/BIN>db2 connect to RMDB
SQL1013N  找不到數據庫別名或數據庫名稱 "RMDB"。  SQLSTATE=42705

 

執行數據庫編目命令 db2 catalog database

 

D:/Program Files/IBM/SQLLIB/BIN>db2 catalog database RMDB as RMDB
DB20000I  CATALOG DATABASE命令成功完成。
DB21056W  只有在刷新目錄高速緩存之後,目錄更改纔會生效。

執行命令 db2start

 

 

D:/Program Files/IBM/SQLLIB/BIN>db2start
ADM12026W  DB2 服務器檢測到還沒有註冊此產品的有效許可證。
SQL1026N  數據庫管理器已激活。

 

從新鏈接數據庫

 

 

D:/Program Files/IBM/SQLLIB/BIN>db2 connect to RMDB

   數據庫鏈接信息

 數據庫服務器         = DB2/NT 9.1.3
 SQL 受權標識         = ADMINIST...
 本地數據庫別名       = RMDB

 

 

關閉數據庫鏈接,刪除數據庫成功!

 

 

D:/Program Files/IBM/SQLLIB/BIN>db2 disconnect current
DB20000I  SQL DISCONNECT命令成功完成。

D:/Program Files/IBM/SQLLIB/BIN>db2 drop database RMDB
DB20000I  DROP DATABASE命令成功完成。

 

結論:因爲系統數據庫目錄中對數據庫RMDB的編目已經被刪除,所以在鏈接數據庫RMDB或者刪除數據庫RMDB時,db2會去系統數據庫目錄中查找鏈接的信息找不到,但在建立具備相同別名數據庫時(如:新建、還原),因爲數據庫的物理文件還存在而且在本地數據庫中有對應條目,因此出錯。

相關文章
相關標籤/搜索