Oracle在同一个实例上的不同过程速度但不同的模式(重复)

时间:2017-08-25 15:24:38

标签: performance stored-procedures oracle11g

我们有一个带有重复架构的Oracle实例。相同的过程在7个secondes中的一个模式上运行,但在复制的模式上需要7个多小时才能完成。

我们已经重建索引和表空间(一个内部工具),它加速了一点但仍需要几个小时才能完成。 两个模式的dbf(数据和索引)文件是相同的。

在一小时30分钟后,alert_bdora10.log文件包含这些新行

Thread 1 advanced to log sequence 35514 (LGWR switch)
  Current log# 3 seq# 35514 mem# 0: D:\ORACLE\ORADATA\BDORA10\REDO03.LOG
Fri Aug 25 16:08:57 2017
Time drift detected. Please check VKTM trace file for more details.
Fri Aug 25 17:04:44 2017
Thread 1 cannot allocate new log, sequence 35515
Private strand flush not complete
  Current log# 3 seq# 35514 mem# 0: D:\ORACLE\ORADATA\BDORA10\REDO03.LOG
Thread 1 advanced to log sequence 35515 (LGWR switch)
    Current log# 1 seq# 35515 mem# 0: D:\ORACLE\ORADATA\BDORA10\REDO01.LOG

我有点迷失,不知道先去哪里调查。

抱歉,我是Oracle SQL的菜鸟,欢迎任何帮助 谢谢 Jluc

1 个答案:

答案 0 :(得分:0)

删除行之后的行,最后我发现了一个耗时的过滤器

select brm.loc_id  , cli.cli_nompatr, cli.cli_nom, cli.cli_prenom, cli.cli_datenaiss
from V_BORDMIXTES brm
INNER JOIN BORDSOMENCSLIGNES bel ON bel.bse_id = brm.bse_id
INNER JOIN REVERSIONS rev ON rev.rev_id = bel.rev_id
INNER JOIN CLISANTES cls ON cls.cls_id = rev.cls_id
INNER JOIN CLIENTS cli ON cli.cli_id = cls.cli_id
where brm.brm_id = 39328
and cli.cli_id = 44517   -- If I add this filter clause, the query takes hours, without 55 ms