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

Posted

技术标签:

【中文标题】生产环境中的包编译。这会导致任何问题吗?【英文标题】:Package compilation in a production environment. Can this cause any problems? 【发布时间】:2011-10-07 08:38:47 【问题描述】:

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

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

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

你怎么看?

【问题讨论】:

【参考方案1】:

在以下情况下,在线生产中编译 PL/SQL 包会出现问题:

包当前正在执行,或者 包具有状态(例如主体变量)并已在仍登录的会话之一中使用

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

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

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

【讨论】:

如果我使用 PRAGMA 指令在每次使用后刷新包变量,我可以解决第二个问题吗?当我意识到问题时,我该如何继续?

以上是关于生产环境中的包编译。这会导致任何问题吗?的主要内容,如果未能解决你的问题,请参考以下文章

在微服务环境中,任何生产者都应该能够验证 JWT 令牌吗?

预发环境与生产环境共享数据库时定时任务重复执行问题解决

将 ReactJS 构建/编译/部署到生产环境的最佳方法 [关闭]

使用Maven自动打包配置文件生成开发环境,测试环境,生产环境

我应该为生产环境禁用 BroswableAPIRenderer 吗?

我可以从 iCloud 容器中的生产环境中删除记录类型吗?