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

Rev*_*ous 3 oracle plsql stored-procedures compilation

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

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

我的负责人谈到了SGA的一些事情?可能吗?

你有什么想法?

Cod*_*odo 6

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

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

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

ORA-04061: existing state of package body "SCHEMA.PACKAGE" has been invalidated
Run Code Online (Sandbox Code Playgroud)

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