重綁定是對先前已經與數據庫進行了綁定的應用程序重新生成包(Package)的過程。當應用程序對應的包,被標記為不合法(Invalid)或不可操作(InOperative)的時候,用戶必須對它進行重綁定。有的情況下,包雖然依然合法,但是用戶為了提高程序的運行性能,如利用新的索引,或者在運行完RUNSTATS命令後利用新的系統優化數據,用戶也會進行包的重綁定。
如果應用程序的包依賴於某些數據對象,如表,觸發器等。當這些數據對象被刪除時,包將會被設置為不合法(Invalid)。不合法的包在下一次被執行的時候,會被數據庫管理器自動執行重綁定的操作。用戶必須注意的是,如果系統自動執行重綁定失敗,則程序在執行的時候會產生不可預料的錯誤。這時候也許程序的語句並沒有錯誤,錯誤是由重綁定操作失敗造成的。
但是如果用戶的包依賴的數據對象有用戶自定義函數(UDF),則當該UDF被刪除後,包會被設置為不可操作(InOperative)。被設置為不可操作的包,必須要用戶手動進行重綁定。
另外當用戶希望修改綁定過程的參數時,也需要重新執行綁定命令。
執行重綁定的命令可以是BIND或者REBIND,具體的命令使用方法用戶可以參考COMMAND REFERENCE。
-