【发布时间】:2017-12-07 02:17:27
【问题描述】:
我试图描述我的问题。我们有两个数据库:一个用于开发的测试数据库和一个生产数据库。两个数据库上的所有表、视图、包、函数、触发器等都是相同的。 dbs 的结构和内容应该是相同的,但在某些方面它们的工作方式不同。
测试数据库。
- Schema1/Package1/Function1
- Schema2/Package2/Procedure1
产品。数据库。
- Schema1/Package1/Function1
- Schema2/Package2/Procedure1
- Schema2 / Package1/Function1
在测试数据库中。 Schema2/Package2/Procedure1 调用 Schema1/Package1/Function1。它工作正常(几秒钟)。
在产品数据库中。 Schema2/Package2/Procedure1 调用 Schema1/Package1/Function1。它的工作速度真的很慢。 (更多分钟)
在 Prod DB Schema2/Package2/Procedure1 中调用 Schema2/Package1/Function1。它的工作速度同样快。
我们应该在 Prod DB 中哪里检查问题? ini 文件或其他地方的哪些设置可能有问题?
有什么想法吗?
【问题讨论】:
-
您最好在dba.stackexchange.com 上提问 - 这似乎不是一个特定的编程问题,因此这里被认为是题外话。
-
这些怪异的可能通常是 PL/SQL 内部的 SQL 语句的结果。您可能需要找到慢速 SQL 语句并对其进行故障排除。有许多不寻常的功能,例如基数反馈和自适应游标共享,可以使 SQL 语句在执行几次后运行得更慢或更快。甚至更改 SQL 的间距或重新编译,都可能迫使 Oracle 重新解析语句并为某些用户生成新计划。
标签: database oracle function schema