Thanks Selva for your reply.
I can't get the correct result. Do seem Its explain plan is not in the shared
segment?
The error log as follows:
---------------------------------------------------------------------------
SQL> explain options 'f' for qid
MXID11001023192212399731868454002000000000906U3333308T150000000_411_SQL_CUR_7;
*** ERROR[8017] Explain information is not available for this query.
[2018-07-30 23:55:50]
SQL> explain options 'f'
'MXID11001023192212399731868454002000000000906U3333308T150000000_411_SQL_CUR_7'
from RMS;
*** ERROR[15001] A syntax error occurred at or before:
explain options 'f' 'MXID11001023192212399731868454002000000000906U3333308T1500
00000_411_SQL_CUR_7' from RMS;
^ (99 characters from start of SQL statement) [2018-07-30
23:57:51]
SQL> explain options 'f'
MXID11001023192212399731868454002000000000906U3333308T150000000_411_SQL_CUR_7
from repository;
*** ERROR[15001] A syntax error occurred at or before:
explain options 'f' MXID11001023192212399731868454002000000000906U3333308T15000
0000_411_SQL_CUR_7 from repository;
^ (102 characters from start of SQL statement)
[2018-07-30 23:59:08]
---------------------------------------------------------------------------
The commands I use are as follows:
---------------------------------------------------------------------------
SELECT COMPILE_ELAPSED_TIME/1000, process_name,query_elapsed_time/1000,
explain_plan FROM TRAFODION."_REPOS_".METRIC_QUERY_TABLE
where query_id in
('MXID11001023192212399731868454002000000000906U3333308T150000000_411_SQL_CUR_7','MXID11001023604212399731868589001000000001806U3333308T150000000_847_SQL_CUR_1',
'MXID11001023098212399731868320003000000002706U3333308T150000000_1401_SQL_CUR_5');
---------------------------------------------------------------------------
Regards,
Pengpeng
-----邮件原件-----
发件人: Selva Govindarajan <[email protected]>
发送时间: 2018年7月30日 23:03
收件人: [email protected]
主题: RE: How to analyze the completed sql statement
You can issue
explain options ‘f’ for qid <qid> or explain options ‘f’ <qid> from RMS – To
get the explain from the RMS shared segment explain options ‘f’ <qid> from
repository – To get the explain plan from repository
What command did you use?
Selva
From: Yang, Peng-Peng <[email protected]<mailto:[email protected]>>
Sent: Monday, July 30, 2018 2:28 AM
To: [email protected]<mailto:[email protected]>
Subject: 答复: How to analyze the completed sql statement
[cid:[email protected]]
Regards,
Pengpeng
-----邮件原件-----
发件人: Yang, Peng-Peng
<[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
发送时间: 2018年7月30日 17:12
收件人:
[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
主题: 答复: How to analyze the completed sql statement
Add attachment.
Regards,
Pengpeng
-----邮件原件-----
发件人: Yang, Peng-Peng
<[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
发送时间: 2018年7月30日 17:08
收件人:
[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
主题: 答复: How to analyze the completed sql statement
Hi Selva, Yuan, Carol
Thanks for your feedback.
I have set up dcs-site.xml. But I can't get the correct explain plan, it looks
like it's garbled? How can I decode it into the text explain plan?
Attachment is a screenshot of the explain plan now.
Regards,
Pengpeng
-----邮件原件-----
发件人: Carol Pearson
<[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
发送时间: 2018年7月30日 14:53
收件人:
[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
主题: Re: How to analyze the completed sql statement
I have experimented with this a bit in various configurations and with
different workloads. For short transactions and high concurrency, the impact
is pretty high. But that's really the absolute worst case - thousands of
concurrent transactions with hundreds of thousands of queries in under a minute
that previously weren't logged, all on a cluster that was tuned for the
workload, not the workload + query logging.
For the more general case, a workload where the queries are in, say, the
10-59 second category and there aren't thousands running at once, then the
impact of setting the threshold down to zero is much lower. Depending on the
cluster load, it may not be highly noticed.
So this is definitely worth trying, but be aware that there can be performance
impacts to setting the threshold to 0, depending on the workload. In some
cases, there might be a need to increase the cluster capacity (add more
nodes/disks) to achieve workload SLAs while permanently capturing data for all
queries.
-Carol P.
On Sun, Jul 29, 2018 at 11:13 PM Liu, Yuan (Yuan)
<[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
wrote:
> We can also add below configuration into dcs-site.xml to save queries
> less than 60 seconds into repository.
>
> <property>
> <name> dcs.server.user.program.statistics.limit.time</name>
> <value>0</value>
> </property>
>
> The value 0 means all sql will be saved into repository. We can set
> the value as we want.
>
>
> Best regards
>
> 刘源(Yuan)
> 上海易鲸捷信息技术有限公司
> 地址:上海市浦东新区金科路2889号长泰广场A座603
> 手机:13671935540
> 邮箱:[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
>
>
> -----Original Message-----
> From: Selva Govindarajan
> <[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
> Sent: Monday, July 30, 2018 1:49 PM
> To:
> [email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
> Subject: RE: How to analyze the completed sql statement
>
> Statistics of the running queries are stored in shared segment. To
> avoid shared segment becoming full, the statistics is removed as soon
> as the query is deallocated. I believe If the query takes longer than
> 60 seconds, the end statistics will be written to repository by
> default. This time duration of the query to be written can be configured.
>
> In addition, the monitored queries are kept in the shared segment even
> after the query is deallocated. You can start monitoring the query by
> issuing get statistics for qid <qid> or any other equivalent command
> involving query id. However, if the query takes a very short time, it
> is possible that query could complete before you start monitoring it.
>
> Thanks, Selva
>
> -----Original Message-----
> From: Yang, Peng-Peng
> <[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>>
> Sent: Sunday, July 29, 2018 9:55 PM
> To:
> [email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
> Subject: How to analyze the completed sql statement
>
> Hi Trafodioneers,
>
>
> Sometimes we need to analyze the sql running at the end, how can we
> get the statistics of the completed sql?
> Or configure sql statistics to stay longer in the offender?
> Not "get statistics for qid current;",
>
>
> Regards,
> Pengpeng
>
>