Oracle 生产环境中的包编译。这会引起什么问题吗?
我们最大的客户(营业额1500亿美元)担心在线生产期间编译包会导致数据库挂起 我认为这是不可能的,因为我想要编译的包是独立的。它们用于纠正数据或分析数据 我的头儿告诉我一些关于SGA的事?可能吗Oracle 生产环境中的包编译。这会引起什么问题吗?,oracle,stored-procedures,plsql,compilation,Oracle,Stored Procedures,Plsql,Compilation,我们最大的客户(营业额1500亿美元)担心在线生产期间编译包会导致数据库挂起 我认为这是不可能的,因为我想要编译的包是独立的。它们用于纠正数据或分析数据 我的头儿告诉我一些关于SGA的事?可能吗 您认为如何?在在线生产中编译PL/SQL包是有问题的,如果: 当前正在执行包,或 该包具有state(如body变量),并且已在一个仍在登录的会话中使用 前者可以阻止会话(由于库缓存pin锁,很可能只是编译包的会话),后者将在编译后再次尝试使用包的所有会话中导致以下错误消息: ORA-04061:
您认为如何?在在线生产中编译PL/SQL包是有问题的,如果:
- 当前正在执行包,或
- 该包具有state(如body变量),并且已在一个仍在登录的会话中使用
ORA-04061: existing state of package body "SCHEMA.PACKAGE" has been invalidated
我认为没有任何与SGA相关的具体问题。如果每次使用后使用PRAGMA指令刷新包变量,我可以解决第二个问题吗?当我意识到问题时,我如何继续?