Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 生产环境中的包编译。这会引起什么问题吗?_Oracle_Stored Procedures_Plsql_Compilation - Fatal编程技术网

Oracle 生产环境中的包编译。这会引起什么问题吗?

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

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

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

我的头儿告诉我一些关于SGA的事?可能吗


您认为如何?

在在线生产中编译PL/SQL包是有问题的,如果:

  • 当前正在执行包,或
  • 该包具有state(如body变量),并且已在一个仍在登录的会话中使用
前者可以阻止会话(由于库缓存pin锁,很可能只是编译包的会话),后者将在编译后再次尝试使用包的所有会话中导致以下错误消息:

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

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

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