DB2用戶密碼修改及數(shù)據(jù)庫(kù)備份恢復(fù)問題
前天開始安裝省總服務(wù)器,先建數(shù)據(jù)庫(kù),又打包程序進(jìn)行安裝,一切按部就班,很是順利,可最后程序總是連不上數(shù)據(jù)庫(kù),用以下命令進(jìn)行測(cè)試:
catalog tcpip node local remote localhost server 5000(db2-port-number)
catalog db sample as test at node local
connect to test user <用戶名> using
最后總是提示:
SQL30081N 檢測(cè)到通信錯(cuò)誤。正在使用的通信協(xié)議:'TCP/IP'。正在使用的通信API:
'SOCKETS'。檢測(cè)到錯(cuò)誤的位置:'127.0.0.1'。檢測(cè)到錯(cuò)誤的通信函數(shù):'recv'。協(xié)議
特定的錯(cuò)誤代碼:'10054'、'*'、'0'。 SQLSTATE=08001
又是30081N錯(cuò)誤!!!一遍遍的檢查端口、TCP/IP協(xié)議、網(wǎng)絡(luò)連接,一切都正常!沒有辦法,只好重新裝數(shù)據(jù)庫(kù),用restore恢復(fù)備份的數(shù)據(jù)庫(kù)時(shí),系統(tǒng)總是提示:在本地?cái)?shù)據(jù)庫(kù)目錄或系統(tǒng)數(shù)據(jù)庫(kù)目錄中已經(jīng)存在數(shù)據(jù)庫(kù)別名 'HD' ,到網(wǎng)上搜了一下按別的人提示進(jìn)行以下操作:
用命令行:
首先db2 list db directory 來查看有沒有HD的entry
沒有看到有HD的信息
還是執(zhí)行了一下db2 drop db HD
如果數(shù)據(jù)庫(kù)沒有刪除的話,則此命令應(yīng)該成功,否則的話就應(yīng)該用下面這個(gè)命令
uncatalog db HD來刪除HD的 entry,但是提示報(bào)‘SQL1013N 找不到數(shù)據(jù)庫(kù)別名或數(shù)據(jù)庫(kù)名 'HD '。 SQLSTATE=42705’錯(cuò)誤,。郁悶,接著又按網(wǎng)上別人的說法進(jìn)行以下操作:
db2 catalog db HD
db2 drop db HD
然后在執(zhí)行restore database HD taken at 時(shí)間戳 命令,OK,成功!
不過,程序仍是連不上數(shù)據(jù)庫(kù),后來終于想起來,估計(jì)是我恢復(fù)的數(shù)據(jù)庫(kù)密碼跟我新建的數(shù)據(jù)庫(kù)密碼不一致所造成的,那么在DB2中針對(duì)db2admin用戶,它的密碼能修改嗎?有關(guān)資料上說:db2admin用戶創(chuàng)建了以后它的密碼最好不要修改,因?yàn)橹匦聠?dòng)系統(tǒng)之后就會(huì)連不上數(shù)據(jù)庫(kù),系統(tǒng)報(bào)錯(cuò)DB2管理服務(wù)器沒有啟動(dòng),這是因?yàn)樽?cè)系統(tǒng)服務(wù)的時(shí)候是按照DB2安裝時(shí)候的用戶名和密碼進(jìn)行注冊(cè)的,所以你修改密碼后系統(tǒng)服務(wù)就沒有辦法啟動(dòng),所以才會(huì)造成這種情況。具體對(duì)策只要把服務(wù)中的啟動(dòng)服務(wù)的用戶密碼改成修改過的密碼在啟動(dòng)DB2服務(wù)即可。
