分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?
Posted
技术标签:
【中文标题】分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?【英文标题】:How to see the physical query generated for analysis in the logs of OBIEE when analysis returned an error? 【发布时间】:2019-01-30 05:56:59 【问题描述】:我在 OBIEE 中做了一个简单的分析,包括 3 个 dim 和 1 个事实表。所有暗表都连接到这个事实表。但是,在结果选项卡中,我看到以下错误:
Internal Error: could not find level detailed enough for GROUP BY clause:
我在 rpd 中再次检查,所有维度表都加入了事实表,更有趣的是,在另一个主题中使用相同的表进行分析是可行的。 我想查看它的日志,但由于分析生成时出错,所以我只看到表示级别的查询,而不是物理查询。
有什么方法可以得到吗?如果我们能看到实际的物理查询是什么,这将有助于更快地找到问题的原因。
这是日志的内容
SELECT
0 s_0,
"WRH"."Calendar"."Date" s_1,
"WRH"."Account"."Account Number" s_2,
"WRH"."Department"."Department Code" s_3,
"WRH"."Balances"."Account balance" s_4
FROM "WRH"
WHERE
("Calendar"."Date" = date '2016-02-05')
ORDER BY 2 ASC NULLS LAST, 4 ASC NULLS LAST, 3 ASC NULLS LAST
FETCH FIRST 65001 ROWS ONLY
【问题讨论】:
【参考方案1】:如果您的查询在逻辑级别已经失败,您将永远不会看到任何物理查询日志,因为查询永远不会到达物理层。
如果您将日志级别设置为 7,那么您将获得查询的完整调试信息 - 就其获得的信息而言。
要么更改 RPD 中的日志级别,要么将此代码添加到分析 SQL 前缀中:
SET VARIABLE LOG_LEVEL=7;
【讨论】:
谢谢,克里斯,我试过了,但它没有让我找到新的东西。所以如果逻辑查询失败,那么我们唯一能得到的信息就是答案中的错误信息,对吧? 是的。您必须解决您的逻辑 (RPD) 问题。如果它在那里失败,它将永远不会进入数据库。以上是关于分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?的主要内容,如果未能解决你的问题,请参考以下文章
OBIEE:通过 Direct Query 分析执行的过程运行两次。为啥