重绑定是对先前已经与数据库进行了绑定的应用程序重新生成包(Package)的过程当应用程序对应的包被标记为不合法(Invalid)或不可操作(Inoperative)的时候用户必须对它进行重绑定有的情况下包虽然依然合法但是用户为了提高程序的运行性能如利用新的索引或者在运行完RUNSTATS命令后利用新的系统优化数据用户也会进行包的重绑定
如果应用程序的包依赖于某些数据对象如表触发器等当这些数据对象被删除时包将会被设置为不合法(Invalid)不合法的包在下一次被执行的时候会被数据库管理器自动执行重绑定的操作用户必须注意的是如果系统自动执行重绑定失败则程序在执行的时候会产生不可预料的错误这时候也许程序的语句并没有错误错误是由重绑定操作失败造成的
但是如果用户的包依赖的数据对象有用户自定义函数(UDF)则当该UDF被删除后包会被设置为不可操作(Inoperative)被设置为不可操作的包必须要用户手动进行重绑定
另外当用户希望修改绑定过程的参数时也需要重新执行绑定命令
执行重绑定的命令可以是BIND或者REBIND具体的命令使用方法用户可以参考COMMAND REFERENCE