我正在从应用程序中查找SAP Hana中最后执行的查询和时间。我知道我们有类似SYS.M_SQL_PLAN_CACHE的东西,这些东西可以直接在HANA中执行查询,但是我正在寻找通过某些Java应用程序执行的查询。有可能吗?
答案 0 :(得分:0)
您应该为将Java应用程序连接到HANA的用户启用特定于用户的跟踪。
从SAP HANA 2.0 SPS 03开始,可以通过用户和/或连接ID以及语句散列来限制跟踪的语句。
以下是如何根据不同条件启用跟踪的示例:
-- to enable traces
ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM')
SET
('traceprofile_<context>','application_user') = '<application user>',
('traceprofile_<context>','sql_user') = '<database user>',
('traceprofile_<context>','connection_id') = '<connection id>',
('traceprofile_<context>','statement_hash') = '<statement_hash of DB>',
('traceprofile_<context>', '<component1>') = '<trace level>',
('traceprofile_<context>', '<component2>') = '<trace level>'
with reconfigure;
-- to disable traces
ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM')
UNSET ('traceprofile_<context>') with reconfigure;
痕迹存储在 / usr / sap / {SID} / {HDB_instance} / {host} / trace 中,更多内容请参见this blog