<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texto de globo Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EstiloCorreo17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.TextodegloboCar
        {mso-style-name:"Texto de globo Car";
        mso-style-priority:99;
        mso-style-link:"Texto de globo";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ES link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hi List,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Environment: OpenCMS 8.5, Oracle 11g<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>We want to monitor database access within a custom JSP that uses the OpenCMS taglib/API. What we need is to generate an Oracle trace file with all the SQL instructions that happen within that particular JSP, regardless if they belong to different database connections within a pool.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>The issue is that we don’t get any info in the trace file about the OpenCMS queries. We are trying this:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><%<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>String CLIENT_ID = String.valueOf(new Date().getTime());<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Connection dbConnection = OpenCms.getSqlManager().getConnection("default");                                    <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>CallableStatement cstmt1 = dbConnection.prepareCall("{call dbms_session.set_identifier(?)}");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt1.setString(1, CLIENT_ID);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt1.executeUpdate();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>CallableStatement cstmt2 = dbConnection.prepareCall("{call dbms_monitor.client_id_trace_enable(?)}");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt2.setString(1, CLIENT_ID);               <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt2.executeUpdate();           <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>CmsJspActionElement cjae = new CmsJspActionElement(pageContext, request, response);                                                  <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>CmsObject cms = cjae.getCmsObject();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>CmsRequestContext crc = cms.getRequestContext();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>(…) // some JSP code accesing contents<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>CallableStatement cstmt3 = dbConnection.prepareCall("{call dbms_monitor.client_id_trace_disable(?)}");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt3.setString(1, CLIENT_ID);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>cstmt3.executeUpdate();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>(…) closing stuff<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>%><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>All we get in the Oracle trace file are the explicit procedure calls. I am not very familiar with this Oracle technique. Anyone has tried this? Why are we not getting any trace from the api internal queries? Might be because they are happening in another connection or session or something else?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Any comment is welcome. Thanks.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal>Jose Ignacio Yarza<o:p></o:p></p><p class=MsoNormal>Open Sistemas<o:p></o:p></p><p class=MsoNormal>Tel: 649 157 537<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=267 height=133 id="Imagen_x0020_1" src="cid:image001.jpg@01CE8DEE.9E8544F0" alt="logo_open"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>