IBM DB2數(shù)據(jù)庫(kù)中正確的進(jìn)行包的重綁定并不難
此文主要是教你如何在IBM DB2數(shù)據(jù)庫(kù)中正確的進(jìn)行包的重綁定,我們大家都知道重綁定是對(duì)先前已經(jīng)和相關(guān)數(shù)據(jù)庫(kù)進(jìn)行了綁定的應(yīng)用程序重新生成包(Package)的過(guò)程。當(dāng)應(yīng)用程序?qū)?yīng)的包,被標(biāo)記為不合法(Invalid)或不可操作(Inoperative)的時(shí)候。
重綁定是對(duì)先前已經(jīng)與數(shù)據(jù)庫(kù)進(jìn)行了綁定的應(yīng)用程序重新生成包(Package)的過(guò)程。當(dāng)應(yīng)用程序?qū)?yīng)的包,被標(biāo)記為不合法(Invalid)或不可操作(Inoperative)的時(shí)候,用戶(hù)必須對(duì)它進(jìn)行重綁定。有的情況下,包雖然依然合法,但是用戶(hù)為了提高程序的運(yùn)行性能,如利用新的索引,或者在運(yùn)行完RUNSTATS命令后利用新的系統(tǒng)優(yōu)化數(shù)據(jù),用戶(hù)也會(huì)進(jìn)行包的重綁定。
如果應(yīng)用程序的包依賴(lài)于某些數(shù)據(jù)對(duì)象,如表,觸發(fā)器等。當(dāng)這些數(shù)據(jù)對(duì)象被刪除時(shí),包將會(huì)被設(shè)置為不合法(Invalid)。不合法的包在下一次被執(zhí)行的時(shí)候,會(huì)被數(shù)據(jù)庫(kù)管理器自動(dòng)執(zhí)行重綁定的操作。用戶(hù)必須注意的是,如果系統(tǒng)自動(dòng)執(zhí)行重綁定失敗,則程序在執(zhí)行的時(shí)候會(huì)產(chǎn)生不可預(yù)料的錯(cuò)誤。這時(shí)候也許程序的語(yǔ)句并沒(méi)有錯(cuò)誤,錯(cuò)誤是由重綁定操作失敗造成的。
但是如果用戶(hù)的包依賴(lài)的數(shù)據(jù)對(duì)象有用戶(hù)自定義函數(shù)(UDF),則當(dāng)該UDF被刪除后,包會(huì)被設(shè)置為不可操作(Inoperative)。被設(shè)置為不可操作的包,必須要用戶(hù)手動(dòng)進(jìn)行重綁定。
另外當(dāng)用戶(hù)希望修改綁定過(guò)程的參數(shù)時(shí),也需要重新執(zhí)行綁定命令。
執(zhí)行重綁定的命令可以是BIND或者REBIND,具體的命令使用方法用戶(hù)可以參考COMMAND REFERENCE。以上的相關(guān)內(nèi)容就是對(duì)教你在IBM DB2數(shù)據(jù)庫(kù)中進(jìn)行包的重綁定的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對(duì)教你在IBM DB2數(shù)據(jù)庫(kù)中進(jìn)行包的重綁定的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。