检查是否启用了功能Oracle 12g 12.2

时间:2018-08-13 19:37:32

标签: oracle oracle11g oracle12c

全部

Oracle的新手,他的任务是查看为什么查询不会在12c中完成但在11g中完全可以运行。在11g上,查询将在3-4分钟内完成,但是会一直处理直到在12c上取消查询。

我想查看已启用的功能,主要是涉及查询优化的所有功能。我该怎么办?

2 个答案:

答案 0 :(得分:3)

您可以看一下:

  • v $ ses_optimizer_env
  • v $ sys_optimizer_env

那是说:我将开始看一看执行计划:也许差异不是功能问题,而是给定系统中统计数据不同的结果。

答案 1 :(得分:0)

Oracle可以从新版本的旧版本中模拟优化程序的行为。尝试在12c上添加提示OPTIMIZER_FEATURES_ENABLE(“您的11g版本”),或在12c上执行查询之前在同一会话中运行此语句(假设运行查询良好的11g版本为11.2.0.4):

   SELECT stores.names from stores
   JOIN products ON products.id = stores.items_sold
   WHERE products.name = "iPhone"
   GROUP BY stores.names
   ORDER BY count(stores.items_sold) desc
   LIMIT 1;
相关问题