生产环境中的包编译。这会导致任何问题吗?

时间:2011-10-07 08:38:47

标签: oracle stored-procedures plsql compilation

我们最大的客户(1500亿美元的营业额)担心在线生产期间编译包可能导致数据库挂起。

我认为这是不可能的,因为我想要编译的包是孤立的和孤立的。它们用于校正数据或分析数据。

我的主管讲了一些关于SGA的事情?有可能吗?

你怎么看?

1 个答案:

答案 0 :(得分:6)

在以下情况下编译PL / SQL包在线生产是有问题的:

  • 目前正在执行包,或
  • 包具有状态(这样的主体变量)并且已经在其中一个仍然登录的会话中使用

前者可以阻止会话(很可能只是由于库缓存引脚锁定而编译包的会话),后者会在所有会话中导致以下错误消息,尝试在编译后再次使用该包:

ORA-04061: existing state of package body "SCHEMA.PACKAGE" has been invalidated

我认为没有任何与SGA有关的具体问题。