如何解決DB2中出現(xiàn)的SQL1032N錯(cuò)誤現(xiàn)象
DB2操作過(guò)程中出現(xiàn)問(wèn)題是很常見(jiàn)的,這時(shí)就會(huì)出現(xiàn)一些錯(cuò)誤代碼,SQL1032N錯(cuò)誤現(xiàn)象就是其中之一,下文中將為大家詳細(xì)解析解決SQL1032N錯(cuò)誤現(xiàn)象的方法。
在使用DB2以來(lái),碰到了幾次出現(xiàn)提示SQL1032N錯(cuò)誤,每次出錯(cuò)時(shí)出錯(cuò)信息大概如下:
11/21/2004 22:15:33 0 0 SQL1042C 發(fā)生意外的系統(tǒng)錯(cuò)誤。 SQL1032N 未發(fā)出啟動(dòng)數(shù)據(jù)庫(kù)治理器的命令。 SQLSTATE=57019。
每次出現(xiàn)問(wèn)題后,都到網(wǎng)上找了很多資料,也問(wèn)了許多人,費(fèi)了些力才搞定的。幾次出錯(cuò)的原因和解決方法都不盡相同,解決后我也只做了個(gè)簡(jiǎn)單的記錄。一直想把它們寫(xiě)下來(lái),方便方便后來(lái)也碰到同樣問(wèn)題,跟我一樣到處查找的人,中間也寫(xiě)了一些廢話(huà),比如我如何查找錯(cuò)誤,甚至于作了哪些無(wú)用功。第一種SQL1032N出錯(cuò),某天DB2的實(shí)例忽然無(wú)法啟動(dòng)了,用db2start就提示大概如下的出錯(cuò)信息:
12/30/2004 11:28:39 0 0 SQL1042C 發(fā)生意外的系統(tǒng)錯(cuò)誤。 SQL1032N 未發(fā)出啟動(dòng)數(shù)據(jù)庫(kù)治理器的命令。 SQLSTATE=57019。
初次碰到這種問(wèn)題,還以為會(huì)不會(huì)是數(shù)據(jù)庫(kù)沒(méi)起來(lái),情急之下什么命令比如激活數(shù)據(jù)庫(kù)只類(lèi)的,都拿來(lái)試了試,實(shí)例都起不來(lái),當(dāng)時(shí)運(yùn)行這些命令,肯定都是不行的了。
后來(lái)忽然發(fā)現(xiàn),在開(kāi)啟機(jī)器的時(shí)候,提示有個(gè)服務(wù)出錯(cuò)了沒(méi)啟動(dòng),由此推想應(yīng)該就是在Window服務(wù)里設(shè)置為自動(dòng)啟動(dòng)的DB2實(shí)例服務(wù)沒(méi)有正常啟動(dòng),我在服務(wù)里面手動(dòng)啟動(dòng)它,提示這樣的錯(cuò)誤:
Windows不能在本地計(jì)算機(jī)啟動(dòng)DB2-DB2-0.有關(guān)更多信息,查閱系統(tǒng)事件日志.并參考特定服務(wù)代碼-8000.查看事件治理器,有這樣的記錄:
DB2-DB2-0服務(wù)因4294959296服務(wù)性錯(cuò)誤而停止.來(lái)源SERVICE CONTROL 事件ID:7024
做了這么多,全都是無(wú)用功,只限于知道了服務(wù)沒(méi)起來(lái),等于沒(méi)找。
之后通過(guò)各方詢(xún)問(wèn),終于找到了原因:License到期了。
在db2cmd界面下運(yùn)行db2licm -l,可以很明顯的看到許可證已經(jīng)過(guò)期了。
知道原因所在了,剩下的,就是自己想辦法去解決這個(gè)問(wèn)題了。
小結(jié):直到現(xiàn)在,在有些論壇中,還很經(jīng)常看到有人發(fā)這種帖子來(lái)問(wèn),至少我在兩個(gè)月內(nèi)就碰到了三次這種帖子。所以,假如不是可以確定已經(jīng)有永久授權(quán)的情況下,發(fā)生這種情況,用db2licm -l查一下,也不算壞事。還有一種情況,跟前面的差不多,是在啟動(dòng)實(shí)例的時(shí)候出現(xiàn)如上的SQL1032N錯(cuò)誤。在Windows NT服務(wù)中無(wú)法啟動(dòng)DB2-DB0服務(wù),同時(shí)提示:
出錯(cuò)1069,登陸失敗錯(cuò)誤。
這個(gè)錯(cuò)誤比較簡(jiǎn)單,是用來(lái)啟動(dòng)服務(wù)的用戶(hù)名或密碼錯(cuò)誤。只需要在服務(wù)的屬性中,選擇登陸選項(xiàng)卡,選擇用戶(hù),并填好密碼,重新啟動(dòng)服務(wù)就可以了。
小結(jié):這種情況,一般發(fā)生在切換用戶(hù)登陸NT系統(tǒng)或者更改了DB2用戶(hù)的密碼的情況下。
通過(guò)上文的方法及能夠輕松解決SQL1032N錯(cuò)誤現(xiàn)象,故障解決了,大家就可以繼續(xù)工作了,如果以后再遇到類(lèi)似情況,自己就能夠輕松解決了,希望大家能夠從上文中涉及到的內(nèi)容中有所收獲。