【发布时间】:2012-05-19 01:38:10
【问题描述】:
有一个基于 Oracle DB Server 的高负载 24/7 系统。
许多客户端应用程序都使用包pkg1。
是否有可能(Oracle 实施或最佳实践)即时安装新版本的软件包 pkg1?
我的意思是没有出现“资源繁忙”错误并丢失当前会话等?
【问题讨论】:
标签: oracle deployment plsql package
有一个基于 Oracle DB Server 的高负载 24/7 系统。
许多客户端应用程序都使用包pkg1。
是否有可能(Oracle 实施或最佳实践)即时安装新版本的软件包 pkg1?
我的意思是没有出现“资源繁忙”错误并丢失当前会话等?
【问题讨论】:
标签: oracle deployment plsql package
如果您使用的是 Oracle 11,请查看 Edition-Based Redefinition。
【讨论】:
部署新版本的数据库包,即使在生产中,也不是问题,如果你记得一些规则的话:
考虑到这一点,您可以创建包体,即使在生产中也可以更新而不会造成任何伤害。如果确实使用了包,重新编译将等待包上的锁定,在最坏的情况下可能会超时,您需要重试。
同样,如果所有这些都没有帮助,重新设计可能是必要且有帮助的。
【讨论】:
只要您的包不保持状态(没有全局变量)并且系统可以在包上锁定一毫秒(操作将在 1500(?)秒后超时),您就可以部署 PL/SQL 包在实时系统上。
【讨论】: