Form query too long running
I am dealing with an issue that I believe I have boiled it down to being a Forms issue. One of my developers has a form that is taking 40+ minutes to run a pretty complicated query. At first I believed that it was a query or development issue, however the same query can be ran from Toad or from SQLPlus in under a few seconds. I have even ran the query from SQLPlus on the forms server with the same speedy performance. The only environment in which this query takes almost an hour to run is if it is ran from her .FMX ... I am soooooo at a loss right now as to what I could do to fix this. Has anyone experienced something of this nature?
Additionally the query returns ZERO results and this is an expected outcome so I don't believe it has to do with Toad buffering or SQLPlus return the rows as they are fetched. Anyway I'm at a loss and any help what-so-ever will be greatly appreciated.
To show what can go wrong look at this simple example.
HR@> CREATE TABLE a (ID VARCHAR2(10) PRIMARY KEY);
Table created.
HR@>
HR@> insert into a select rownum from dual connect by rownum <= 1e6;
1000000 rows created.
HR@>
HR@> set timing on
HR@>
HR@> select * from a where id = 100;
ID
100
Elapsed: 00:00:00.34
HR@>
HR@> select * from a where id = '100';
ID
100
Elapsed: 00:00:00.00
HR@> explain plan for
2* select * from a where id = 100
HR@>
HR@> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 2248738933
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 7 | 522 (12)| 00:00:07 |
|* 1 | TABLE ACCESS FULL| A | 1 | 7 | 522 (12)| 00:00:07 |
Predicate Information (identified by operation id):
PLAN_TABLE_OUTPUT
1 - filter(TO_NUMBER("ID")=100)Because of implicit conversion (as explain plan shows) select * from a where id = 100 takes longer than select * from a where id = '100'.
Similar Messages
-
I am looking for a way to enter multiple dates into a field without the form becoming too long.
This will be used by an old school bookeeper who needs the form to fit on one page.
Any ideas?Hi,
If you don't need the field to provide a date picker, verify it's a date, or don't need to sort the dates in the table, you can just use a text area field, and have your form filler enter the dates comma separated. Otherwise you'd have to add multiple fields. However, you can lessen the space each field takes up veritically, by using the "Labels Left" option (in the toolbar).
Thanks,
Todd -
Why javax.faces.ViewState value of a form is too long ?
I'm trying to make a form with jsf, but when it is rendered javaxfaces.ViesState value of input hidden is too long!! Why ? My form:
<h:form id="f" >
<h:outputText value="#{commonMsg.titleHea1}: " /> <h:inputText size="6" id="search" value="#headerBean.url}" required="true" /> <h:outputLink styleClass="ir" value="#headerBean.redirect}" > <h:outputText value="Go" /> </h:outputLink>
</h:form>
When it is rendered:
<form id="f" name="f" method="post" action="/dynamic/tops.jsf" enctype="application/x-www-form-urlencoded">
Direction: <input id="f:search" name="f:search" type="text" value="http://" size="6" />Ir
<input type="hidden" name="f_SUBMIT" value="1" /> <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="w1fPy6aUnkx0y07Gntqc5Ck7SzPu5nm3raQtTbJ236xnSbjbWnoT+3xAN0tBdr8naHIIYODBu7mTkJ3DWT83vob7HHWlQ03nForjtW+J898hO7BInp5oi16xXaHir4O+aLu80pTcnCxgUFiQHt8wm9eeJ9HLlyNq8nLlYQIQpS6KG9yAymRLwqFMylMTCruYV0fSCHGG5DyC4MBoUejyiAHO0cm472Xav31rqfQD2mz0CaP+g8ATo56ywdAbEnQSKNyjGpbbUSshO7BInp5oi0mJSxD8k3vHthRSOFK4ICF42EA7zNf2WMRLPrxqyo76ds4FpYhcQNGL7j85uz7ZwMTbPTubCf60fgvtWJvkhqz0s7zIE3g/UAHfEdrT/BiZ+w0RVm2S2HDF4sQRpo4ZyTauEkNtTan4/Pbyq8xMwSqyTdwPjmslO0opfKxaca8tboJIYx6wqQLrgVDJqUCTQsajzS7XXl4VvCq/iYB4809k9cTz5+FF+Tkpx9AmC72+0kN5lXUkyUXwCTabvtpQ14yg0NshI4GIn66RuHTZP38Ac+g4xkNokqjm1uVuXjysnU0PC7rD/SgMP/HlJYfuTiP0Hio4xXr/jnH28X8VjjRmkp0uOiZgh4ZHOEo6uww5fa+ZLN+A9ai+QLZAjPOdRtDPktmJtQ6awFsVcxRx86oVGdkvT1Ftszw3L3qJdBqFjJ/ieIZYoFSMmXXktLiirVKq6BLNj9LEgCDvspjIT0kO1DiDUusHpIETGf04wJoZRbWwpgk1Md/oTA4gFX6PCFqsWGrACpxVcApEf6FdkcuDBEGlcsaSsdDPktmJtQ6awFsVcxRx86oVGdkvT1Fts44SgmZIGz8UKsZMYvOxLnBoMS0EitvNm1Yj9LGgsGDLpNtcD9rOEoU+gRqWzavEGmGu3y1eKZha6MOYq/smT5aSEpZVrw55vZOPAiCrRZV7b7bD6JeFcgRIygURWn5r2G+2w+iXhXIE5MdV0chkf7CW0wKYd2JqlL/1dh6hL7QignBxAtVSU7V+u508JOrmNWIyE5hEcWNPECVrvpOFl9FxSatq+DLn/Zub5FPzLQ2GDtQ4g1LrB6SBExn9OMCaGUW1sKYJNTHfqMqf/2CN+fR8xoS11gIw24yZdeS0uKKta5uCdvUUUwHErR+wE15oHi77XNfOsT9qd+t/dtCeH72GRzhKOrsMOb1oU8iWIrGmdCAlviYArRh27qpDqz3PasczxLijbnIhKG79Rcc74e51uJcZzQZEUA6eX5B9ZIJh6TCZL0scyV0FWNOYT4iaziZj3yVQ3pg/THsp/RHUzbACPmTACMx9d3RIYRaXNvq9juumLsbYz3So5tblbl48rJ1NDwu6w/0oDD/x5SWH7k4mmyPxVAY4xQbEnM9j0KdWhQilb5wK9Y90ICW+JgCtGHbuqkOrPc9qpvDfEuhCHefzO2A5jwTaKedRseYELVfu8ztgOY8E2imywRn3l0xN3TnmMbvnUy8b0ads6uSFt7FR/vozfkzv/cObo2nfgVxvS0ZH21tf+fVWI/SxoLBgy6TbXA/azhKFd8djwL+jXslmng2xKWwbUb/1dh6hL7QiIkmWK/gn1xcQJWu+k4WX0XFJq2r4Muf9uNHc5VLhUzYRS08yj58xtDsFGFN3IEhUYbZQYBMpPRaMmXXktLiirfCykUAmHQbQIUKko5NxGouN9zGPbevtx/cRDnO4/KsDbn1c5C8Lmjs5M277NMfLq7/1dh6hL7Qi/b6gRcO0x5N+u508JOrmNWIyE5hEcWNPECVrvpOFl9FxSatq+DLn/U/zRn+KwgCq66C2s9ijq3TXqoXImYbpGnQgJb4mAK0Ydu6qQ6s9z2qvEK274bmC6/M7YDmPBNop51Gx5gQtV+7zO2A5jwTaKbLBGfeXTE3dOeYxu+dTLxvRp2zq5IW3sUUcEXqXMEsdw5ujad+BXG9LRkfbW1/59VYj9LGgsGDLpNtcD9rOEoXH7LhplqFE8maeDbEpbBtRv/V2HqEvtCLLBoMyCxxMcBAla76ThZfRcUmravgy5/375kEDjr5e9RFLTzKPnzG0OwUYU3cgSFRhtlBgEyk9FoyZdeS0uKKtmm8hw42K58IhQqSjk3Eai0dXhKK94rDA9xEOc7j8qwO9lVn1jNAGuDkzbvs0x8urv/V2HqEvtCI+eszg+RiASX67nTwk6uY1YjITmERxY08QJWu+k4WX0XFJq2r4Muf9d7bYgfAGx9broLaz2KOrdFOmmR9pKjKMdCAlviYArRh27qpDqz3ParrgvHmadBvQ8ztgOY8E2innUbHmBC1X7vM7YDmPBNopssEZ95dMTd055jG751MvG9GnbOrkhbexAeJ0zlBFFZ/Dm6Np34Fcb0tGR9tbX/n1ViP0saCwYMuk21wP2s4ShThV/wT4HXT8Zp4NsSlsG1G/9XYeoS+0IsbqVF0ocCdQECVrvpOFl9FxSatq+DLn/ZbzTqnk2rb8EUtPMo+fMbQ7BRhTdyBIVGG2UGATKT0WjJl15LS4oq0lMTG9YffyByFCpKOTcRqLoSs2nXiAKcH3EQ5zuPyrA1d0PS2SX/gSOTNu+zTHy6u/9XYeoS+0Irk3XZCdBPZrfrudPCTq5jViMhOYRHFjTxAla76ThZfRcUmravgy5/1/ESLjGXEGAuugtrPYo6t0AVATUEtetNWGRzhKOrsMOb1oU8iWIrGmdCAlviYArRh3AOSxI6GEYJHHLmfl6nIx/syIrS8skGhOsMyhfBdDvuSjjUoBWXe2ECVrvpOFl9H8WDTrg99o2Hx73HP4vssmJtp4/Ut4E31A0ZtwGZ4cXMStH7ATXmgepNOILUvj7onk/I4FTiyGhVgsTQublSa39K3gmve1wS6TjwIgq0WVe2+2w+iXhXIESMoFEVp+a9iW0wKYd2JqlOJLF439YZZAngKOXZiId4emZS4/qJcIe2yK8NWzXiXCOeYxu+dTLxtF7SZdqUYIff+nfhoHNxE4aZYrTsZUfqeO/rkuQWKgYPXQDSNLUERWOeEHXKl1ImdOsMyhfBdDvgNISmUmI65vO88v+JHJC5aG0rmY5rHlVoZHOEo6uww5vWhTyJYisaZ0ICW+JgCtGHcA5LEjoYRgUBQw8KNDXH7+zIitLyyQaE6wzKF8F0O+1ejHT9D9IDsQJWu+k4WX0fxYNOuD32jY2hwBCyQn/AIm2nj9S3gTfUDRm3AZnhxcxK0fsBNeaB6k04gtS+PuiS/6R9b4Ct0bWCxNC5uVJrcY+IMSpCBXi5OPAiCrRZV7ltMCmHdiapTiSxeN/WGWQBPLs46cjzVIEUtPMo+fMbQ7BRhTdyBIVGG2UGATKT0WO88v+JHJC5YXuJ2JCmE1j5rdCqnTDFCB+g8T8KM4D+xhrt8tXimYWjnhB1ypdSJnTrDMoXwXQ74lRcXIKqdBD367nTwk6uY1YjITmERxY08QJWu+k4WX0fxYNOuD32jY5SvdrQjGB0p6YhTOAmk0y7vErkPJ6iyEw5ujad+BXG9LRkfbW1/59VYj9LGgsGDLY9mSGgs6RiwY+IMSpCBXi+QGpPvQ8Jfl/Fg064PfaNhOlSgeOorzqsStH7ATXmgepNOILUvj7onJIwfWRuV8xOVnO83ZcVhNcnlkAJJy3mjmn+kE9P9H8wWQEMtdcNhxTiqIiZz11Wl3ksuHJDsMRbFyXER6LNQsiFAkODN62eeBv6ghPIns74/ucOXxY0WL8++5pK+QKp++WGxxGBKoenNQ/QA8imdSojzvnS0WmbIt0kcF3mJoobpdm7SCTjQ6cDuJTAA61jVqEIysV9QX0wdiY8EplOk3/nWHXXXMN/3LXR1CQdS6CWhyCGDgwbu5k5Cdw1k/N75AvqvDAlWDRujJF5HOirW2sx6jVIIUuroggB6Ug4GCwKs+EcahgMI/uiZZWEcEIAnldEcK6n7lWw2oOGY0SgQPMsekOwRe1JpKf+hNvj8AVkv3NlCTSM5IelpFyrICZNiSEpZVrw55vRltw3X8EcJgt6qJXI3RsT2/9XYeoS+0Ilf1E5MxnLPKcUmravgy5/0UoRuVTOtMJqERsMADJW3acUmravgy5/3x3IAM9lcwy4yZdeS0uKKtEQRiNGYCKAw8niy2MQPKaVq/dfZD4pNH3vWuY+tOQq5mT4za5/AV+yz0FDxS4AAtaYecjj6eEPxaHXDC+IDWQF4B0DrbH5jE+QjoBjCKl9VcJRcPtL+4+XuDl67Uqj2BlfGDqCluiroEYfcIk0Vjv0R4UeBfnLv0g2redJIKuKBJertiz0rayUlkz8szH8SBBPXJHgNWAHz8yUBEBz/3u3WwmjmZhFeoXt0+yrcq69Es9cMg8p58kcksARfQrzlNO88v+JHJC5Yc3IclJivK9UA76ROfosnN4ksXjf1hlkAWDUiUvIJq+t8B3EkEZkMI1tWyB5lpdFYf2VUCgJERYaUO0YULW0kPvG8A8KS3kOB5/xZwQ1l2uASQ4t9afJGt6Ad3e8LgyB1EVclJ0S+Z+C4dNCTFmwhDPdUgJHEki0o7nXwJPJEnapALhMbnULH5GIkKsek+bLItTfEnbTyVL9K7N/NXU7Q0t9VFfrq25+QDDTBxWZRrBWUT3h8oDeqx43/ivjDlJAs14wXWiXVImhLAjhQYvZVlkwprRSoaxnZJ4TLyrNdX7EqMVFa5W8TkzYWQp92XJtYXUjZW/JWGKOEvkz4rDaH9EAEjixv4dNtmAmf65+Od712DD1+rV4vHIIAelIOBgsDUKV04xr93Y0jEGlUne3wDL0Ny1scEOxlTaSEa5qA1RlNMvQDB4OpQh6F+oupxpxVQbHYFY8uz+lrVzssQkGpPoH0+XaEZwTcqsYYAxT88X3Remsf8OfxXK7dZIp9vObEQEu/AIgIscQajbJ80wJN40KuJttYIAuewNROPOxIUBTgKB3uuSj5TMCtuqfeCKfeIgDGRg3o88HZSZR588Ol4TRqeIJQNihXWi9w3gd9NcdQi0t/RLka89wxWEhcnz1XC6mNkBtoU0ARuT95W7GuCRrRvKzUaCQj9uZRlO5sTF2G2S5rF/7mol1fsTXfWjULgoBoUb2k51krJ30Bc/4qmiy4+bIaqAhEXdjOB7TwUYOkwmS9LHMldWaBKaXMT5NdwnXEE9hFCn/51h111zDf9ST1Vsp3XlWy5GihXHXdUHrL/kEJDgVr9zpwbmNwHNtrhN5qxkMMIVbG6C6e08/8wd7sglX/kHp/R4go6Tu42zShAeCGe3NMvQJBPxtArQDhKHFtWoCcLbUaPXzC8CkmmHV56xn81feSjtrQXxOxVValF89dNR9ZIMZaWPud9KlQiqytwy1UgPHLf01ODfa0JFTw7cDWlkJnFGi0EZZC/c8x+KgCNwx93n1Q2MQ/H4VxYekhiDYhYPxFAJvmO+5G98pcq997iUbqUEVemobB1E9LES0Fvvp5XijMkX+XqhlMEbk/eVuxrgjBDGSJ58qZqWe9aOsH32vnNC09ahRW3ETUwB1oQo7Uc68f/Gt7C6Q7goBoUb2k51gtHxRC/4eydlEzkf+To8hyvueIro/kv6j625qOqhgCSFJH7nDpqHTCT8w3OdHxmej9/G3j5Zx6P8h+QhZn3eYY+DZplGL5AEUizAkXLaFkB1RQIEi9HgzSrAF/B8zoNBqsAX8HzOg0G70nhA4/mWNchIicO1DpKzcfNlm4+S2ZTTWXIhey7qZ1JKaoOdYUZOD0OGHyr05wIPg2aZRi+QBHL8gsJ8y3rnG3WtzRmHOLLr8iWIrMtOyGIUCQ4M3rZ5yqclDSMrx3T6f/hEsbT5veSTK8354X7iME2Gq21hbcfYtvn5MKOtpecMR3zYFeafDYxoQbpPsIoFJH7nDpqHTCT8w3OdHxmemUvt8+hqX6awUcrkhpHfcfM5Dho/NZAPNWTEe5PFWZQcyEBeP9NrFJPbV0mBjUAKHydynwNRpe3nYGY+3eISaZxwQ0S/nvSoElkn5rgOXezrG4wXaEdwucVc6zQdT47dvSi/3Am4SI67QdSs8a36Fi3y6oDSmVwPsMOB0k78y2HqwBfwfM6DQarAF/B8zoNBjUWd3SVCSJfWatRLP/RmZH0ov9wJuEiOrdgXqqekbyKlBFXpqGwdRPjnHeUaMZc8L16csu51UeKE2NZnEyh5Mmc0TCxkGK543RAVxF6PY9lPGGuFrsO8xHqh0fHoDE+t+9LceucIbLE/loOxgmMWJbgoBoUb2k51hrmOQqr7j5TQxn3LJFpASJC2KqBV/Td/wy0Nyj6d6JxuOedQZLRMELqK+Q+dwUE6dO02+cOx5ITMlQzvcGWXnPQF5RZVLRMG/wh27YL+vauzUN83a11Jo91b1Ztb2NfNFmrUSz/0ZmRLQZ9liZvcd0D89JUP1guAnIKSAqd5jL2KxrY0EOGHfyjtrQXxOxVVYWp2fh+tFST4jRLCVjSnzaOBvBzzfq+bmIoQkzExcoObH6qCRaLq1k+upe2kTgCFXbtLAFAdjHBQbhs4atmd4MlS4jE+3rqaGhCJlEv3H+vRBZ5w04it7NR5vpstadVy1VtYKMoPPgi1Vj8Kbpm5WzmzMRfDWclg+vpwtdnZvxZrK7u3HUjFfhQl5qSeTmp7/4RWUJXAQikqwBfwfM6DQarAF/B8zoNBvSi/3Am4SI6hxcOR3pe3abdzdMXLOZ9zw7Ij6If6ZOuYbZLmsX/uaiXV+xNd9aNQuCgGhRvaTnWSsnfQFz/iqZI+KqCJ3yuQT4Hju6372NSFJH7nDpqHTCT8w3OdHxmemUvt8+hqX6awUcrkhpHfcfM5Dho/NZAPNWTEe5PFWZQcyEBeP9NrFKzxjcBV9Yv6OLfc11iLavU9Vr33q/a1SLXTUJW0xzdCU0aniCUDYoVFyYSStPRLxGZz1U539i6gEAY3ME0dpNVAEz+gKbFSnOIUCQ4M3rZ5zHWY2mw2b3PjYn89gvmTqlt1rc0Zhziy4OsvjDeWTlnB0pn/BISNTqyJKLrmyXaC76goTatIBuxuGYVuF+ARW1J0eCqiVnlBs/91PnMrfIqd2zIgAVjQUbrG+UcU1nDyED/CB9UpZMV5595b73y0hnTDqBN2ciPlh4/N7C3G6qErHXMnGPVoIpJZJ+a4Dl3s6xuMF2hHcLnKQiF0Nc4g20mz99oCxllrdI7LUcFkiMQbda3NGYc4sv0sSY0AaQfNIhQJDgzetnnBm9Udw9tuq6P7nDl8WNFi341r7oxBixCpAXCv8wGDMoTNWnNzM+NPr1x5fken046/CHbtgv69q7NQ3zdrXUmjyu/9h0hQa5OopdG4S0hGnYDcbrl94kZ233odZgd+RYzqzozkLVr5Kv+lIS4Jeu85VtNLvdQT3pN2LN/kiRtePLZst6JhmeSEhkjF+WFdiuhZWnTv9zaUe5vCl4rbQomkrjnnUGS0TBCsia+wF9wETt25gRCPT3XcbiiqqPaZSOnZRHchm1Tmt7hy7D9oFJ9OCUFVeCjxnWH4D3UfqDQIik2i+szBe+uWFMeP9iF3/VRKTtLM+7mebcCUxcTR6x9s+VMGtq7HmZT+iqonTlzATceLikm4CaUTCdoCCs7sYmLBm5oxiA4wvOrAF/B8zoNBuuSt6Jx5dwevx+fcF8PFsEPPbJT1bzdyENg4dp4c2XM1tRmjRzNNw/Yw5xCPm/AW7FyXER6LNQsiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLZG4svajHl5K+oKE2rSAbsbhmFbhfgEVtMHp4TzB6CEj6jrVo8gxhdKKYIx/rQUV2Wz94AyuSRiPoHBPUuaW1qJ8Wm1NqziUCV0/8e4zubY/u+R0kzn8KWPcSlqoHV5BJx/ylgYtSudhWbkGnyhjms7FyXER6LNQsiFAkODN62edeQLVDwuTYgOn/4RLG0+b3kkyvN+eF+4jrPLWg/noLUwcXCr5OQln3I1EVZd/WfZkscTw6WPCkDsnzMILsOWOY/5Q4lLXVdM+cdvDNLZndRjB6eE8weghItIsfUppu/uQDYlkMB4T93yZXaJdKuEg3xAiUJkQ6ufiUEVemobB1E9LES0Fvvp5XijMkX+XqhlMWk0ogP9JZTrAteafbDsER4KAaFG9pOdZKyd9AXP+KpoHa431gBS+WYbZLmsX/uag+xEEJLs0y+LLaIKLLitOH0M+S2Ym1DpqeksYZIkqLGMFHK5IaR33HN+CrYDGALFO2Ce9UnlZM873POjFTjsLJ1tRmjRzNNw+BU9fxdTGzH6YwRM9LItUiz/3U+cyt8ip3bMiABWNBRusb5RxTWcPIQP8IH1SlkxXrChjtCmLNizM14Lxy8ypBDCp3eqvuT8mXDGjOlTostHydynwNRpe3ztZmeSNhF/DuPbRO6QY6T2yKao7i+Gl6nSUeLxUzqdL6RytLQuYL2j7Tn8p/LUiI5Y86tvMZSyoimKARYhxg9U0aniCUDYoVFyYSStPRLxGZz1U539i6gKsAX8HzOg0GqwBfwfM6DQZbhAeMCNkdlw89slPVvN3I3YaLHF4C+ZbkfUBommK/eeBUdE/v/cIE/loOxgmMWJbgoBoUb2k51poyib0XLOSczQtPWoUVtxFC2KqBV/Td//BSWgy8dEVmwUcrkhpHfcc34KtgMYAsU7YJ71SeVkzzYx7X/Huaz45SwV1/inAWWL4daCJgrnCgoogSFQOF/+VL1gGhMz/AIEngPPsjkEkWKFDBFtAp/OLU8jJchwGpO6uwFPfaUI8TX1gdpBV+ZNadSc7T/d0bNNDQwVDRprT70uZ/5XGMgwht1rc0Zhziy1ed2f7oGEsfiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLV7lY8WC9IDJuWodUXY2iCC4YDTssn7dQqormNDiS1hrkOqJYFr5BobnpQFZaq8CZ7yefdqfam9SEZA3s0LCLIoaUW27S+VudkhK2XV0cYiZlSo/Mx25926uwFPfaUI8TX1gdpBV+ZNadSc7T/d0bNNDQwVDRprT7lN4eY+HFEMhhtkuaxf+5qA9/o9p5FpRC4KAaFG9pOdZKyd9AXP+KptSvTPriV6jgTv4SxZBE7AQUkfucOmodMJPzDc50fGZ6P38bePlnHo/yH5CFmfd5hj3e0IFaVr3XSLMCRctoWQHvisugfEbon/+UOJS11XTPnHbwzS2Z3UYwenhPMHoISLSLH1Kabv7klB8TbD7Iijul7B597a55c82C+oBpVqFZHveMGjYVH35Ze8Fat3XYdQRlp4dv4N/c11OEvlf5DxlJZJ+a4Dl3s6xuMF2hHcLnKQiF0Nc4g22rAF/B8zoNBqsAX8HzOg0G9KL/cCbhIjoGbmjGIDjC8zdtv9RuelTrHKZ1TrZrMJnyxHj/mDnRZc0LT1qFFbcRdTMsUAmITdv+Wg7GCYxYluCgGhRvaTnWeSIwXXBL0EFHQ4xc+PYNN3CdcQT2EUKf/nWHXXXMN/1JPVWyndeVbLkaKFcdd1Qesv+QQkOBWv3U2SNJrT7UqqeE9VgmQap+eTYTbq505otZe8Fat3XYdcdOCZ0IPzI53WCZiUEKg+1JZJ+a4Dl3s6xuMF2hHcLnKQiF0Nc4g20mz99oCxllrWG5dWN6WGwK4KAaFG9pOdZKyd9AXP+KppKK37MoR8HWYbZLmsX/uag+xEEJLs0y+GGt0XAj/cIEeQtcjsFciM/8Idu2C/r2rs1DfN2tdSaPRqxdvVMojke0JUSQdjW0NJ8C1OXGtQ1c5Cv4qtuSzh+Ya7ZtPyCbUQcjIN8r2v4gfS5FaVSo6QLu2lgVYrbu9A+zWJycZbFRq7AU99pQjxNfWB2kFX5k1p1JztP93Rs00NDBUNGmtPuU3h5j4cUQyGG2S5rF/7moJMDQ/3cqrCjgoBoUb2k51pS3P4d31niNSEFv6qjZyLI2VHk4slS4wmJXalO+CbKS/CHbtgv69q7NQ3zdrXUmjyu/9h0hQa5OopdG4S0hGnYDcbrl94kZ25bIixxwyOHBqzozkLVr5Kv+lIS4Jeu85VtNLvdQT3pNFjOpGQ0eVIvY9AC0QVy9P8JYoPtXqZw3lb8xd+sX9WlvCl4rbQomkrjnnUGS0TBCsia+wF9wETt25gRCPT3XcbiiqqPaZSOnZRHchm1Tmt4FM2mqaWPm2iVLiMT7eupo/9Hpx9YD+V0eFsOI5Sf7vVHm+my1p1XLIXAKlmtdKn7yLr+3yfoKBlEStFIXlsY7fel5gMLD9heoiMfmkZFW7O+Ttnfm5cnQqwBfwfM6DQarAF/B8zoNBioP5yXuSy3XHi4pJuAmlEyrAF/B8zoNBqKXRuEtIRp2wb2o86FGbiaIUCQ4M3rZ5zHWY2mw2b3P6f/hEsbT5veSTK8354X7iCOZjUVAckAQry+UuvO9ehhwdYBioN0bUoZGL3X/y7rdcOQvt/gel9wYU3D2zNK88pZGHjoG7RO0NYGGhfgAl2/bsiP2I303D9omktHaKywtuNKlDOE+eTPlkBk4PontUqKXRuEtIRp2gAKL4vl5jUKIUCQ4M3rZ5zHWY2mw2b3PjYn89gvmTqlt1rc0Zhziy4OsvjDeWTlngp9xq1f3UI2yJKLrmyXaC76goTatIBuxuGYVuF+ARW1J0eCqiVnlBs/91PnMrfIqd2zIgAVjQUbrG+UcU1nDyED/CB9UpZMVc7Qy/bxgn4DdR/BDOyVznLRk2WpXd7rDkOFaQdSCxGYXzOzFu+MYgp0/h1u/BF2NwUk2axeQ3FQiiWksmkFztiE7a0JmKyH82qt1HV1Hhnr+Wg7GCYxYluCgGhRvaTnWGuY5CqvuPlPNC09ahRW3EULYqoFX9N3/PXkaUt++M8jBRyuSGkd9xzfgq2AxgCxTtgnvVJ5WTPO9zzoxU47CydbUZo0czTcPgVPX8XUxsx9EMeTWf3WIA8/91PnMrfIqd2zIgAVjQUbrG+UcU1nDyED/CB9UpZMV73FaJ665jkczNeC8cvMqQQwqd3qr7k/JlwxozpU6LLR8ncp8DUaXt337XdgYgEWDyvHnZ+/d2h0n5/9W3fBP3fmS8Nr9SOtrwE7RHPUAnEmxO0z0TsOzY0z9E4Ycc01D6WC7TRTvfeo3xudID7HQm8ZtSYs/q/9Xs3cu2myIQpjXU4S+V/kPGUlkn5rgOXezrG4wXaEdwucpCIXQ1ziDbasAX8HzOg0GqwBfwfM6DQb0ov9wJuEiOgZuaMYgOMLzN22/1G56VOscpnVOtmswmfLEeP+YOdFlzQtPWoUVtxF1MyxQCYhN2/5aDsYJjFiW4KAaFG9pOdaqYrsqZgBwJUdDjFz49g03cJ1xBPYRQp/+dYdddcw3/Uk9VbKd15VsuRooVx13VB6y/5BCQ4Fa/dTZI0mtPtSqp4T1WCZBqn6n1rDUadcduW7DP5ZM+GBX1Yti2QbcUmGUEVemobB1E9LES0Fvvp5XijMkX+XqhlPIAYE8hXAj8ac3qZvBeAIxiFAkODN62ecx1mNpsNm9z42J/PYL5k6pbda3NGYc4suDrL4w3lk5ZxQ3/TRatGWUsiSi65sl2gu+oKE2rSAbsbhmFbhfgEVtSdHgqolZ5QbP/dT5zK3yKndsyIAFY0FG6xvlHFNZw8hA/wgfVKWTFXFzeTzyV/2OPcQDau8YeTKUEVemobB1E9LES0Fvvp5XijMkX+XqhlPIAYE8hXAj8UPPUJ67QsZS4KAaFG9pOdZKyd9AXP+KpoHa431gBS+WYbZLmsX/uag+xEEJLs0y+IUG61CKV7q4B8wTfpHnSrb8Idu2C/r2rs1DfN2tdSaPK7/2HSFBrk6il0bhLSEadgNxuuX3iRnbovIcFt2FzourOjOQtWvkq9kicpn5eGGjw4VA3j9+2gCtJwG8SCEp4BPu5sWxQT/6kAz6ap8TAbh3p6J0iitxQ3BnD/VlMLwtcPbhRaIUTSSLl94YHuXACbouY5IXHK9rTRqeIJQNihUXJhJK09EvEZnPVTnf2LqAqwBfwfM6DQarAF/B8zoNBluEB4wI2R2XDz2yU9W83cjdhoscXgL5luR9QGiaYr954FR0T+/9wgT+Wg7GCYxYluCgGhRvaTnWmjKJvRcs5JzNC09ahRW3EULYqoFX9N3/usejcpaPprbBRyuSGkd9xzfgq2AxgCxTtgnvVJ5WTPNjHtf8e5rPjlLBXX+KcBZYvh1oImCucKCiiBIVA4X/5eLuxfjRmJwxCGFIhcD/qraLl94YHuXACe6OtHwq6eUtTRqeIJQNihUXJhJK09EvEZnPVTnf2LqAQBjcwTR2k1UATP6ApsVKc5vhDUZl7XvVYbZLmsX/uagPf6PaeRaUQuCgGhRvaTnWSsnfQFz/iqbFwQgnAjDcR07+EsWQROwEFJH7nDpqHTCT8w3OdHxmej9/G3j5Zx6P8h+QhZn3eYY93tCBWla910izAkXLaFkB6Ok4esG+bpTaD1cI4EUXuShdpPJq2HwxWQPLWYYvPBTA33XIKItbeqsAX8HzOg0GqwBfwfM6DQZbhAeMCNkdlw89slPVvN3I3YaLHF4C+ZbkfUBommK/eeBUdE/v/cIE/loOxgmMWJbgoBoUb2k51poyib0XLOSczQtPWoUVtxFC2KqBV/Td/8WKJnt5ceVWwUcrkhpHfcc34KtgMYAsU7YJ71SeVkzzYx7X/Huaz45SwV1/inAWWL4daCJgrnCgoogSFQOF/+VL1gGhMz/AIHIrh/cloJSxD7kUP4YmXGotzCiuVrGrP6uwFPfaUI8TX1gdpBV+ZNadSc7T/d0bNNDQwVDRprT70uZ/5XGMgwht1rc0Zhziy1ed2f7oGEsfiFAkODN62ecx1mNpsNm9z4/ucOXxY0WL5ZULPCZ7p9BuWodUXY2iCC4YDTssn7dQqormNDiS1hrkOqJYFr5BobnpQFZaq8CZ7yefdqfam9SEZA3s0LCLIk5uCpkdg1zKWmKviYQVi3k464Wsn83kWSexPrpfyGDRTRqeIJQNihUXJhJK09EvEZnPVTnf2LqAQBjcwTR2k1UATP6ApsVKc4hQJDgzetnnMdZjabDZvc9QCXsTPaEgIBgf6uYIVwOmg6y+MN5ZOWdngTdSQtXw3JhvpnGLkvqablqHVF2NogguGA07LJ+3UK6IiRvHJT6yGwe5EOkKtNDkfUBommK/eTOEhJzC3TUpavyr5XLcsxO0JUSQdjW0NMthufMe4A9ZsrqBb4xs+1fMuMzt5FBv4d2yW4NdoCYj+XoAZZnU0R3dUEdecqSq5WugaEObljvUGL81w1ed3Lt42EA7zNf2WDnTCVR0N4LqcpQxqn46ICGnhPVYJkGqfsqzn2M34525Dtxcb5XsgyuM3qUAuURdUy3MKK5Wsas/q7AU99pQjxNfWB2kFX5k1jS5ACLeWtOoTS9/DI8cFugnaAgrO7GJi7oEqeszMxsf/q7dyevjZBWrAF/B8zoNBkNg4dp4c2XM5ESTCp1fSzwkS3h36a+Bs92GixxeAvmW5H1AaJpiv3ngVHRP7/3CBP5aDsYJjFiW4KAaFG9pOdZKyd9AXP+KpuICc4StKWluBG5P3lbsa4L8Idu2C/r2rs1DfN2tdSaPK7/2HSFBrk6il0bhLSEaduEdj3tLZbpg89ErxWsaxZ56Y1NWVhcXz53Zz3VWxQ1cUpwCJjlH9Zl+AOvXk0+nMt2GixxeAvmWZT59xLMOQZ0recb1DQS7iP5aDsYJjFiW4KAaFG9pOdaaMom9FyzknM0LT1qFFbcRQtiqgVf03f/gn+kIdTOGCsFHK5IaR33HN+CrYDGALFO2Ce9UnlZM82Me1/x7ms+OUsFdf4pwFli+HWgiYK5woKKIEhUDhf/lGN9q+zibXsrA0BC8Zht+ivrlQ/3VdmWMi3+s4gzibC3po8s2/dZnQX9M+VEYr9sP719djzODW9mwuyNy6cLrNzUWd3SVCSJfleEVHv7CiMTF6Co0JPEOZen/4RLG0+b3St31i4ls/Y2xclxEeizULIhQJDgzetnnfFpO1NGghs3jXzgCXWWpd68vlLrzvXoYcHWAYqDdG1KGRi91/8u63XDkL7f4HpfcSQWxAGqPJYUYzXN+ui8Akt31gWpLexxaUsFdf4pwFli+HWgiYK5woKKIEhUDhf/lWnQSfKUPL7JP9yfBbYSE7tTFg3F3hpQj9GH0VVgRUm8vBschuuLVGse6i+b0C71aLgQPXZUlz2CgeGNWX0Ir0F/JsOQLMSXPmWZIfOt9Crk+05/Kfy1IiOWPOrbzGUsq86zh375kNP5P4NSy+6Fp6euU3T7H8Z616jpT6VADcBAr6vx2IBZ3N1MeP9iF3/VRKTtLM+7mebdIhS1tIv5Pm6sAX8HzOg0GqwBfwfM6DQa3y6oDSmVwPu0HUrPGt+hYQ2Dh2nhzZczW1GaNHM03D9jDnEI+b8BbsXJcRHos1CyIUCQ4M3rZ515AtUPC5NiA6f/hEsbT5veSTK8354X7iLffYtlFRtR3BxcKvk5CWfcjURVl39Z9mSxxPDpY8KQOyfMwguw5Y5j/lDiUtdV0z5x28M0tmd1GMHp4TzB6CEi0ix9Smm7+5J1U7yKlVAzsvXO7KKf60gKRO0HRW/OnEElkn5rgOXezrG4wXaEdwucpCIXQ1ziDbSbP32gLGWWthCyDPwXkpID+Wg7GCYxYluCgGhRvaTnWmjKJvRcs5JzNC09ahRW3EULYqoFX9N3/0z80DobL3B/BRyuSGkd9xzfgq2AxgCxTtgnvVJ5WTPNjHtf8e5rPjlLBXX+KcBZYvh1oImCucKCiiBIVA4X/5ei3pBOb2vXcEf8/ekKH40ULrrBiH14azElkn5rgOXezrG4wXaEdwucpCIXQ1ziDbSbP32gLGWWt0jstRwWSIxBt1rc0Zhziy5yyHO3Fm3OdiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLAEKNy8b4MVFuWodUXY2iCC4YDTssn7dQroiJG8clPrIbB7kQ6Qq00OR9QGiaYr95M4SEnMLdNSmIDqKkVBwpOrQlRJB2NbQ0nwLU5ca1DVzkK/iq25LOH5hrtm0/IJtRkV18pM/ixMk8R7FECsbWEfMKI33okxDyIF8Gp6yBJ7M+05/Kfy1IiGtqKljGTiXIaAYrohjakJydP4dbvwRdjcFJNmsXkNxUIolpLJpBc7arAF/B8zoNBqsAX8HzOg0GITtrQmYrIfw0kXctDvHtv+KW6nXeMtBoB/fLMe9Rz1W07VQBAgWaken/4RLG0+b32VZqY/4Aut+xclxEeizULIhQJDgzetnnJpKkEOHRhiCQUtjm4H3V7a8vlLrzvXoYcHWAYqDdG1Lqe6diBbEfPqs6M5C1a+Sr2SJymfl4YaPDhUDeP37aAK0nAbxIISngRbj4m3+j8Y4+05/Kfy1IiLdYUBl2PJT+xGUeFXPMqAWdP4dbvwRdjcFJNmsXkNxUIolpLJpBc7Ydq7aZb7ZSj7G9CwjVbaBeiFAkODN62ecx1mNpsNm9z5K0OUgVAdKpbda3NGYc4suDrL4w3lk5Z2YLmeeQIspd+Wus2ss/KZS+oKE2rSAbsbhmFbhfgEVtMHp4TzB6CEj6jrVo8gxhdBymdU62azCZYhoPnGJBJyp8pD1d3+p5hH9o8S6m8boDLv4jd5P0h4XX7Je4FWVdosiItcTlPTREqwBfwfM6DQarAF/B8zoNBiE7a0JmKyH8NJF3LQ7x7b/ilup13jLQaAf3yzHvUc9VtO1UAQIFmpHp/+ESxtPm99lWamP+ALrfsXJcRHos1CyIUCQ4M3rZ5/Y5WOD+BTftkFLY5uB91e2vL5S68716GHB1gGKg3RtS6nunYgWxHz6rOjOQtWvkq9kicpn5eGGjw4VA3j9+2gCtJwG8SCEp4J+i21R/QlunHCG4JpbEINbZOlNqS4Vtuk0aniCUDYoVFyYSStPRLxGZz1U539i6gEAY3ME0dpNVAEz+gKbFSnPC1Z9GdznuQc0LT1qFFbcRdTMsUAmITdv+Wg7GCYxYluCgGhRvaTnWhRPA7V2BUMBHQ4xc+PYNN3CdcQT2EUKf/nWHXXXMN/1JPVWyndeVbLkaKFcdd1Qesv+QQkOBWv3U2SNJrT7UqqeE9VgmQap+qfbO1bVlmnL33vp6BahPYKrbOfgvnmuZjFYQcFMMQ8edP4dbvwRdjcFJNmsXkNxUIolpLJpBc7Ydq7aZb7ZSj3NRKtla2Ipt/loOxgmMWJbgoBoUb2k51lCQ2/F9dMBj/DyiAc/aS3JC2KqBV/Td/5CTKM5mgrpgWtwuacnZIxFwnXEE9hFCn/51h111zDf9YvwIkDKhxQpc6v5OqGeepAf3yzHvUc9VgPzN7sPCkmLkOqJYFr5BoX8gal7F3XDX/ddCETtOdiOTHXC4hMPhQ+hcr/iMkcMjhKR5W4FZ0cTfZd+TG2KZ+NqrChfTRBZj0M+S2Ym1DprAWxVzFHHzqhCNgj3LT4qK7tm+wdYdDxmOnWBufivrT7SLH1Kabv7kPujzfeaRGerxi96uj2l70yh4jQ6iy//bTRqeIJQNihUXJhJK09EvEU/12m4dvbTuxOfyZN0VbP70ov9wJuEiOsOKzmTrNq2i1BCQVRFwuiWrAF/B8zoNBqsAX8HzOg0GR3tGZPTMnp3FhIS06cJApjLnKStWoyl0N22/1G56VOscpnVOtmswmfLEeP+YOdFlzQtPWoUVtxFhtkuaxf+5qD7EQQkuzTL44Ofq7qJbymAUkfucOmodMJPzDc50fGZ6P38bePlnHo/yH5CFmfd5hhruvIorwoCtUt+5EmI5stivOsKR3Zm4/93Cinbx8aurgnQX0H78YGxHNoCeOkM0Aow1Ij05FBKJN22/1G56VOt0ukWCTVgyODi7+q3APtNlzQtPWoUVtxF1MyxQCYhN2/5aDsYJjFiW4KAaFG9pOdaBLJ/JwXeFkkdDjFz49g03cJ1xBPYRQp/+dYdddcw3/Uk9VbKd15VsuRooVx13VB6y/5BCQ4Fa/dTZI0mtPtSqp4T1WCZBqn6H1EIbOLKbzJCNAZ/+hhk+wQs3DpSN7ta2Z4H4ldiAmPjGhm5C3cnbUeb6bLWnVcshcAqWa10qfryGUMdYPPORa5UPOLrTVC4MIPSHHxxdYLFyXER6LNQsiFAkODN62eemfdqJ+9HJH+n/4RLG0+b3kkyvN+eF+4h2dmICCnjc4OqakGWevwLoI1EVZd/WfZkscTw6WPCkDp1+vNt4/1SXqghmpazWpC1TmKFy0KV0linbRaUveWL9uRooVx13VB6y/5BCQ4Fa/dTZI0mtPtSqp4T1WCZBqn6uNK4NRv4VkFZrln8HXxp/Ad/VmyT4wn4QVb0QZpRy/j3P0lFkByBq32Xfkxtimfibv5ELSD/0Xh8dt+j2GNCLfrxOBRcfA040W/D3Rfdau8ZtSYs/q/9XjeoqeTqeOJGqfwMg2NIqyPwuuDZ7lsRTbRiTpji2bh5nsWhhHenhx2gGK6IY2pCcnT+HW78EXY3BSTZrF5DcVCKJaSyaQXO2qwBfwfM6DQarAF/B8zoNBiE7a0JmKyH8NJF3LQ7x7b/ilup13jLQaAf3yzHvUc9VtO1UAQIFmpHp/+ESxtPm99lWamP+ALrfsXJcRHos1CyIUCQ4M3rZ5y7iAthgB+D6kFLY5uB91e2vL5S68716GHB1gGKg3RtS6nunYgWxHz6rOjOQtWvkq9kicpn5eGGjw4VA3j9+2gCtJwG8SCEp4J+i21R/QlunWXvBWrd12HWY3pYTeU66D00aniCUDYoVFyYSStPRLxGZz1U539i6gEAY3ME0dpNVAEz+gKbFSnPC1Z9GdznuQc0LT1qFFbcRdTMsUAmITdv+Wg7GCYxYluCgGhRvaTnW8q1TlkotYIpHQ4xc+PYNN3CdcQT2EUKf/nWHXXXMN/1JPVWyndeVbLkaKFcdd1Qesv+QQkOBWv3U2SNJrT7UqqeE9VgmQap+z+BGPyBO0c2AC3cQh8RPYU0aniCUDYoVFyYSStPRLxGZz1U539i6gEAY3ME0dpNVAEz+gKbFSnOIUCQ4M3rZ5zHWY2mw2b3PkrQ5SBUB0qlt1rc0Zhziy4OsvjDeWTlnn8ubT1Txmhf5a6zayz8plL6goTatIBuxuGYVuF+ARW0wenhPMHoISPqOtWjyDGF0HKZ1TrZrMJkuPk6Jd2j28sFHK5IaR33HzOQ4aPzWQDzVkxHuTxVmUHMhAXj/TaxSaQ06j7InsMlum4fPFPln6tZsR+rJrKWJ7vaRCypl5BbQ2G+S1HsY+qVaNZkv99ZQ41PC7tF9wXBTHj/Yhd/1USk7SzPu5nm3SIUtbSL+T5urAF/B8zoNBqsAX8HzOg0Gt8uqA0plcD7tB1KzxrfoWENg4dp4c2XM1tRmjRzNNw/Yw5xCPm/AW7FyXER6LNQsiFAkODN62edeQLVDwuTYgOn/4RLG0+b3kkyvN+eF+4j8qdLmAQn74wcXCr5OQln3I1EVZd/WfZkscTw6WPCkDsnzMILsOWOY/5Q4lLXVdM+cdvDNLZndRjB6eE8weghItIsfUppu/uT3fx/dj6T0MaVaNZkv99ZQ54h5DiPFxNpTHj/Yhd/1USk7SzPu5nm3SIUtbSL+T5u3y6oDSmVwPsMOB0k78y2HkLWnNMzyj1xt1rc0Zhziy5yyHO3Fm3OdiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLL/BErabsJ/RuWodUXY2iCC4YDTssn7dQroiJG8clPrIbB7kQ6Qq00OR9QGiaYr95M4SEnMLdNSmGKOBYDX2OqOzC28yw363fb5iJ+9oNuUC2G7ZN5XmDvjWNLGR40QDRqwBfwfM6DQarAF/B8zoNBrfLqgNKZXA+7QdSs8a36FhDYOHaeHNlzNbUZo0czTcP2MOcQj5vwFuxclxEeizULIhQJDgzetnnXkC1Q8Lk2IDp/+ESxtPm95JMrzfnhfuIr24f+8eYfokHFwq+TkJZ9yNRFWXf1n2ZLHE8OljwpA7J8zCC7DljmP+UOJS11XTPnHbwzS2Z3UYwenhPMHoISLSLH1Kabv7kWL4cHtTXrNCEM7qMkh0hP7HiXTXpDeSBSWSfmuA5d7OsbjBdoR3C5ykIhdDXOINtJs/faAsZZa2ELIM/BeSkgP5aDsYJjFiW4KAaFG9pOdYa5jkKq+4+U80LT1qFFbcRQtiqgVf03f/9KHfbSUAQ8sFHK5IaR33HN+CrYDGALFO2Ce9UnlZM873POjFTjsLJTcJcU5eKO+fasNCLo38t8i0ZuvSDnbRNSRV5DwOLJx+5GihXHXdUHrL/kEJDgVr91NkjSa0+1KqnhPVYJkGqfv7nC3TS3XpxdBCY6v6skHt8ke2KPl4HgpitU7mHy07jbYgIeVvVnK6UEVemobB1E9LES0Fvvp5XijMkX+XqhlOrAF/B8zoNBqsAX8HzOg0GFpNKID/SWU4kS3h36a+Bs8BRUNOo17CKPd7QgVpWvdfp/+ESxtPm923WtzRmHOLLV53Z/ugYSx+IUCQ4M3rZ5zHWY2mw2b3Pj+5w5fFjRYvK/LBfKKF4rG5ah1RdjaIILhgNOyyft1CqiuY0OJLWGuQ6olgWvkGhuelAVlqrwJnvJ592p9qb1IRkDezQsIsiz++0bdgrPsVCf7bPORhAjGjjSgKWIoc8DY+Rz1bvPcipHoceW3S1839M+VEYr9sP719djzODW9mwuyNy6cLrNzUWd3SVCSJfleEVHv7CiMQOyI+iH+mTrmG2S5rF/7mol1fsTXfWjULgoBoUb2k51krJ30Bc/4qmZGTaeiYtBtY+B47ut+9jUhSR+5w6ah0wk/MNznR8ZnplL7fPoal+mhrPUeII9FCwNRZ3dJUJIl8irQwU0+iWNsXoKjQk8Q5l6f/hEsbT5vdK3fWLiWz9jbFyXER6LNQsiFAkODN62ecfKX6J3IUsyeNfOAJdZal3ry+UuvO9ehhwdYBioN0bUoZGL3X/y7rdcOQvt/gel9zxAj5LEZm7sJZGHjoG7RO0lrpJai8Qp+wpUxV+zh1WqxtjUc/CNVgwqwBfwfM6DQarAF/B8zoNBrfLqgNKZXA+7QdSs8a36FhDYOHaeHNlzNbUZo0czTcPpRsgMZ0y24KxclxEeizULIhQJDgzetnnXkC1Q8Lk2IDp/+ESxtPm95JMrzfnhfuIGoxdhgxPkoIHFwq+TkJZ9yNRFWXf1n2ZLHE8OljwpA7J8zCC7DljmP+UOJS11XTPnHbwzS2Z3UYwenhPMHoISLSLH1Kabv7kxChjsCuu0NmfVDYxD8fhXK1qTduIhNoE7dwsifSUPbyzWAQ/3kYfTquwFPfaUI8TX1gdpBV+ZNadSc7T/d0bNNXtSobZoBJ+vbCU0KMJPmdt1rc0Zhziy5yyHO3Fm3OdiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLhZ7KAwlMO95uWodUXY2iCC4YDTssn7dQroiJG8clPrIbB7kQ6Qq00OR9QGiaYr95M4SEnMLdNSmGJ4SQzSjrbrQlRJB2NbQ0nwLU5ca1DVzkK/iq25LOH5hrtm0/IJtRv9DHs082U65cnCGpN7c4J0fhidH9P7cC0zEVBbPgUDlM6q2OLO3hQKmszs5KMZD3q7AU99pQjxNfWB2kFX5k1iJ6O2RiM2bUMaYfIdwxBfBIAW4fqkEBTasAX8HzOg0GqwBfwfM6DQYhO2tCZish/DSRdy0O8e2/4pbqdd4y0GgH98sx71HPVbTtVAECBZqR6f/hEsbT5vfZVmpj/gC637FyXER6LNQsiFAkODN62eeKeQPXIAO+l5BS2ObgfdXtry+UuvO9ehhwdYBioN0bUup7p2IFsR8+qzozkLVr5KvZInKZ+Xhho8OFQN4/ftoArScBvEghKeCAbseIVQYplFQdRtIEfCNlO+pTXWYGe1L7BgBHj762+pQRV6ahsHUT0sRLQW++nleKMyRf5eqGU8gBgTyFcCPxpzepm8F4AjGIUCQ4M3rZ5zHWY2mw2b3PjYn89gvmTqlt1rc0Zhziy4OsvjDeWTlne0qTs5MkolWyJKLrmyXaC76goTatIBuxuGYVuF+ARW1J0eCqiVnlBs/91PnMrfIqd2zIgAVjQUbrG+UcU1nDyED/CB9UpZMVejovGsbVGH3TDqBN2ciPlorR2x1ECN+gUeb6bLWnVcshcAqWa10qfryGUMdYPPOREY2iKHOwCYidwTA5sRfKlLFyXER6LNQsiFAkODN62eemfdqJ+9HJH+n/4RLG0+b3kkyvN+eF+4jSeqUH0t7+0uqakGWevwLoI1EVZd/WfZkscTw6WPCkDp1+vNt4/1SXqghmpazWpC1TmKFy0KV0lpNuUZ67HDZ2uRooVx13VB6y/5BCQ4Fa/dTZI0mtPtSqp4T1WCZBqn7BgWWuQ73lHXQQmOr+rJB7fJHtij5eB4LU8SAxcfiFa9FBJW4BqzsXEHu/Bc00B7BTHj/Yhd/1USk7SzPu5nm3SIUtbSL+T5vhY0MlAUAvJrL72jrItS6vqwBfwfM6DQarAF/B8zoNBvSi/3Am4SI6Bm5oxiA4wvM3bb/UbnpU6xymdU62azCZ8sR4/5g50WXNC09ahRW3EXUzLFAJiE3b/loOxgmMWJbgoBoUb2k51v+NxA5PrUb8R0OMXPj2DTdwnXEE9hFCn/51h111zDf9ST1Vsp3XlWy5GihXHXdUHrL/kEJDgVr91NkjSa0+1KqnhPVYJkGqfqjI52pCIMUw9976egWoT2BirWKWJFnLryIi8fBpGfQFUeb6bLWnVcshcAqWa10qfryGUMdYPPOREY2iKHOwCYiPP5XxQ5TaNeCgGhRvaTnWSsnfQFz/iqaB2uN9YAUvlmG2S5rF/7moPsRBCS7NMvh3krpF6dSwsQfME36R50q2/CHbtgv69q7NQ3zdrXUmjyu/9h0hQa5OopdG4S0hGnYDcbrl94kZ29JpspW8rzzQqzozkLVr5KvZInKZ+Xhho8OFQN4/ftoArScBvEghKeD4FJLzzs+4txbOS3ktyYVlUfAZuVFgy0+DnagyOs6xFBu/0/H5t2OPTRqeIJQNihUXJhJK09EvEZnPVTnf2LqA0nCNKVrN6LH9cE/pk9K8j6sAX8HzOg0GNRZ3dJUJIl9Zq1Es/9GZkeuSt6Jx5dweqghmpazWpC2WsBQ8irzLvOCgGhRvaTnWSsnfQFz/iqaSit+zKEfB1mG2S5rF/7moPsRBCS7NMvgFSTXdLnjmf3kLXI7BXIjP/CHbtgv69q7NQ3zdrXUmj0asXb1TKI5HtCVEkHY1tDSfAtTlxrUNXOQr+Krbks4fmGu2bT8gm1E8K7XnPwt/Nn0uRWlUqOkC8C51EyuLCz8+nMfFBA1gD0lkn5rgOXezrG4wXaEdwucpCIXQ1ziDbSbP32gLGWWthCyDPwXkpID+Wg7GCYxYluCgGhRvaTnWmjKJvRcs5JzNC09ahRW3EULYqoFX9N3/q6+3OckZCoHBRyuSGkd9xzfgq2AxgCxTtgnvVJ5WTPNjHtf8e5rPjlLBXX+KcBZYvh1oImCucKCiiBIVA4X/5UvWAaEzP8AgK+wcPLFYQBBiZIKRwiyPfUVdDU0EUAW4q7AU99pQjxNfWB2kFX5k1p1JztP93Rs00NDBUNGmtPuU3h5j4cUQyGG2S5rF/7moD3+j2nkWlELgoBoUb2k51krJ30Bc/4qmC35tFlWgftdO/hLFkETsBBSR+5w6ah0wk/MNznR8Zno/fxt4+Wcej/IfkIWZ93mGPd7QgVpWvddIswJFy2hZAVghPpNXbg7z/5Q4lLXVdM+cdvDNLZndRjB6eE8weghItIsfUppu/uSWEsHeONxawU8ArUbbd69W2YPOTT2Vkqbzh7cDtCKQt7OFeMzcsLQ4Ueb6bLWnVcshcAqWa10qfnfxNdeXTCqyed8XkplgUvs5QEwzbcToWKsAX8HzOg0GnUnO0/3dGzTb7l1m8hJs+jLnKStWoyl0opdG4S0hGnbBvajzoUZuJohQJDgzetnnMdZjabDZvc+Nifz2C+ZOqW3WtzRmHOLLg6y+MN5ZOWfWrq2r88mQK7IkouubJdoLvqChNq0gG7G4ZhW4X4BFbUnR4KqJWeUGz/3U+cyt8ip3bMiABWNBRusb5RxTWcPIQP8IH1SlkxWsujZNZuwvTtMOoE3ZyI+WmaIZ1mwoOQfWsVLtnsnxK50/h1u/BF2NwUk2axeQ3FQiiWksmkFzth2rtplvtlKPQhAhJvMOCeixclxEeizULIhQJDgzetnnXkC1Q8Lk2IDp/+ESxtPm95JMrzfnhfuI4Jm+I7YJV20HFwq+TkJZ9yNRFWXf1n2ZLHE8OljwpA7J8zCC7DljmP+UOJS11XTPnHbwzS2Z3UYwenhPMHoISLSLH1Kabv7k3Z9bNpjgedaEy/lSTcwCT5ys+gsHCrjBSWSfmuA5d7OsbjBdoR3C5ykIhdDXOINtJs/faAsZZa3SOy1HBZIjEG3WtzRmHOLLnLIc7cWbc52IUCQ4M3rZ5zHWY2mw2b3Pj+5w5fFjRYv4vKgBVxUoSm5ah1RdjaIILhgNOyyft1CuiIkbxyU+shsHuRDpCrTQ5H1AaJpiv3kzhIScwt01KToA0lvN5ocDtCVEkHY1tDSfAtTlxrUNXOQr+Krbks4fmGu2bT8gm1H+m4k8YqbOBFycIak3tzgnR+GJ0f0/twIpl7mmaxrEqtPDRvsO2IPKTRqeIJQNihUXJhJK09EvEZnPVTnf2LqA2EdxOrcYzrBBeZCB7EbNh6sAX8HzOg0GqwBfwfM6DQZrlQ84utNULt3N0xcs5n3PBG5P3lbsa4JJBbEAao8lhV2KsLW2uAutYbZLmsX/uaiXV+xNd9aNQuCgGhRvaTnWSsnfQFz/iqZyS12AjFRqjD4Hju6372NSFJH7nDpqHTCT8w3OdHxmemUvt8+hqX6awUcrkhpHfcfM5Dho/NZAPNWTEe5PFWZQcyEBeP9NrFKzxjcBV9Yv6OLfc11iLavU9Vr33q/a1SKNG8FpwU3Ls00aniCUDYoVFyYSStPRLxGZz1U539i6gEAY3ME0dpNVAEz+gKbFSnPC1Z9GdznuQc0LT1qFFbcRdTMsUAmITdv+Wg7GCYxYluCgGhRvaTnWuB87sK/IYp1HQ4xc+PYNN3CdcQT2EUKf/nWHXXXMN/1JPVWyndeVbLkaKFcdd1Qesv+QQkOBWv3U2SNJrT7UqqeE9VgmQap+p9aw1GnXHbn33vp6BahPYNueTtgo8CuwlBFXpqGwdRPSxEtBb76eV4ozJF/l6oZTyAGBPIVwI/FDz1Ceu0LGUuCgGhRvaTnWSsnfQFz/iqaB2uN9YAUvlmG2S5rF/7moPsRBCS7NMviGt+ZjmqkbPQfME36R50q2/CHbtgv69q7NQ3zdrXUmjyu/9h0hQa5OopdG4S0hGnYDcbrl94kZ2/7Ck9gYKTuXqzozkLVr5KvZInKZ+Xhho8OFQN4/ftoArScBvEghKeCwj973rCfnGhbOS3ktyYVlUfAZuVFgy0+DnagyOs6xFHDYxfg2EeDUlBFXpqGwdRPSxEtBb76eV7PaWww+U+8fRCzVCBz9n2T9cE/pk9K8j6sAX8HzOg0GNRZ3dJUJIl9Zq1Es/9GZkeuSt6Jx5dweqghmpazWpC2WsBQ8irzLvOCgGhRvaTnWSsnfQFz/iqaSit+zKEfB1mG2S5rF/7moPsRBCS7NMvjbG2x6K/GfC3kLXI7BXIjP/CHbtgv69q7NQ3zdrXUmj0asXb1TKI5HtCVEkHY1tDSfAtTlxrUNXOQr+Krbks4fmGu2bT8gm1E8K7XnPwt/Nn0uRWlUqOkC8C51EyuLCz8Vak5AQwYm/Elkn5rgOXezrG4wXaEdwucpCIXQ1ziDbSbP32gLGWWthCyDPwXkpID+Wg7GCYxYluCgGhRvaTnWGuY5CqvuPlPNC09ahRW3EULYqoFX9N3/ht+nfFm8vaLBRyuSGkd9xzfgq2AxgCxTtgnvVJ5WTPO9zzoxU47CydbUZo0czTcPgVPX8XUxsx+bQlR5hEAFv8/91PnMrfIqd2zIgAVjQUbrG+UcU1nDyED/CB9UpZMVcmFYtBjqEpDuIdOdwKFoWzx8QXYCYKwdlBFXpqGwdRPSxEtBb76eV4ozJF/l6oZTqwBfwfM6DQarAF/B8zoNBhaTSiA/0llOJEt4d+mvgbPAUVDTqNewij3e0IFaVr3XJOHoWfN+uzNt1rc0Zhziy1ed2f7oGEsfiFAkODN62ecx1mNpsNm9z4/ucOXxY0WLc81XZl6EyqJuWodUXY2iCC4YDTssn7dQqormNDiS1hrkOqJYFr5BobnpQFZaq8CZ7yefdqfam9SEZA3s0LCLIuHLsP2gUn04h5H260IP3l5O4caJYNYnc/rXJvdzG+JCUx4/2IXf9VEpO0sz7uZ5t0iFLW0i/k+bt8uqA0plcD7DDgdJO/MthzFQGeLERO1c6f/hEsbT5vfZVmpj/gC637FyXER6LNQsiFAkODN62eczorAevNdC/pBS2ObgfdXtry+UuvO9ehhwdYBioN0bUup7p2IFsR8+qzozkLVr5KvZInKZ+Xhho8OFQN4/ftoArScBvEghKeDpWOnoWhedi1QdRtIEfCNlJpx4+xYGB3n27bySruL7WlHm+my1p1XLIXAKlmtdKn68hlDHWDzzkRGNoihzsAmIEEESlDrUGaSuvsUAi9qKIA==" /></form>
Anyone knows why happens ? I'm making something wrong ? Thanks a lot.You're using client state saving. When you use this option, the view and it's state is serialized, and base64 encoded so that it can be transmitted to the client.
Switch to server side if client side is causing you issues. -
Query on long running client import process
Hi Gurus,
I have few queries regarding the parameter PHYS_MEMSIZE. Let me brief about the SAP server configuration before I get into the actual problem.
We are running on ECC 6.0 on windows 2003, SP2 - 64 bit and DB is SQL 2005 with 16GB RAM and page file configured 22 GB.
As per the Zero Administration Memory management I have learnt as a rule of thumb, use SAP/DB = 70/30 and set the parameter PHYS_MEMSIZE to approximately 70% of the installed main memory. Please suggest should I change the parameter as described in zero administration memory guide? If so what are the precautions we should take care for changing memory parameters. Are there any major dependencies and known issues associated to this parameter?
Current PHYS_MEMSIZE parameter set to 512 MB.
Few days ago we had to perform the client copy using EXPORT / IMPORT method. Export process was normal and went well However the import process took almost 15 HRs to complete. Any clues what could be the possible reasons for long running client copy activity in SQL environment. I am suspecting the parameter PHY_MEMSIZE was configured to 512 MB which appears to be very low.
Please share your ideas and suggestions on this incase if anyone have ever experienced this sort of issue because we are going to perform a client copy again in next 10 days so i really need your inputs on this.
Thanks & Regards,
Vinod
Edited by: vinod kumar on Dec 5, 2009 9:24 AMHi Nagendra,
Thanks for your quick response.
Our production environment is running on ACtive/Active clustering like One central Instance and Dialog Instance. Database size is 116 GB with 1 data file and log file is 4.5 Gb which are shared in cluster.
As suggested by you if I need to modify the PHYS_MEMSIZE to 11 or 12 GB(70% of physical RAM). What are the precautions should I consider and I see there are many dependencies associated with this parameter as per the documentation of this parameter.
The standard values of the following parameters are calculated
According to PHYS_MEMSIZE
em/initial_size_MB = PHYS_MEMSIZE (extension by PHYS_MEMSIZE / 2)
rdisp/ROLL_SHM
rdisp/ROLL_MAXFS
rdisp/PG_SHM
rdisp/PG_MAXFS
Should I make the changes to both Central and dialog instance as well. Please clarify me,. Also are there any other parameters should i enhance or adjust to speedup the client copy process.
Many Thanks...
Thanks & Regards,
Vinod -
Interactive forms takes too long to load - sometimes crashes reader.
Hi Gurus,
I'm just wondering if anyone have this problem?
I just configured ADS and created a sample WD program to display an interactive form, the form is not complex, only 2 text fields and an image.
But when I deploy or run the program, the interactive form container hangs and take very long to process before displaying.
After I save the PDF file to a local drive, when I try to open it, it will take very long and sometimes crash my system.
Even when I click on "PDF Preview" to view the form in NWDS it take very long too.
At first I thought it could be due to my system and I open downloaded PDF file on other PCs, but the problem occurs too in those PCs.
Using Acrobat Reader 8.1.2, then downgraded to 8.1.1, still no avail.
Everytime I open the PDF or WD loads the PDF, when I check the Task Manager the process of AcroRdr32 will hog the system processes and use up the memory. I have no problems with other PDF files, only those generated by the WD application gives problems.
Someone hit the same problem? Any advise? Could it be the ACF or Adobe lifecycle issues?
Please help. Thanks for all answers.
Best Regards,
JansenHi Jansen,
If you are using Adobe Reader 8.1.* or above and activex controls in your form, you need to install the latest version of ACF and that will resolve the issue. And do remember to uninstall your old version of Adobe Reader first and then install Reader 8.1.* freshly and after installing it proceed with ACF installation. You have to follow the sequence.
For ACF installation you may read Note 766191 - Active Component Framework Installation.
ACF Installable:
https://sapmats-de.sap-ag.de/download/download.cgi?id=F9RUZ3Q7TERUBSMHSXWT3UMEM59IJYIPA931VQD32A1UNAKZ6B
Do reward points if found helpful.
Regards,
Arafat -
Activation of Adobe Form takes too long / XML problem?
Dear all,
I copied a standard form to customer name a year ago with life cycle designer version 7. The designer was updated to 8.
When making a change to the adobe form now, the activation takes more than 30 minutes in some cases. I copied the original form again and the activation takes less than 3 minutes.
When calling the XML Coding-tab within the designer it also takes very long and in some cases the system crashes ....
Has anyone an idea why this happens and if there is anything that i can do with changing attributes or other settings? I also tried to copy the copied form again. Same problem. Only when copying the standard form the activation is normal. I made too many changes so to start over again would take long. I would like to avoid this.
Thank you!
Regards
ViktoriaHi,
I could not solve this. Had to create the form again. Tried to copy most of the elements into it.
Now it works again and is activated within 1-2 minutes.
So no real solution...
Regards
Viktoria -
Web form taking too long to generate
Hello I have a Data Form issue,
My webform contains more than a 1000 CCenters in the page view.
When selecting any of the CCenters the Data Form generates perfectly, all accept one of them!!
Once a user selects that Center, it takes about 2.5 hours to generate.
Where can i start trouble shooting this issue? What do you think can cause this?Did you have supress missing block/data check-up on your form options? ------------->Yes
Can you try to pull the same data with excel add-in for this CC? -------------> Yes
What is the RAM on planning & webserver server hosts and OS information? ---------->dont have access to that info
What was the Essbase data cache setting ? ------------> 30024KB
Was there any security defined ont this user? --------------> I assign security..have all access..
Was there any other large sparse dimension in row/column ----------> Yes...
....The webform is massive!! The number of employees and projects for this particular cost center exceed more than anyother. Is there anyway to fix tihs issue or its just that there is too much data??? -
Hi,
I try to optimze this statement but i find no way.
SQL> select * from v$version;
BANNER
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
SQL> show parameter optimizer
NAME TYPE VALUE
optimizer_dynamic_sampling integer 1
optimizer_features_enable string 10.2.0.4
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 1
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
==============
Statement to optimize
==============
SELECT /*+ ALL_ROWS */
T28.CONFLICT_ID,
T28.LAST_UPD,
T28.CREATED,
T28.LAST_UPD_BY,
T28.CREATED_BY,
T28.MODIFICATION_NUM,
T28.ROW_ID,
T19.ACTL_START_DT,
T19.ACTL_END_DT,
T19.PLAN_START_DT,
T19.PLAN_END_DT,
T18.BL_CLASS_CD,
T28.PR_ORDER_ID,
T21.FORMAT_TYPE_CD,
T28.TARGET_OU_ADDR_ID,
T28.TODO_AFTER_DT,
T4.FST_NAME,
T4.LAST_NAME,
T28.ACTIVITY_UID,
T28.PROJ_ID,
T18.NAME,
T28.PREV_ACT_ID,
T28.PR_ATT_ID,
T2.STAGE_ID,
T25.SEBL_APPT_FLG,
T28.APPT_START_DT,
T27.NAME,
T28.TODO_ACTL_START_DT,
T28.CAL_DISP_FLG,
T28.APPT_REPT_FLG,
T28.APPT_REPT_END_DT,
T28.SRA_SR_ID,
T28.ALARM_FLAG,
T28.SRA_DEFECT_ID,
T28.OPTY_ID,
T28.NAME,
T28.TODO_PLAN_START_DT,
T28.TODO_ACTL_END_DT,
T28.PAR_EVT_ID,
T28.SRC_ID,
T28.COST_CURCY_CD,
T28.TARGET_PER_ID,
T28.APPT_REPT_APPT_ID,
T28.APPT_REPT_REPL_CD,
T28.TODO_PLAN_END_DT,
T28.PCT_COMPLETE,
T28.DONE_FLG,
T28.BILLABLE_FLG,
T28.AGREEMENT_ID,
T28.APPT_ALARM_TM_MIN,
T28.TARGET_OU_ID,
T13.LOC,
T13.X_NAME,
T28.APPT_DURATION_MIN,
T25.PIM_APPT_FLG,
T25.UNSPRTD_REPT_FLG,
T2.ACTIVE_FLG,
T2.SRM_REQUEST_ID,
T28.TEMPLATE_FLG,
T28.ASSET_ID,
T28.PR_SYMPTOM_CD,
T5.FST_NAME,
T5.LAST_NAME,
T28.OWNER_LOGIN,
T28.OWNER_PER_ID,
T28.WORK_TM_MIN,
T9.OWN_INST_ID,
T9.INTEGRATION_ID,
T18.PROJ_NUM,
T13.BASE_CURCY_CD,
T18.BL_CURCY_CD,
T27.CURCY_CD,
T24.SRV_REGN_ID,
T28.X_NUMBER_DAYS,
T1.X_DAILY_WORK_TIME,
T28.X_CALC_DURATION_FLG,
T8.STD_SRV_CAL_ID,
T3.ATTRIB_09,
T24.SRV_REGN_ID,
T10.AGREE_ID,
T16.PAR_AGREE_ID,
T7.AGREE_NUM,
T7.TARGET_OU_ID,
T14.X_NAME,
T28.X_TEAM_LEAD_FLG,
T28.X_SUB_INV_FLG,
T1.X_LUNCH_TIME,
T26.PR_PER_ADDR_ID,
T12.CITY,
T7.INTEGRATION_ID,
T28.X_PERFORMING_BU_ID,
T7.CON_PER_ID,
T10.PAR_SR_ID,
T10.CST_OU_ID,
T28.X_WORK_TM,
T16.AGREE_ITEM_ID,
T5.EMAIL_ADDR,
T13.X_MOBILE_FLG,
T28.X_ACTUAL_AST_DUR,
T28.X_RECERTIF_TO_AWI_FLG,
T28.X_ASSET_GROUP_FLG,
T28.X_RECURRING_FLG,
T28.X_REPORT_DUE_IN_DAYS,
T28.X_REPORT_NEEDED_FLG,
T28.X_REVIEW_NEEDED_FLG,
T10.SRV_REGN_ID,
T28.X_ADDITIONAL_ROLE,
T28.CAL_TYPE_CD,
T28.EVT_STAT_CD,
T28.APPT_REPT_TYPE,
T28.TODO_CD,
T7.STAT_CD,
T28.X_SUB_TYPE,
T12.COUNTRY,
T14.CUST_STAT_CD,
T11.ROW_STATUS,
T22.LOGIN,
T23.ROW_ID,
T15.WORK_PH_NUM,
T2.ROW_ID,
T2.PAR_ROW_ID,
T2.MODIFICATION_NUM,
T2.CREATED_BY,
T2.LAST_UPD_BY,
T2.CREATED,
T2.LAST_UPD,
T2.CONFLICT_ID,
T2.PAR_ROW_ID,
T21.ROW_ID,
T21.PAR_ROW_ID,
T21.MODIFICATION_NUM,
T21.CREATED_BY,
T21.LAST_UPD_BY,
T21.CREATED,
T21.LAST_UPD,
T21.CONFLICT_ID,
T21.PAR_ROW_ID,
T9.ROW_ID,
T9.PAR_ROW_ID,
T9.MODIFICATION_NUM,
T9.CREATED_BY,
T9.LAST_UPD_BY,
T9.CREATED,
T9.LAST_UPD,
T9.CONFLICT_ID,
T9.PAR_ROW_ID,
T25.ROW_ID,
T25.PAR_ROW_ID,
T25.MODIFICATION_NUM,
T25.CREATED_BY,
T25.LAST_UPD_BY,
T25.CREATED,
T25.LAST_UPD,
T25.CONFLICT_ID,
T25.PAR_ROW_ID,
T11.ROW_ID,
T23.ROW_ID,
T20.ROW_ID
FROM
SIEBEL.S_SCHED_CAL T1,
SIEBEL.S_EVT_MKTG T2,
SIEBEL.S_ORG_EXT_X T3,
SIEBEL.S_CONTACT T4,
SIEBEL.S_CONTACT T5,
SIEBEL.S_LST_OF_VAL T6,
SIEBEL.S_DOC_AGREE T7,
SIEBEL.S_SRV_REGN T8,
SIEBEL.S_EVT_ACT_SS T9,
SIEBEL.S_SRV_REQ T10,
SIEBEL.S_ACT_EMP T11,
SIEBEL.S_ADDR_PER T12,
SIEBEL.S_ORG_EXT T13,
SIEBEL.S_ORG_EXT T14,
SIEBEL.S_CONTACT T15,
SIEBEL.S_ENTLMNT T16,
SIEBEL.S_POSTN T17,
SIEBEL.S_PROJ T18,
SIEBEL.S_PROJITEM T19,
SIEBEL.S_PARTY T20,
SIEBEL.S_EVT_MAIL T21,
SIEBEL.S_USER T22,
SIEBEL.S_PARTY T23,
SIEBEL.S_EMP_PER T24,
SIEBEL.S_EVT_CAL T25,
SIEBEL.S_CONTACT T26,
SIEBEL.S_OPTY T27,
SIEBEL.S_EVT_ACT T28
WHERE
T28.PROJ_ITEM_ID = T19.ROW_ID (+) AND
T28.OWNER_PER_ID = T5.PAR_ROW_ID (+) AND
T28.OWNER_PER_ID = T24.PAR_ROW_ID (+) AND
T10.AGREE_ID = T16.ROW_ID (+) AND
T28.AGREEMENT_ID = T7.ROW_ID (+) AND
T7.TARGET_OU_ID = T14.PAR_ROW_ID (+) AND
T28.OWNER_PER_ID = T26.ROW_ID (+) AND
T26.PR_PER_ADDR_ID = T12.ROW_ID (+) AND
T28.TARGET_OU_ID = T13.PAR_ROW_ID (+) AND
T28.OPTY_ID = T27.ROW_ID (+) AND
T28.TARGET_PER_ID = T4.PAR_ROW_ID (+) AND
T28.SRA_SR_ID = T10.ROW_ID (+) AND
T28.PROJ_ID = T18.ROW_ID (+) AND
T24.SRV_REGN_ID = T8.ROW_ID (+) AND
T8.STD_SRV_CAL_ID = T1.ROW_ID (+) AND
T5.PR_HELD_POSTN_ID = T17.ROW_ID (+) AND
T17.OU_ID = T3.PAR_ROW_ID (+) AND
T28.ROW_ID = T2.PAR_ROW_ID (+) AND
T28.ROW_ID = T21.PAR_ROW_ID (+) AND
T28.ROW_ID = T9.PAR_ROW_ID (+) AND
T28.ROW_ID = T25.PAR_ROW_ID (+) AND
T28.CAL_TYPE_CD = T6.NAME (+) AND T6.TYPE (+) = 'ACTIVITY_DISPLAY_CODE' AND T6.LANG_ID (+) = 'ENU' AND
T28.OWNER_PER_ID = T11.EMP_ID (+) AND T28.ROW_ID = T11.ACTIVITY_ID (+) AND
T28.OWNER_PER_ID = T23.ROW_ID (+) AND
T28.OWNER_PER_ID = T22.PAR_ROW_ID (+) AND
T28.TARGET_PER_ID = T20.ROW_ID (+) AND
T28.TARGET_PER_ID = T15.PAR_ROW_ID (+) AND
((T28.APPT_REPT_FLG = 'Y' AND (T28.APPT_REPT_END_DT IS NULL OR T28.APPT_REPT_END_DT >= TO_DATE('01/22/2010 00:00:00','MM/DD/YYYY HH24:MI:SS')) AND
T28.TODO_PLAN_START_DT < TO_DATE('01/28/2010 02:00:00','MM/DD/YYYY HH24:MI:SS') OR
T28.TODO_PLAN_START_DT >= TO_DATE('01/22/2010 02:00:00','MM/DD/YYYY HH24:MI:SS') AND
T28.TODO_PLAN_START_DT < TO_DATE('01/28/2010 02:00:00','MM/DD/YYYY HH24:MI:SS') AND
T28.APPT_REPT_FLG = 'N' OR T28.TODO_PLAN_START_DT < TO_DATE('01/22/2010 02:00:00','MM/DD/YYYY HH24:MI:SS') AND
T28.TODO_PLAN_END_DT >= TO_DATE('01/22/2010 02:00:00','MM/DD/YYYY HH24:MI:SS') AND T28.APPT_REPT_FLG = 'N') AND
(T28.TEMPLATE_FLG != 'Y' AND T28.TEMPLATE_FLG != 'P' OR T28.TEMPLATE_FLG IS NULL))
ORDER BY
T6.VAL, T28.TODO_PLAN_START_DT, T28.TODO_PLAN_END_DT;
========
Last analyzed
========
TABLE_NAME NUM_ROWS LAST_ANALYZED
S_OPTY
S_EVT_ACT_SS
S_PROJITEM
S_PARTY 454296 21/01/2010 11:35:25
S_EVT_ACT 376973 21/01/2010 03:15:34
S_ACT_EMP 368667 21/01/2010 03:25:26
S_ORG_EXT 236749 21/01/2010 11:24:11
S_SRV_REQ 211987 21/01/2010 03:05:40
S_CONTACT 203236 21/01/2010 11:36:30
S_EVT_CAL 202947 21/01/2010 03:15:17
S_EVT_MKTG 202233 21/01/2010 03:15:11
S_ENTLMNT 200500 21/01/2010 13:40:07
S_LST_OF_VAL 87300 21/01/2010 03:12:21
S_DOC_AGREE 40545 21/01/2010 13:40:20
S_EVT_MAIL 9133 21/01/2010 03:15:15
S_EMP_PER 3160 21/01/2010 11:37:05
S_POSTN 2342 21/01/2010 11:35:42
S_ADDR_PER 2228 21/01/2010 03:24:23
=========
Execution plan
=========
10:47:30 SQL> 10:47:30 SQL> 10:47:30 2 Plan hash value: 261232047
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 53393 | 109M| | 41224 (1)| 00:08:15 |
| 1 | SORT ORDER BY | | 53393 | 109M| 278M| 41224 (1)| 00:08:15 |
|* 2 | HASH JOIN RIGHT OUTER | | 53393 | 109M| | 17215 (2)| 00:03:27 |
| 3 | TABLE ACCESS FULL | S_ADDR_PER | 2228 | 57928 | | 17 (0)| 00:00:01 |
| 4 | NESTED LOOPS OUTER | | 53393 | 108M| | 17197 (2)| 00:03:27 |
| 5 | NESTED LOOPS OUTER | | 53393 | 107M| | 16168 (2)| 00:03:15 |
| 6 | NESTED LOOPS OUTER | | 53393 | 105M| | 15451 (3)| 00:03:06 |
| 7 | NESTED LOOPS OUTER | | 53393 | 103M| | 14936 (3)| 00:03:00 |
|* 8 | HASH JOIN RIGHT OUTER | | 53393 | 101M| | 13908 (3)| 00:02:47 |
| 9 | TABLE ACCESS FULL | S_ORG_EXT_X | 825 | 12375 | | 7 (0)| 00:00:01 |
|* 10 | HASH JOIN RIGHT OUTER | | 53393 | 101M| | 13900 (3)| 00:02:47 |
| 11 | VIEW | index$_join$_017 | 2342 | 46840 | | 3 (0)| 00:00:01 |
|* 12 | HASH JOIN | | | | | | |
| 13 | INDEX FAST FULL SCAN | S_POSTN_F3 | 2342 | 46840 | | 1 (0)| 00:00:01 |
| 14 | INDEX FAST FULL SCAN | S_POSTN_P1 | 2342 | 46840 | | 1 (0)| 00:00:01 |
| 15 | NESTED LOOPS OUTER | | 53393 | 100M| | 13895 (3)| 00:02:47 |
| 16 | NESTED LOOPS OUTER | | 53393 | 98M| | 12867 (3)| 00:02:35 |
| 17 | NESTED LOOPS OUTER | | 53393 | 97M| | 12352 (3)| 00:02:29 |
| 18 | NESTED LOOPS OUTER | | 53393 | 95M| | 11283 (3)| 00:02:16 |
|* 19 | HASH JOIN RIGHT OUTER | | 53393 | 94M| | 10769 (3)| 00:02:10 |
| 20 | TABLE ACCESS FULL | S_SCHED_CAL | 80 | 1120 | | 3 (0)| 00:00:01 |
|* 21 | HASH JOIN RIGHT OUTER | | 53393 | 93M| | 10765 (3)| 00:02:10 |
| 22 | TABLE ACCESS FULL | S_EVT_MAIL | 9133 | 535K| | 198 (1)| 00:00:03 |
| 23 | NESTED LOOPS OUTER | | 53393 | 90M| | 10566 (3)| 00:02:07 |
| 24 | NESTED LOOPS OUTER | | 53393 | 87M| | 8963 (4)| 00:01:48 |
|* 25 | HASH JOIN RIGHT OUTER | | 53393 | 83M| | 7360 (5)| 00:01:29 |
| 26 | VIEW | index$_join$_022 | 2177 | 41363 | | 3 (0)| 00:00:01 |
|* 27 | HASH JOIN | | | | | | |
| 28 | INDEX FAST FULL SCAN | S_USER_M1 | 2177 | 41363 | | 1 (0)| 00:00:01 |
| 29 | INDEX FAST FULL SCAN | S_USER_U2 | 2177 | 41363 | | 1 (0)| 00:00:01 |
|* 30 | HASH JOIN RIGHT OUTER | | 53393 | 82M| | 7355 (5)| 00:01:29 |
| 31 | TABLE ACCESS FULL | S_SRV_REGN | 146 | 2482 | | 3 (0)| 00:00:01 |
|* 32 | HASH JOIN RIGHT OUTER | | 53393 | 82M| | 7351 (5)| 00:01:29 |
| 33 | TABLE ACCESS FULL | S_EMP_PER | 3160 | 47400 | | 23 (5)| 00:00:01 |
| 34 | NESTED LOOPS OUTER | | 53393 | 81M| | 7328 (5)| 00:01:28 |
| 35 | NESTED LOOPS OUTER | | 53393 | 79M| | 6338 (5)| 00:01:17 |
| 36 | NESTED LOOPS OUTER | | 53393 | 76M| | 5973 (6)| 00:01:12 |
| 37 | NESTED LOOPS OUTER | | 53393 | 75M| | 5232 (6)| 00:01:03 |
|* 38 | HASH JOIN RIGHT OUTER | | 53393 | 73M| | 3689 (9)| 00:00:45 |
| 39 | TABLE ACCESS FULL | S_EVT_ACT_SS | 82 | 34850 | | 2 (0)| 00:00:01 |
| 40 | NESTED LOOPS OUTER | | 53393 | 51M| | 3686 (9)| 00:00:45 |
| 41 | NESTED LOOPS OUTER | | 53393 | 49M| | 3685 (9)| 00:00:45 |
| 42 | NESTED LOOPS OUTER | | 53393 | 35M| | 3684 (9)| 00:00:45 |
|* 43 | HASH JOIN RIGHT OUTER | | 53393 | 32M| | 3683 (9)| 00:00:45 |
| 44 | TABLE ACCESS BY INDEX ROWID | S_LST_OF_VAL | 10 | 480 | | 1 (0)| 00:00:01 |
|* 45 | INDEX RANGE SCAN | S_LST_OF_VAL_U1 | 10 | | | 1 (0)| 00:00:01 |
|* 46 | TABLE ACCESS BY INDEX ROWID | S_EVT_ACT | 53393 | 29M| | 3681 (9)| 00:00:45 |
| 47 | BITMAP CONVERSION TO ROWIDS | | | | | | |
| 48 | BITMAP OR | | | | | | |
| 49 | BITMAP CONVERSION FROM ROWIDS| | | | | | |
| 50 | SORT ORDER BY | | | | 9896K| | |
|* 51 | INDEX RANGE SCAN | S_EVT_ACT_M8 | | | | 12 (0)| 00:00:01 |
| 52 | BITMAP CONVERSION FROM ROWIDS| | | | | | |
| 53 | SORT ORDER BY | | | | | | |
|* 54 | INDEX RANGE SCAN | S_EVT_ACT_M8 | | | | 1 (0)| 00:00:01 |
| 55 | BITMAP CONVERSION FROM ROWIDS| | | | | | |
| 56 | SORT ORDER BY | | | | 9960K| | |
|* 57 | INDEX RANGE SCAN | S_EVT_ACT_M8 | | | | 12 (0)| 00:00:01 |
| 58 | TABLE ACCESS BY INDEX ROWID | S_PROJITEM | 1 | 68 | | 1 (0)| 00:00:01 |
|* 59 | INDEX UNIQUE SCAN | S_PROJITEM_P1 | 1 | | | 1 (0)| 00:00:01 |
| 60 | TABLE ACCESS BY INDEX ROWID | S_OPTY | 1 | 276 | | 1 (0)| 00:00:01 |
|* 61 | INDEX UNIQUE SCAN | S_OPTY_P1 | 1 | | | 1 (0)| 00:00:01 |
| 62 | TABLE ACCESS BY INDEX ROWID | S_PROJ | 1 | 44 | | 1 (0)| 00:00:01 |
|* 63 | INDEX UNIQUE SCAN | S_PROJ_P1 | 1 | | | 1 (0)| 00:00:01 |
| 64 | TABLE ACCESS BY INDEX ROWID | S_ACT_EMP | 1 | 31 | | 1 (0)| 00:00:01 |
|* 65 | INDEX RANGE SCAN | S_ACT_EMP_U1 | 1 | | | 1 (0)| 00:00:01 |
| 66 | TABLE ACCESS BY INDEX ROWID | S_SRV_REQ | 1 | 37 | | 1 (0)| 00:00:01 |
|* 67 | INDEX UNIQUE SCAN | S_SRV_REQ_P1 | 1 | | | 1 (0)| 00:00:01 |
| 68 | TABLE ACCESS BY INDEX ROWID | S_DOC_AGREE | 1 | 55 | | 1 (0)| 00:00:01 |
|* 69 | INDEX UNIQUE SCAN | S_DOC_AGREE_P1 | 1 | | | 1 (0)| 00:00:01 |
| 70 | TABLE ACCESS BY INDEX ROWID | S_ENTLMNT | 1 | 29 | | 1 (0)| 00:00:01 |
|* 71 | INDEX UNIQUE SCAN | S_ENTLMNT_P1 | 1 | | | 1 (0)| 00:00:01 |
| 72 | TABLE ACCESS BY INDEX ROWID | S_EVT_CAL | 1 | 67 | | 1 (0)| 00:00:01 |
|* 73 | INDEX RANGE SCAN | S_EVT_CAL_U1 | 1 | | | 1 (0)| 00:00:01 |
| 74 | TABLE ACCESS BY INDEX ROWID | S_EVT_MKTG | 1 | 72 | | 1 (0)| 00:00:01 |
|* 75 | INDEX RANGE SCAN | S_EVT_MKTG_U1 | 1 | | | 1 (0)| 00:00:01 |
|* 76 | INDEX UNIQUE SCAN | S_PARTY_P1 | 1 | 11 | | 1 (0)| 00:00:01 |
| 77 | TABLE ACCESS BY INDEX ROWID | S_ORG_EXT | 1 | 47 | | 1 (0)| 00:00:01 |
|* 78 | INDEX UNIQUE SCAN | S_ORG_EXT_U3 | 1 | | | 1 (0)| 00:00:01 |
|* 79 | INDEX UNIQUE SCAN | S_PARTY_P1 | 1 | 11 | | 1 (0)| 00:00:01 |
| 80 | TABLE ACCESS BY INDEX ROWID | S_CONTACT | 1 | 39 | | 1 (0)| 00:00:01 |
|* 81 | INDEX UNIQUE SCAN | S_CONTACT_U2 | 1 | | | 1 (0)| 00:00:01 |
| 82 | TABLE ACCESS BY INDEX ROWID | S_CONTACT | 1 | 31 | | 1 (0)| 00:00:01 |
|* 83 | INDEX UNIQUE SCAN | S_CONTACT_U2 | 1 | | | 1 (0)| 00:00:01 |
| 84 | TABLE ACCESS BY INDEX ROWID | S_CONTACT | 1 | 34 | | 1 (0)| 00:00:01 |
|* 85 | INDEX UNIQUE SCAN | S_CONTACT_U2 | 1 | | | 1 (0)| 00:00:01 |
| 86 | TABLE ACCESS BY INDEX ROWID | S_ORG_EXT | 1 | 47 | | 1 (0)| 00:00:01 |
|* 87 | INDEX UNIQUE SCAN | S_ORG_EXT_U3 | 1 | | | 1 (0)| 00:00:01 |
| 88 | TABLE ACCESS BY INDEX ROWID | S_CONTACT | 1 | 11 | | 1 (0)| 00:00:01 |
|* 89 | INDEX UNIQUE SCAN | S_CONTACT_P1 | 1 | | | 1 (0)| 00:00:01 |
I work with SIEBEL ERP and i can't calculate statistics on table where lines < 30.
Thanks for your helpoptimizer_index_cost_adj integer 1This init parameter looks rather to be unconventional value (default is 100). Did you try to leave the default value ?
i can't calculate statistics on table where lines < 30.What do you mean ? No statistics gathered on tables with less than 30 rows ?
In that case you may want to test to set optimizer_dynamic_sampling init parameter to the default value (=2) where you have 1.
Nicolas. -
Hi,
I've a join over two tables with about 150 columns. This was never a problem.
Now I have two MAXDB databases from two customers (7.6.06.03). In one of them my statement says "output columns too long", running the same application on the second db works fine.
Any ideas?
I guess there is a problem with maximum record length of about 8000 bytes. Can this be extended in any way?
Any help will be appreciated.>
Christoph Schwerdtner wrote:
> Thank you all for your help.
>
> In fact I tried even further. I fixed the current problem by reducing the amount of some columns and also I did a redesign of to user functions. Output was 1000 chars, i reduced it to 200. Now it works fine.
> I realized that SQLStudio has more restrictions than my own ODBC connection from inside my application.
> Statements that doesn't work with SQLStudio are running without problems from my app.
> Strange things are going on...
Hmm.. this sounds a bit odd.
Do you use prepared statements in your application?
Concerning the change of limitations, just compare the documentation
[Restrictions for 7.6|http://maxdb.sap.com/doc/7_6/f6/069940ccd42a54e10000000a1550b0/content.htm]
>>> Internal length of a table row: 8088 bytes
[Restrictions for 7.7|http://maxdb.sap.com/doc/7_7/45/470c541fb54e2de10000000a114a6b/content.htm]
>>> Internal length of a table row: 32767 Bytes
@Lars Breddemann: do you suggest to move to 7.7? Are there any problems? How do i the update?
Yes, absolutely.
7.7 has been out for years now and it's pretty stable.
To perform the upgrade, I'd go for simply using SDBSETUP.
Alternatively you may use SDBUPD (textbased interface).
Ok, now you've got a project for the early days in 2011
Have a nice holiday season!
Lars -
In forms how to cancel long running process or query in 10g
We have application which is hosted on 10g AS. Some forms has lot of processing to be done and sometimes user wants to cancel the processing in between maybe because he wants to change some value and refire processing.
Based on the search on net 'Esc' key was used in earlier version of forms to function as User requested Cancel operation. How can same be done in 10g. Do we have to do anything in fmrweb.res for this. Is there some setting to be done in forms or in AS for this functionality.
Does this matter on whether JInitiator is used or JPI is used for running the application?
Edited by: suresh_mathew on May 21, 2013 1:36 AMHi,
Exit can be used to cancel query mode i.e. in case you go into query mode by Exit you can cancel query mode. Suppose you went into query mode and you have fired query which will take some time to fetch how can I abort it.
In earlier version of form there was 'Cancel' facility wherein if triggered it used to fire an error message 'Ora--01013 user requested cancel of current operation"
With this facility you can abort any query which is executing or any long running process which forms is currently performing.
fmrweb.res would have entry like
27 : 0 : "Esc" : 1001 : "Cancel"
The above entry I picked from OPN
Java Function Numbers And Key Mappings For Forms Deployed Over Web [ID 66534.1]
Unfortunately this is not working for us even if I put this in frmweb.res of 10g AS
Basically I want ability to Abort/Cancel a long running process be it query execution or standard process triggered in the form.
Any advise or help is highly appreciated.
Suresh -
Hi All,
Can someone pls help me in finding how long will it take to execute the below query.
I have a query that is taking too long to execute.
SELECT CPU_TIME/1000000/60 CPUTIME, ELAPSED_TIME/1000000/60 ELAPSEDTIME, PROGRAM_LINE#, OPTIMIZER_COST,
USER_IO_WAIT_TIME/1000000/60 IOWAITTIME, DISK_READS, DIRECT_WRITES, BUFFER_GETS, to_char(Q.SQL_FULLTEXT), OPTIMIZER_MODE, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS, FETCHES, EXECUTIONS, END_OF_FETCH_COUNT, USERS_EXECUTING, LOADS,
FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, APPLICATION_WAIT_TIME, CONCURRENCY_WAIT_TIME, CLUSTER_WAIT_TIME,
PLSQL_EXEC_TIME, JAVA_EXEC_TIME, ROWS_PROCESSED, COMMAND_TYPE, PARSING_USER_ID, PARSING_SCHEMA_ID, PARSING_SCHEMA_NAME, OBJECT_STATUS
FROM v$session S, v$sqlarea Q
WHERE S.SQL_ADDRESS = Q.ADDRESS
AND s.username = 'SCHEMA_NAME'
AND s.osuser = 'OSUSER_NAME';I can see CPU_TIME increasing. Is there any way that I can find how lmuch more time will it take for the query to execute.
The query creates a table that has a sub query and inner query.
rgds
saazhttp://www.gplivna.eu/papers/v$session_longops.htm
There is a dynamic performance view v$session_longops that is populated for many long running operations in Oracle. The primary criterion for any operation to appear in v$session_longops is to run more than 6 seconds. Although this isn’t the only criterion as well as not all operations that take more than 6 seconds are shown in this view. For example one can find hash joins in v$session_longops, but you won’t find there nested loop joins even if they are longer than 6 seconds and are joining very big data sets. -
"Event Viewer cannot open the event Log or Custom view. Verify that the Event log service is running or query is too long. The instance name passed was not recognized as valid by a WMI data provider(4201)"
This error keeps cropping up now and again on most of our domain controllers (OS-2008 AND 2008R2)...Usually a restart fixes the issue however the issue repeats and security logs don't generate.
Any advice on how to fix this issue permanently would be greatly appreciated.Please see this: https://social.technet.microsoft.com/Forums/windows/en-US/95987ca3-a1b2-4da6-95b7-d825d06cdac7/error-code-4201-the-instance-name-passed-was-not-recognized-as-valid-by-a-wmi-data-provider?forum=w7itprosecurity
You can also try rebuilding the WMI repository: http://blogs.technet.com/b/askperf/archive/2009/04/13/wmi-rebuilding-the-wmi-repository.aspx
This posting is provided AS IS with no warranties or guarantees , and confers no rights.
Ahmed MALEK
My Website Link
My Linkedin Profile
My MVP Profile -
Long running query--- included steps given by Randolf
Hi,
I have done my best to follow Randolf instruction word-by-word and hope to get solution for my
problem soon. Sometime back I have posted a thread on this problem then got busy with other
stuff and was not able to follow it. Here I am again with same issue.
here is link for my previous post
long running query in database 10gHere is backgroud of my requriemment.
I am working on Oracle forms 10g which is using package given below. We want to display client information
with order count basd on different status like Pending, Error, back Order, expedited, std shipping.
Output will look something like.
client name pending error backorder expedited std shipping
ABC 24 0 674 6789 78900
XYZ 35 673 5700 0 798274
.There are total 40 clients . The long running query are expedited and std shipping.
When i run package from Oracle Form Developer it takes 3 mintues to run but when I run same query in our application using forms
(which uses Oracle Application Server) it takes around 1 hour, which is completly unacceptable.
User wants it be done in less than 1 mintue.
I have tried combining Pending,error and backorder queries together but as far as I know it will not
work in Oracle Form as we need a place holder for each status.
Please dont think it is Forms related question, it is a Performance problem.
PACKAGE BODY ORDER_COUNT_PKG IS
PROCEDURE post_query IS
BEGIN
BEGIN
SELECT count(*)
INTO :ORDER_STATUS.PENDING
FROM orders o
WHERE o.status = 'P'
AND (parent_order_id is null
OR (order_type='G'
AND parent_order_id=original_order_number))
AND o.client = :ORDER_STATUS.CLIENT_NUMBER;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
SELECT count(*)
INTO :ORDER_STATUS.ERROR
FROM orders o
WHERE o.status = 'E'
AND (parent_order_id is null
OR (order_type='G'
AND parent_order_id=original_order_number))
AND o.client = :ORDER_STATUS.CLIENT_NUMBER;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
SELECT count(*)
INTO :ORDER_STATUS.BACK_ORDER
FROM orders o
WHERE o.status = 'B'
AND (parent_order_id is null
OR (order_type='G'
AND parent_order_id=original_order_number))
AND o.client = :ORDER_STATUS.CLIENT_NUMBER;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
SELECT count(*)
INTO :ORDER_STATUS.EXPEDITE
FROM orders o,shipment_type_methods stm
WHERE o.status in ('A','U')
AND (o.parent_order_id is null
OR (o.order_type = 'G'
AND o.parent_order_id = o.original_order_number))
AND o.client = stm.client
AND o.shipment_class_code = stm.shipment_class_code
AND (nvl(o.priority,'1') = '2'
OR stm.surcharge_amount <> 0)
AND o.client = :ORDER_STATUS.CLIENT_NUMBER
GROUP BY o.client;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
SELECT count(*)
INTO :ORDER_STATUS.STD_SHIP
FROM orders o,shipment_type_methods stm
WHERE o.status in ('A','U')
AND (o.parent_order_id is null
OR (o.order_type = 'G'
AND o.parent_order_id = o.original_order_number))
AND nvl(o.priority,'1') <> '2'
AND o.client = stm.client
AND o.shipment_class_code = stm.shipment_class_code
AND stm.surcharge_amount = 0
AND o.client = :ORDER_STATUS.CLIENT_NUMBER
GROUP BY o.client;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END post_query;
END ORDER_COUNT_PKG;one of the query which is taking long time is
SELECT count(*)
FROM orders o,shipment_type_methods stm
WHERE o.status in ('A','U')
AND (o.parent_order_id is null
OR (o.order_type = 'G'
AND o.parent_order_id = o.original_order_number))
AND nvl(o.priority,'1') <> '2'
AND o.client = stm.client
AND o.shipment_class_code = stm.shipment_class_code
AND stm.surcharge_amount = 0
AND o.client = :CLIENT_NUMBER
GROUP BY o.clientThe version of the database is 10.2.1.0.2
SQL> alter session force parallel dml;These are the parameters relevant to the optimizer:
SQL> show parameter user_dump_dest
NAME TYPE VALUE
user_dump_dest string /u01/app/oracle/admin/mcgemqa/
udump
SQL> show parameter optimizer
NAME TYPE VALUE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.4
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
SQL> show parameter db_file_multi
NAME TYPE VALUE
db_file_multiblock_read_count integer 16
SQL> show parameter db_block_size
NAME TYPE VALUE
db_block_size integer 8192
SQL> show parameter cursor_sharing
NAME TYPE VALUE
cursor_sharing string EXACTHere is the output of EXPLAIN PLAN:
SQL> explain plan for
2 SELECT count(*)
3 FROM orders o,shipment_type_methods stm
4 WHERE o.status in ('A','U')
5 AND (o.parent_order_id is null
6 OR (o.order_type = 'G'
7 AND o.parent_order_id = o.original_order_number))
8 AND nvl(o.priority,'1') <> '2'
9 AND o.client = stm.client
10 AND o.shipment_class_code = stm.shipment_class_code
11 AND stm.surcharge_amount = 0
12 AND o.client = :CLIENT_NUMBER
13 GROUP BY o.client
14 /
Explained.
Elapsed: 00:00:00.12
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 559278019
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 35 | 46764 (3)| 00:09:22 |
| 1 | SORT GROUP BY NOSORT | | 1 | 35 | 46764 (3)| 00:09:22 |
|* 2 | TABLE ACCESS BY INDEX ROWID | ORDERS | 175K| 3431K| 25979 (3)| 00:05:12 |
| 3 | NESTED LOOPS | | 25300 | 864K| 46764 (3)| 00:09:22 |
|* 4 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 15 | 2 (0)| 00:00
|* 5 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 2 | | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 176K| | 2371 (8)| 00:00:29 |
Predicate Information (identified by operation id):
2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
4 - filter("STM"."SURCHARGE_AMOUNT"=0)
5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
6 - access("O"."CLIENT"=:CLIENT_NUMBER)
filter("O"."STATUS"='A' OR "O"."STATUS"='U')
24 rows selected.
Elapsed: 00:00:00.86
SQL> rollback;
Rollback complete.
Elapsed: 00:00:00.07Here is the output of SQL*Plus AUTOTRACE including the TIMING information:
SQL> SELECT count(*)
2 FROM orders o,shipment_type_methods stm
3 WHERE o.status in ('A','U')
4 AND (o.parent_order_id is null
5 OR (o.order_type = 'G'
6 AND o.parent_order_id = o.original_order_number))
7 AND nvl(o.priority,'1') <> '2'
8 AND o.client = stm.client
9 AND o.shipment_class_code = stm.shipment_class_code
10 AND stm.surcharge_amount = 0
11 AND o.client = :CLIENT_NUMBER
12 GROUP BY o.client
13 /
Elapsed: 00:00:03.09
Execution Plan
Plan hash value: 559278019
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 35 | 46764 (3)| 00:09:22 |
| 1 | SORT GROUP BY NOSORT | | 1 | 35 | 46764 (3)| 00:09:22 |
|* 2 | TABLE ACCESS BY INDEX ROWID | ORDERS | 175K| 3431K| 25979 (3)| 00:05:12 |
| 3 | NESTED LOOPS | | 25300 | 864K| 46764 (3)| 00:09:22 |
|* 4 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 15 | 2 (0)| 00:00
|* 5 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 2 | | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 176K| | 2371 (8)| 00:00:29 |
Predicate Information (identified by operation id):
2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
4 - filter("STM"."SURCHARGE_AMOUNT"=0)
5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
6 - access("O"."CLIENT"=:CLIENT_NUMBER)
filter("O"."STATUS"='A' OR "O"."STATUS"='U')
Statistics
55 recursive calls
0 db block gets
7045 consistent gets
0 physical reads
0 redo size
206 bytes sent via SQL*Net to client
238 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> disconnect
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> The TKPROF output for this statement looks like the following:
SELECT count(*)
FROM orders o,shipment_type_methods stm
WHERE o.status in ('A','U')
AND (o.parent_order_id is null
OR (o.order_type = 'G'
AND o.parent_order_id = o.original_order_number))
AND nvl(o.priority,'1') <> '2'
AND o.client = stm.client
AND o.shipment_class_code = stm.shipment_class_code
AND stm.surcharge_amount = 0
AND o.client = :CLIENT_NUMBER
GROUP BY o.client
call count cpu elapsed disk query current rows
Parse 1 0.01 0.00 0 0 0 0
Execute 1 0.04 0.04 0 0 0 0
Fetch 2 2.96 2.91 0 7039 0 1
total 4 3.01 2.95 0 7039 0 1
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 95
Rows Row Source Operation
1 SORT GROUP BY NOSORT (cr=7039 pr=0 pw=0 time=2913701 us)
91 TABLE ACCESS BY INDEX ROWID ORDERS (cr=7039 pr=0 pw=0 time=261997906 us)
93 NESTED LOOPS (cr=6976 pr=0 pw=0 time=20740 us)
1 TABLE ACCESS BY INDEX ROWID SHIPMENT_TYPE_METHODS (cr=2 pr=0 pw=0 time=208 us)
3 INDEX RANGE SCAN U_SHIPMENT_TYPE_METHODS (cr=1 pr=0 pw=0 time=88 us)(object id 81957)
91 INDEX RANGE SCAN ORDERS_ORDER_DATE (cr=6974 pr=0 pw=0 time=70 us)(object id 81547)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.02 0.02
********************************************************************************The DBMS_XPLAN.DISPLAY_CURSOR output:
SQL> variable CLIENT_NUMBER varchar2(20)
SQL> exec :CLIENT_NUMBER := '14'
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.06
SQL> SELECT /*+ gather_plan_statistics */ count(*)
2 FROM orders o,shipment_type_methods stm
3 WHERE o.status in ('A','U')
4 AND (o.parent_order_id is null
5 OR (o.order_type = 'G'
6 AND o.parent_order_id = o.original_order_number))
7 AND nvl(o.priority,'1') <> '2'
8 AND o.client = stm.client
9 AND o.shipment_class_code = stm.shipment_class_code
10 AND stm.surcharge_amount = 0
11 AND o.client = :CLIENT_NUMBER
12 GROUP BY o.client
13 /
COUNT(*)
91
Elapsed: 00:00:02.85
SQL> set termout on
SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID 4nfj368y8w6a3, child number 0
SELECT /*+ gather_plan_statistics */ count(*) FROM orders o,shipment_type_methods stm WHERE
o.status in ('A','U') AND (o.parent_order_id is null OR (o.order_type = 'G'
AND o.parent_order_id = o.original_order_number)) AND nvl(o.priority,'1') <> '2' AND
o.client = stm.client AND o.shipment_class_code = stm.shipment_class_code AND
stm.surcharge_amount = 0 AND o.client = :CLIENT_NUMBER GROUP BY o.client
Plan hash value: 559278019
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
| 1 | SORT GROUP BY NOSORT | | 1 | 1 | 1 |00:00:02.63 | 7039 |
|* 2 | TABLE ACCESS BY INDEX ROWID | ORDERS | 1 | 175K| 91 |00:03:56.87 | 7039 |
| 3 | NESTED LOOPS | | 1 | 25300 | 93 |00:00:00.02 | 6976 |
|* 4 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 1 | 1 |00:00:00.01 | 2 |
|* 5 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 1 | 2 | 3 |00:00:00.01 | 1 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 1 | 176K| 91 |00:00:00.01 | 6974 |
Predicate Information (identified by operation id):
2 - filter((("O"."PARENT_ORDER_ID" IS NULL OR ("O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER"))) AND NVL("O"."PRIORITY",'1')<>'
"O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE"))
4 - filter("STM"."SURCHARGE_AMOUNT"=0)
5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
6 - access("O"."CLIENT"=:CLIENT_NUMBER)
filter(("O"."STATUS"='A' OR "O"."STATUS"='U'))
32 rows selected.
Elapsed: 00:00:01.30
SQL> I'm looking forward for suggestions how to improve the performance of this statement.
Thanks
SandyPlease find explain plan for No hint
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 559278019
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 35 | 46764 (3)| 00:09:22 |
| 1 | SORT GROUP BY NOSORT | | 1 | 35 | 46764 (3)| 00:09:22 |
|* 2 | TABLE ACCESS BY INDEX ROWID | ORDERS | 175K| 3431K| 25979 (3)| 00:05:12 |
| 3 | NESTED LOOPS | | 25300 | 864K| 46764 (3)| 00:09:22 |
|* 4 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 15 | 2 (0)| 00:00
|* 5 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 2 | | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 176K| | 2371 (8)| 00:00:29 |
Predicate Information (identified by operation id):
2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
4 - filter("STM"."SURCHARGE_AMOUNT"=0)
5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
6 - access("O"."CLIENT"=:CLIENT_NUMBER)
filter("O"."STATUS"='A' OR "O"."STATUS"='U')
24 rows selected.
Elapsed: 00:00:00.86Explain Plan for Parallel Hint
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 559278019
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 35 | 46764 (3)| 00:09:22 |
| 1 | SORT GROUP BY NOSORT | | 1 | 35 | 46764 (3)| 00:09:22 |
|* 2 | TABLE ACCESS BY INDEX ROWID | ORDERS | 175K| 3431K| 25979 (3)| 00:05:12 |
| 3 | NESTED LOOPS | | 25300 | 864K| 46764 (3)| 00:09:22 |
|* 4 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 15 | 2 (0)| 00:00
|* 5 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 2 | | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 176K| | 2371 (8)| 00:00:29 |
Predicate Information (identified by operation id):
2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
4 - filter("STM"."SURCHARGE_AMOUNT"=0)
5 - access("STM"."CLIENT"='14')
6 - access("O"."CLIENT"='14')
filter("O"."STATUS"='A' OR "O"."STATUS"='U')
24 rows selected.
Elapsed: 00:00:08.92Explain Plan for USE_Hash hint
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 1465232248
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 35 | 46786 (3)| 00:09:22 |
| 1 | SORT GROUP BY NOSORT | | 1 | 35 | 46786 (3)| 00:09:22 |
|* 2 | HASH JOIN | | 25300 | 864K| 46786 (3)| 00:09:22 |
|* 3 | TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS | 1 | 15 | 2 (0)| 00:00:0
|* 4 | INDEX RANGE SCAN | U_SHIPMENT_TYPE_METHODS | 2 | | 1 (0)| 00:00:01 |
|* 5 | TABLE ACCESS BY INDEX ROWID| ORDERS | 175K| 3431K| 46763 (3)| 00:09:22 |
|* 6 | INDEX RANGE SCAN | ORDERS_ORDER_DATE | 176K| | 4268 (8)| 00:00:52 |
Predicate Information (identified by operation id):
2 - access("O"."CLIENT"="STM"."CLIENT" AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_COD
E")
3 - filter("STM"."SURCHARGE_AMOUNT"=0)
4 - access("STM"."CLIENT"='14')
5 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
"O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
6 - access("O"."CLIENT"='14')
filter("O"."STATUS"='A' OR "O"."STATUS"='U')
25 rows selected.
Elapsed: 00:00:01.09
SQL> Thanks
Sandy -
Loop with WMI Query taking too long, need to break out if time exceeds 5 min
I've written a script that will loop through a list of computers and run a WMI query using the Win32_Product class. I am pinging the host first to ensure its online which eliminates wasting time but the issue I'm facing is that some of the machines
are online but the WMI Query takes too long and holds up the script. I wanted to add a timeout to the WMI query so if a particular host will not respond to the query or gets stuck the loop will break out an go to the next computer object. I've added my code
below:
$Computers = @()
$computers += "BES10-BH"
$computers += "AUTSUP-VSUS"
$computers += "AppClus06-BH"
$computers += "Aut01-BH"
$computers += "AutLH-VSUS"
$computers += "AW-MGMT01-VSUS"
$computers += "BAMBOOAGT-VSUS"
## Loop through all computer objects found in $Computes Array
$JavaInfo = @()
FOREACH($Client in $Computers)
## Gather WMI installed Software info from each client queried
Clear-Host
Write-Host "Querying: $Client" -foregroundcolor "yellow"
$HostCount++
$Online = (test-connection -ComputerName ADRAP-VSUS -Count 1 -Quiet)
IF($Online -eq "True")
$ColItem = Get-WmiObject -Class Win32_Product -ComputerName $Client -ErrorAction SilentlyContinue | `
Where {(($_.name -match "Java") -and (!($_.name -match "Auto|Visual")))} | `
Select-Object Name,Version
FOREACH($Item in $ColItem)
## Write Host Name as variable
$HostNm = ($Client).ToUpper()
## Query Named Version of Java, if Java is not installed fill variable as "No Java Installed
$JavaVerName = $Item.name
IF([string]::IsNullOrEmpty($JavaVerName))
{$JavaVerName = "No Installed"}
## Query Version of Java, if Java is not installed fill variable as "No Java Installed
$JavaVer = $Item.Version
IF([string]::IsNullOrEmpty($JavaVer))
{$JavaVer = "Not Installed"}
## Create new object to organize Host,JavaName & Version
$JavaProp = New-Object -TypeName PSObject -Property @{
"HostName" = $HostNm
"JavaVerName" = $JavaVerName
"JavaVer" = $JavaVer
## Add new object data "JavaProp" from loop into array "JavaInfo"
$JavaInfo += $JavaProp
Else
{Write-Host "$Client didn't respond, Skipping..." -foregroundcolor "Red"}Let me give you a bigger picture of the script. I've included the emailed table the script produces and the actual script. While running the script certain hosts get hung up when running the WMI query which causes the script to never complete. From one of
the posts I was able to use the Get-WmiCustom function to add a timeout 0f 15 seconds and then the script will continue if it is stuck. The problem is when a host is skipped I am not aware of it because my script is not reporting the server that timed out.
If you look at ZLBH02-VSUS highlighted in the report you can see that its reporting not installed when it should say something to the effect query hung.
How can I add a variable in the function that will be available outside the function that I can key off of to differentiate between a host that does not have the software installed and one that failed to query?
Script Output:
Script:
## Name: JavaReportWMI.ps1 ##
## Requires: Power Shell 2.0 ##
## Created: January 06, 2015 ##
<##> $Version = "Script Version: 1.0" <##>
<##> $LastUpdate = "Updated: January 06, 2015" <##>
## Configure Compliant Java Versions Below ##
<##> $java6 = "6.0.430" <##>
<##> $javaSEDEVKit6 = "1.6.0.430" <##>
<##> $java7 = "7.0.710" <##>
<##> $javaSEDEVKit7 = "1.7.0.710" <##>
<##> $java8 = "8.0.250" <##>
<##> $javaSEDDEVKit8 = "1.8.0.250" <##>
## Import Active Directory Module
Import-Module ActiveDirectory
$Timeout = "False"
Function Get-WmiCustom([string]$computername,[string]$namespace,[string]$class,[int]$timeout=15)
$ConnectionOptions = new-object System.Management.ConnectionOptions
$EnumerationOptions = new-object System.Management.EnumerationOptions
$timeoutseconds = new-timespan -seconds $timeout
$EnumerationOptions.set_timeout($timeoutseconds)
$assembledpath = "\\" + $computername + "\" + $namespace
#write-host $assembledpath -foregroundcolor yellow
$Scope = new-object System.Management.ManagementScope $assembledpath, $ConnectionOptions
$Scope.Connect()
$querystring = "SELECT * FROM " + $class
#write-host $querystring
$query = new-object System.Management.ObjectQuery $querystring
$searcher = new-object System.Management.ManagementObjectSearcher
$searcher.set_options($EnumerationOptions)
$searcher.Query = $querystring
$searcher.Scope = $Scope
trap { $_ } $result = $searcher.get()
return $result
## Log time for duration clock
$Start = Get-Date
$StartTime = "StartTime: " + $Start.ToShortTimeString()
## Environmental Variables
$QueryMode = $Args #parameter for either "Desktops" / "Servers"
$CsvPath = "C:\Scripts\JavaReport\JavaReport" + "$QueryMode" + ".csv"
$Date = Get-Date
$Domain = $env:UserDomain
$HostName = ($env:ComputerName).ToLower()
## Regional Settings
## Used for testing
IF ($Domain -eq "abc") {$Region = "US"; $SMTPDomain = "abc.com"; `
$ToAddress = "[email protected]"; `
$ReplyDomain = "abc.com"; $smtpServer = "relay.abc.com"}
## Control Variables
$FromAddress = "JavaReport@$Hostname.na.$SMTPDomain"
$EmailSubject = "Java Report - $Region"
$computers = @()
$computers += "ZLBH02-VSUS"
$computers += "AUTSUP-VSUS"
$computers += "AppClus06-BH"
$computers += "Aut01-BH"
$computers += "AutLH-VSUS"
$computers += "AW-MGMT01-VSUS"
$computers += "BAMBOOAGT-VSUS"
#>
## Loop through all computer objects found in $Computes Array
$JavaInfo = @()
FOREACH($Client in $Computers)
## Gather WMI installed Software info from each client queried
Clear-Host
Write-Host "Querying: $Client" -foregroundcolor "yellow"
$HostCount++
$Online = (test-connection -ComputerName ADRAP-VSUS -Count 1 -Quiet)
IF($Online -eq "True")
$ColItem = Get-WmiCustom -Class Win32_Product -Namespace "root\cimv2" -ComputerName $Client -ErrorAction SilentlyContinue | `
Where {(($_.name -match "Java") -and (!($_.name -match "Auto|Visual")))} | `
Select-Object Name,Version
FOREACH($Item in $ColItem)
## Write Host Name as variable
$HostNm = ($Client).ToUpper()
## Query Named Version of Java, if Java is not installed fill variable as "No Java Installed
$JavaVerName = $Item.name
IF([string]::IsNullOrEmpty($JavaVerName))
{$JavaVerName = "No Installed"}
## Query Version of Java, if Java is not installed fill variable as "No Java Installed
$JavaVer = $Item.Version
IF([string]::IsNullOrEmpty($JavaVer))
{$JavaVer = "Not Installed"}
## Create new object to organize Host,JavaName & Version
$JavaProp = New-Object -TypeName PSObject -Property @{
"HostName" = $HostNm
"JavaVerName" = $JavaVerName
"JavaVer" = $JavaVer
## Add new object data "JavaProp" from loop into array "JavaInfo"
$JavaInfo += $JavaProp
Else
{Write-Host "$Client didn't respond, Skipping..." -foregroundcolor "Red"}
#Write-Host "Host Query Count: $LoopCount" -foregroundcolor "yellow"
## Sort Array
Write-Host "Starting Array" -foregroundcolor "yellow"
$JavaInfoSorted = $JavaInfo | Sort-object HostName
Write-Host "Starting Export CSV" -foregroundcolor "yellow"
## Export CSV file
$JavaInfoSorted | export-csv -NoType $CsvPath -Force
$Att = new-object Net.Mail.Attachment($CsvPath)
Write-Host "Building Table Header" -foregroundcolor "yellow"
## Table Header
$list = "<table border=1><font size=1.5 face=verdana color=black>"
$list += "<tr><th><b>Host Name</b></th><th><b>Java Ver Name</b></th><th><b>Ver Number</b></th></tr>"
Write-Host "Building HTML Table" -foregroundcolor "yellow"
FOREACH($Item in $JavaInfoSorted)
Write-Host "$UniqueHost" -foregroundcolor "Yellow"
## Alternate Table Shading between Green and White
IF($LoopCount++ % 2 -eq 0)
{$BK = "bgcolor='E5F5D7'"}
ELSE
{$BK = "bgcolor='FFFFFF'"}
## Set Variables
$JVer = $Item.JavaVer
$Jname = $Item.JavaVerName
## Change Non-Compliant Java Versions to red in table
IF((($jVer -like "6.0*") -and (!($jVer -match $java6))) -or `
(($jName -like "*Java(TM) SE Development Kit 6*") -and (!($jName -match $javaSEDEVKit6))) -or `
(($jVer -like "7.0*") -and (!($jVer -match $java7))) -or `
(($jName -like "*Java SE Development Kit 7*") -and (!($jName -match $javaSEDEVKit7))))
$list += "<tr $BK style='color: #ff0000'>"
## Compliant Java version are displayed in black
ELSE
$list += "<tr $BK style='color: #000000'>"
## Populate table with host name variable
$list += "<td>" + $Item."HostName" + "</td>"
## Populate table with Java Version Name variable
$list += "<td>" + $Item."JavaVerName" + "</td>"
## Populate table with Java Versionvariable
$list += "<td>" + $Item."JavaVer" + "</td>"
$list += "</tr>"
$list += "</table></font>"
$End = Get-Date
$EndTime = "EndTime: " + $End.ToShortTimeString()
#$TimeDiff = New-TimeSpan -Start $StartTime -End $EndTime
$StartTime
$EndTime
$TimeDiff
Write-Host "Total Hosts:$HostCount"
## Email Function
Function SendEmail
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = ($FromAddress)
$msg.ReplyTo =($ToAddress)
$msg.To.Add($ToAddress)
#$msg.BCC.Add($BCCAddress)
$msg.Attachments.Add($Att)
$msg.Subject = ($EmailSubject)
$msg.Body = $Body
$msg.IsBodyHTML = $true
$smtp.Send($msg)
$msg.Dispose()
## Email Body
$Body = $Body + @"
<html><body><font face="verdana" size="2.5" color="black">
<p><b>Java Report - $Region</b></p>
<p>$list</p>
</html></body></font>
<html><body><font face="verdana" size="1.0" color="red">
<p><b> Note: Items in red do not have the latest version of Java installed. Please open a ticket to have an engineer address the issue.</b></p>
</html></body></font>
<html><body><font face="verdana" size="2.5" color="black">
<p>
$StartTime<br>
$EndTime<br>
$TimeDiff<br>
$HostCount<br>
</p>
<p>
Run date: $Date<br>
$Version<br>
$LastUpdate<br>
</p>
</html></body></font>
## Send Email
SendEmail -
Streamline query ? Taking too long
First I wanted to say thanks to all in this forum, its been a huge help learning sql.
Hoping someone can take a look at this query. It works but it takes a very long time to run.
maybe there is a way to streamline it. right now its using one project number, but typically I would put in 60 or 70 project numbers here..
select proj_id from project_master where status='A' and project_number IN(
'502998'
)))c,
if someone knows a better way to run this please let me know , I will try anything. currently it takes about an hour to run it for 1 project number.
select * from(
select
b.doc_folder_id,c.project_number,b.name,a.doc_file_name,a.rec_update_date,a.rec_create_date,d.rnk
from
select doc_id,proj_id, doc_file_name,rec_create_date,rec_update_date from document_master where doc_status ='A'
and doc_file_extension like 'pdf' or doc_file_extension like 'jpg'
or doc_file_extension like 'xls' or doc_file_extension like 'doc'
or doc_file_extension like 'txt' or doc_file_extension like 'png'
or doc_file_extension like 'tif' or doc_file_extension like 'ppt'
or doc_file_extension like 'pps' or doc_file_extension like 'msg'
) a,
(select * from doc_folder_master
where upper(name) LIKE '%DAILY REPORTS%'
OR upper(name) LIKE '%MANPOWER REPORTS%'
OR upper(name) LIKE '%SITE PURCHASES%'
OR upper(name) LIKE '%SETE EHS ISSUES%'
OR upper(name) LIKE '%TURNOVER PACKAGES%'
OR upper(name) LIKE '11.04.01 PAD%'
OR upper(name) LIKE '%EDSR%'
OR upper(name) LIKE '%COQ WORKFLOW%'
and status='A'
) b,
(select proj_id,project_number from project_master where proj_id IN (
select proj_id from project_master where status='A' and project_number IN(
'502998'
)))c,
(select child_doc_type,
parent_doc_id,child_doc_id,to_char(rec_create_date,'mm/dd/yyyy hh24:mi:ss'),
row_number() over (partition by parent_doc_id,child_doc_type order by rec_create_date desc) rnk
from document_relations)d
where a.proj_id=b.proj_id
and c.proj_id=a.proj_id
and c.proj_id=b.proj_id
and d.parent_doc_id=b.doc_folder_id
and a.doc_id=d.child_doc_id)
where rnk <3
thanks for any assistance.
Edited by: Jay on Dec 29, 2010 12:08 PMHi,
Please, you might want to read this post:
When your query takes too long ...
Providing further information is key to obtaining quality answers.
Now on to the actual subject:
It seems you want some sort of top-n query. Depending on the cardinality and the data that you have, you probably would want to prune the rows from the DOCUMENT_RELATIONS table early, before joining to the other tables. This way you can avoid the database wasting effort of looking up matches on the other tables to only then discard those joined rows. You can do that by pushing the WHERE rnk < 3 predicate into the inline view.
SELECT *
FROM (SELECT b.doc_folder_id, c.project_number, b.name, a.doc_file_name, a.rec_update_date, a.rec_create_date, d.rnk
FROM (SELECT doc_id, proj_id, doc_file_name, rec_create_date, rec_update_date
FROM document_master
WHERE doc_status = 'A'
AND doc_file_extension IN ('pdf', 'jpg', 'xls', 'doc', 'txt', 'png', 'tif', 'ppt', 'pps', 'msg')) a,
(SELECT *
FROM doc_folder_master
WHERE upper(NAME) LIKE '%DAILY REPORTS%'
OR upper(NAME) LIKE '%MANPOWER REPORTS%'
OR upper(NAME) LIKE '%SITE PURCHASES%'
OR upper(NAME) LIKE '%SETE EHS ISSUES%'
OR upper(NAME) LIKE '%TURNOVER PACKAGES%'
OR upper(NAME) LIKE '11.04.01 PAD%'
OR upper(NAME) LIKE '%EDSR%'
OR upper(NAME) LIKE '%COQ WORKFLOW%'
AND status = 'A') b,
(SELECT proj_id, project_number
FROM project_master
WHERE proj_id IN (SELECT proj_id
FROM project_master
WHERE status = 'A'
AND project_number IN ('502998'))) c,
(SELECT *
FROM (SELECT child_doc_type,
parent_doc_id,
child_doc_id,
to_char(rec_create_date, 'mm/dd/yyyy hh24:mi:ss'),
row_number() over(PARTITION BY parent_doc_id, child_doc_type ORDER BY rec_create_date DESC) rnk
FROM document_relations)
WHERE rnk < 3) d
WHERE a.proj_id = b.proj_id
AND c.proj_id = a.proj_id
AND c.proj_id = b.proj_id
AND d.parent_doc_id = b.doc_folder_id
AND a.doc_id = d.child_doc_id)Like Toon said, if not needed you should avoid the 2nd scan in the PROJECT_MASTER table.
Perhaps you should check the possibility of creating a function-based index on the doc_folder_master table, with the upper(NAME) expression, to improve those Like conditions.
Docs on Function-based Indexes:
http://download.oracle.com/docs/cd/E11882_01/server.112/e16638/data_acc.htm#PFGRF94785
Maybe you are looking for
-
Error while creating Positions in Simple Maintenance
Hi All, While creating a new postion in OM through PPOPM_OLD, I am getting this error " Occupational Identifier(Occid) ___ is invalid" and am not able to create a position. Please help me SAP HCM Learner
-
Mac mini (late 2014 ) 2.6ghz for photoshop..
hi friends, i have plan to upgrade a system for basic photo editing in photoshop cs5 or 6... regarding this , i must need speedy open and save the photo files.. i am tired of using old pentium dual core processers in my old p.c. but i came to know th
-
What is Field Rendering?
I read it in the Motion Manual pg 1156, But didn't really understand it. It said something like; with it turned on it renders individual fields instead of whole frames. I know with it off my project plays a lot faster, but what does it mean about ind
-
Adobe does not show all titles on CD
We put training modules on cd's and they open with Flash. All of a sudden i can see all the tiltles on the cd if i explore it but when Adobe opens it i only have one title in the slide title bar on the left. I thought there was an edit location opti
-
Captivate 7 SWF fails, flash export fails
Hi there, I have recently installed Captivate 7 and an urgent project for a client that is generating bad SWF files and also fails on export to Flash 6 or CC. HTML5 published files works fine OSX Maverics, MBA 2012 (8 GB / 512GB). Installed on machin