Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

什么时候需要对DB2的包重新绑定

Posted on 2009-02-12 11:11 Prayer 阅读(1853) 评论(1)  编辑 收藏 引用 所属分类: DB2

        重绑定是对先前已经与数据库进行了绑定的应用程序重新生成包(Package)的过程。当应用程序对应的包,被标记为不合法(Invalid)或不可操作(Inoperative)的时候,用户必须对它进行重绑定。有的情况下,包虽然依然合法,但是用户为了提高程序的运行性能,如利用新的索引,或者在运行完RUNSTATS命令后利用新的系统优化数据,用户也会进行包的重绑定。

        如果应用程序的包依赖于某些数据对象,如表,触发器等。当这些数据对象被删除时,包将会被设置为不合法(Invalid)。不合法的包在下一次被执行的时候,会被数据库管理器自动执行重绑定的操作。用户必须注意的是,如果系统自动执行重绑定失败,则程序在执行的时候会产生不可预料的错误。这时候也许程序的语句并没有错误,错误是由重绑定操作失败造成的。

        但是如果用户的包依赖的数据对象有用户自定义函数(UDF),则当该UDF被删除后,包会被设置为不可操作(Inoperative)。被设置为不可操作的包,必须要用户手动进行重绑定。

        另外当用户希望修改绑定过程的参数时,也需要重新执行绑定命令。

        执行重绑定的命令可以是BIND或者REBIND

Feedback

# re: 什么时候需要对DB2的包重新绑定[未登录]  回复  更多评论   

2013-03-04 09:32 by mao
怎么关注不了你?

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理