How to cache out the parse plan up front?
Hi,
Basically I have 2 questions:
(1) When you run a query the first time ,it usually takes longer time because Oracle will parse it to get execution plan first. But afterwards, because of caching , it runs faster. How do I set up so that this step can be skipped when user runs first time?
In other words, any standard method to get the query execution plan planed out first and cache it in the Oracle.
(2) Is this cache per session? Can I keep it always in the cache and not cycled out? Also if per session, can I possibly make it per database wise?
Thanks in advance!
Acton
1) Perhaps, perhaps not. There are too many variables that can influence execution time. Usually (not always), the parse phase consumes very little of the reponse time. However, I have seen this phase be the #1 contributor to poor response time. If you trace the query, execute it repeatedly, you will be able to see the differences in response time for each phase using tkprof.
You can reuse an execution plan if there is an identical statement in the shared_pool (with certain exceptions if cursor_sharing is set or you are using stored outlines). If the statement does not exist in the shared_pool, it must be 'hard' parsed. Let's assume that neither cursor_sharing nor stored outlines are in use. There is NO way to get around parsing, you must parse to get an execution plan.
Oracle has put a lot of work into making the parse phase efficient. One component of this is how they manage the shared pool. While a large shared pool sounds like you would be able to improve performance by caching all the execution plans, it is usually a bad idea. Let frequently used plans stay in the pool, let one-time or seldom used plans age out. Too many cached statements mean that the session has to search through a lot of 'similar' statements to finally say "Nope, not there, let's parse this statement".
2) You can always keep something in the cache by pinning it. Again, this is not always a good idea (though there are exceptions). Statements and plans are always cached in the shared pool, which are available to all sessions.
Justin - did you mean that the first execution runs slower because the data is NOT cached?
Regards,
Dan Fink
Similar Messages
-
How to find out the corresponding planning area for a given infosource?
Hi,
We are in the process of implementing BW-APO in our project.
We have got couple of standard BI infosources and now the task is to identify the corresponding planning area for a given infosource..
Let' say for 0APO_DP_ORDERANALYTICS_1
what is the planning area?
Any help is appreciatable!!!
Regards,
Swapna.GHi Swapna.
You are at risk of putting the cart before the horse here. As Sujay asks, it is important to understand whether you are using the standard provided planning areas. Even then there are a number of different planning areas that may be deployed depending upon the required planning functionality. There then may be the case where standard planning areas are not being used (this is very often the case) which means that your InfoSources might only be good as a template.
All this makes your question virtually impossible to answer.
Maybe if you gave some background as to the status of your project we could help more.
From your question it looks as if you are working on APO-BW outbound (i.e., reporting after the planning has taken place) which would suggest that the design and build of APO-BW inbound and the planning functionality has taken place. Is this the case?
If so, then you need to touch base with your APO technical guys to understand the design of the planning areas and whether your standard 0APO_* InfoSources are suitable.
If not, I suggest you are working back to front and you should be focussing on the APO-BW inbound required to support the planning requirements.
Regards, Mark. -
How to find out the amount assigned to WBS element
Hello Friends,
Will you please inform how to find out the (amount/value/budget) assigned
to WBS element
Which Table it is stored in?
Thanks in Advance
Bset Regards
DiwakarHi Diwakarnd,
You can use any of the following reports to get the information you require.
1. <b>S_ALR_87013557</b> - Budget/Actual/Variance
2. <b>S_ALR_87013558</b> - Budget/Actual/Commitment/Rem Plan/Assigned
3. <b>S_ALR_87013559</b> - Budget/Distributed/Plan/Distributed
Some of these reports use a complex selection criteria from various tables which has been grouped together, logically by SAP. The Logical Database table name for PS is <b>PSJ</b>.
Execute transaction code <b>SE36</b> -> <b>PSJ</b> -> (Subobject : Radio button <b>Structure)</b> -> Click on <b>Display</b>.
You would see all the underlining tables used.
I hope the above helps.
Do not forget to award the points please.
Regards,
Jacob -
How to find out the primary and failover DNS name
Hi;
This sounds very stupid, but could some one please tell me how to find out the name/dns name of the primary and failover server without using the CDS console.
any help is appreciatedIs this what you want?
$ /usr/lib/ldap/ldap_cachemgr -g
cachemgr configuration:
server debug level 0
server log file "/var/ldap/cachemgr.log"
number of calls to ldapcachemgr 12729
cachemgr cache data statistics:
Configuration refresh information:
Previous refresh time: 2005/08/07 23:54:59
Next refresh time: 2005/08/08 00:55:00
Server information:
Previous refresh time: 2005/08/14 15:15:00
Next refresh time: 2005/08/15 03:15:00
server: ldap1.example.com, status: UP
server: ldap2.example.com, status: UP
server: ldap3.example.com, status: UP
Cache data information:
Maximum cache entries: 256
Number of cache entries: 0
Gary -
How to find out the last date & time on which a program has been run
Hi Experts,
Can anybody tell how to find out the last date on which a purticular program has been run.
Valuable answers will be rewarded.
Thanks & Regards,
Satish.Hi!
Try STAD transaction. Unfortunately it contains a huge amount of data, so it is available only for a few days backwards... Maybe some weeks, but you can't make yearly reports from its data... So it's not useful to see, which program is in use or not...
I planned once to download it weekly, but it was not so important...
Regards
Tamá -
How can I cancel the storage plan I just bought and get a bigger plan?
How can I cancel the storage plan I just bought and get a bigger plan?
I quote:
'If you purchase a higher-tier storage plan for your iCloud account to replace your existing storage plan (for example, a 20 GB plan to replace a 10 GB plan), the existing plan will be canceled and you will receive a prorated refund for the time remaining. The new storage plan is applied to your iCloud account and the annual payment date is updated to reflect the purchase date for the new plan.'
So just purchase the new storage level and it will sort itself out automatically. -
How to find out the user-exits?
hi.
how to find out the user-exits?
regards
eswar.Hi,
*& Report ZEXITFINDER
*report zexitfinder.
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*& Tables
tables : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*& Variables
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
*& Selection Screen Parameters
selection-screen begin of block a01 with frame title text-001.
selection-screen skip.
parameters : p_tcode like tstc-tcode obligatory.
selection-screen skip.
selection-screen end of block a01.
*& Start of main program
start-of-selection.
Validate Transaction Code
select single * from tstc
where tcode eq p_tcode.
Find Repository Objects for transaction code
if sy-subrc eq 0.
select single * from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir
where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir
where pname = tstc-pgmna.
select single * from enlfdir
where funcname = tfdir-funcname.
select single * from tadir
where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name = enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
Find SAP Modifactions
select * from tadir
into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct
where sprsl eq sy-langu
and tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
Take the user to SMOD for the Exit that was selected.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
Regards -
How to find out the Transactions used per month & the USER who used that
Hi,
1)How to find out the Transactions used per month & the USER who used that?
2)and can i get the above same for minimum 20 month?
System : SAP- Enterprise Core Component.You can use my program...
*& Report Z_ABAP_TCODE_MONITOR
*****& Program Type : Report *
*****& Title : Z_ABAP_TCODE_MONITOR *
*****& Transaction code : ZTCODE_USAGE *
*****& Developer name : Shailendra Kolakaluri *
*****& Deveopment start date : 26 th Dec 2011 *
*****& Development Package : ZDEV *
*****& Transport No : DEVK906086 *
*****& Program Description : This program is to display
*List all tcodes executed during previous day.
*& Show the number of users executing tcodes
*& Modification history
REPORT Z_ABAP_TCODE_MONITOR.
*& List all tcodes executed during previous day.
*& Show the number of users executing tcodes
TYPE-POOLS : slis.
DATA: ind TYPE i,
fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
layout TYPE slis_layout_alv,
variant TYPE disvariant,
events TYPE slis_t_event WITH HEADER LINE,
heading TYPE slis_t_listheader WITH HEADER LINE.
*REPORT z_report_usage.
TYPES: BEGIN OF zusertcode,
date TYPE swncdatum,
user TYPE swncuname,
mandt TYPE swncmandt,
tcode TYPE swnctcode,
report TYPE swncreportname,
count TYPE swncshcnt,
END OF zusertcode.
*data : date type n.
DATA: t_usertcode TYPE swnc_t_aggusertcode,
wa_usertcode TYPE swncaggusertcode,
wa TYPE zusertcode,
t_ut TYPE STANDARD TABLE OF zusertcode,
wa_result TYPE zusertcode,
t_result TYPE STANDARD TABLE OF zusertcode.
PARAMETER: month TYPE dats DEFAULT sy-datum.
*PARAMETER: date TYPE dats.
*select-options : username for wa_usertcode-account.
START-OF-SELECTION.
PERFORM get_data.
PERFORM get_fieldcatalog.
PERFORM set_layout.
PERFORM get_event.
PERFORM get_comment.
PERFORM display_data.
FORM get_data .
*date = sy-datum - 2 .
After start-of-selection add this line (parameter Month required 01 as day).
concatenate month+0(6) '01' into month.
CALL FUNCTION 'SWNC_COLLECTOR_GET_AGGREGATES'
EXPORTING
component = 'TOTAL'
ASSIGNDSYS = 'DEV'
periodtype = 'M'
periodstrt = month
TABLES
usertcode = t_usertcode
EXCEPTIONS
no_data_found = 1
OTHERS = 2.
wa-date = month.
*wa-date = date.
wa-mandt = sy-mandt.
wa_usertcode-account = username.
LOOP AT t_usertcode INTO wa_usertcode.
wa-user = wa_usertcode-account.
IF wa_usertcode-entry_id+72 = 'T'.
wa-tcode = wa_usertcode-entry_id.
wa-report = space.
ELSE.
wa-tcode = space.
wa-report = wa_usertcode-entry_id.
ENDIF.
COLLECT wa INTO t_ut.
ENDLOOP.
SORT t_ut BY report ASCENDING.
CLEAR: wa, wa_result.
endform.
FORM get_fieldcatalog .
fcat-tabname = 't_ut'.
fcat-fieldname = 'DATE'.
fcat-seltext_l = 'Date'.
fcat-key = 'X'.
APPEND fcat.
CLEAR fcat.
fcat-tabname = 't_ut'.
fcat-fieldname = 'MANDT'.
fcat-seltext_l = 'Client'.
fcat-key = 'X'.
APPEND fcat.
CLEAR fcat.
fcat-tabname = 't_ut'.
fcat-fieldname = 'USER'.
fcat-seltext_l = 'User Name'.
fcat-key = 'X'.
APPEND fcat.
CLEAR fcat.
fcat-tabname = 't_ut'.
fcat-fieldname = 'TCODE'.
fcat-seltext_l = 'Transaction Code'.
fcat-key = 'X'.
APPEND fcat.
ENDFORM.
*& Form SET_LAYOUT
text
--> p1 text
<-- p2 text
FORM set_layout .
layout-colwidth_optimize = 'X'.
ENDFORM. " SET_LAYOUT
*& Form GET_EVENT
text
--> p1 text
<-- p2 text
*FORM get_event .
events-name = slis_ev_top_of_page.
events-form = 'TOP_OF_PAGE'.
APPEND events.
*ENDFORM. " GET_EVENT
**& Form GET_COMMENT
text
--> p1 text
<-- p2 text
*FORM get_comment .
DATA: text(30).
text = 'Billing Report'.
heading-typ = 'H'.
heading-info = text.
APPEND heading.
*ENDFORM. " GET_COMMENT
**& Form top_of_page
text
--> p1 text
<-- p2 text
*FORM top_of_page .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = heading[]
I_LOGO =
I_END_OF_LIST_GRID =
*ENDFORM. " top_of_page
*& Form DISPLAY_DATA
text
--> p1 text
<-- p2 text
FORM display_data .
sort t_ut[].
DELETE ADJACENT DUPLICATES FROM t_ut[] COMPARING ALL FIELDS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
is_layout = layout
it_fieldcat = fcat[]
i_save = 'A'
is_variant = variant
it_events = events[]
TABLES
t_outtab = t_ut
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " DISPLAY_DATA -
How to find out the person who did a transport.
How to find out the person who did a transport.
There are 3 basis admins in our Org.
so is there a way of tracing out , who did what transport.
Regards,- Goto import Overview (STMS)
- Import Queue
- Select DEV req (goto Import History)
- Edit - Display More
It will show the user who did the transport
Rgds -
How to find out the user who has created a new field in the custom table.
How to find out the user details who has created a new field in the custom table.
Thanks,
JoanHi Jesudasan ,
You can know the user details with version management.Please find the
below procedure to know.
Go to table->Utilities tab->version->Version management->Compare the previous one .
Hope this solves the issue,Let me know if you have any issues.
Thanks,
Rajani -
How to find out the selected column in Table Control
Hi all,
How to find out the selected column in Table Control?
Thanks & Regards,
YJRHi,
Let your table control name in Screen painter be TC1.
READ TABLE TC1-COLS INTO WA_COLS (some wok area)
WITH KEY SELECTED = 'X'.
IF SY-SUBRC = 0.
CLEAR: W_DUMMY, W_COL_NAME.
SPLIT WA_COLS-SCREEN-NAME AT '-' INTO W_DUMMY
W_COL_NAME.
endif.
W_COL_NAME gives you the column name.
Hope it helps.
cheers
sharmistha -
How to find out the selected line in list
Hi all,
Can any one tell me how to find out the selected event in the listYour subject said 'selected <b>line</b> in list' and your description says 'selected <b>event</b> in the list'. Which one is it you want to know?
For line you will use the event AT LINE-SELECTION and for event you will use AT USER-COMMAND.
Please reward and close if answered, if not, please revert back to the forum with more details.
Thanks,
Srinivas -
How to find out the users currently logged into ODI
Hi all,
How to find out the users currently logged into ODI Work Repository?
Thanks.Hi,
It stores all the final queries in work rep table i.e "SNP_SESS_TXT_LOG" and the column is "TXT".
Here u can find all the ODI bkp process queries.Pls specify the SESS_NO for purtivular task u want to check which u can get this in ODI operator.
I dont think so that it will keep the substituted value(because its implicit and temporary process) but it will keep all the default values in the table SNP_VAR_SESS and the column is "DEF_V".
Thanks,
katukota -
How to find out the tables from extract structures
Hi All,
As I know my data sources are 2lis_04_p_matnr,2lis_04_p_comp,2lis_04_p_arbpl.
How to find out the tables concerned with the fields in the extract structure.
ThanksPl check this link:
http://help.sap.com/saphelp_nw2004s/helpdata/en/29/79eb3cad744026e10000000a11405a/frameset.htm
OR navigate to: help.sap.com - netweaver - bi content - supply chain - look for your application area and the extractor and you will see the source tables and fields.
Ravi Thothadri -
How to find out the metachian from subchain
hello friends,
could you please let me know , how to find out the meta chain from subchian .
I know the subchain name and wanted to check that this chian is included in which meta chian ,
actaully here so many chain , so its confusing .
Is there any way ?Hi,
Pls chk this links,
Re: Meta chains - how to create n example scenerios
Re: How to create process chains, infopackage groups & Meta chains
Hope this helps,
regards
CSM reddy
Maybe you are looking for
-
Hello All, I have Creative Sound Blaster X-Fi XtremeGamer Fatalty Pro Series and Digital I/O module on my Windows Vista 32 bit machine. I have connected my speakers using 3 analog outputs of the sound card and they are working great and I am able to
-
How can I get the "comments" to show up in the left tool bar?
Yesterday the "comments" were (A) appearing stacked on the left of the pages document, today, they are only (B) appearing as a sqaure notation and I can not seem how to switch back to the (A) style. Any tips is appreciated. Thanks!
-
Why does my iphone have and enguged tone and can't receive any calls?
Why does my iphone have an engauged tone and I can't receive any calls?
-
Servlet not streaming PDF to browser properly
Hello, I have a servlet that is processing file uploads and streams the file upload to a browser. All works fine, except that for some reason the browser has it's own mind as to whether or not to load the PDF plugin. Word, excel, text, these files ar
-
Lightroom CC 2015 Running With Lightroom 5.
I am working on a Macbook pro running Yosemite version 10.10.3. I subscribe to Creative Cloud - to run Lightroom CC and Photoshop CC - but up to now I have also had a previously installed version of Lightroom 5 running which I used. I have not previ