How to check if table or index bound to data cache loaded in memory?

In my system, thare are many named data caches created and certain objects bind to those data cache.
For example, I have a large table mytab which is bound to data cache mycache.
When I issue a sql like select * from mytab where x=y, run it at first time is is very slow.  run it again and again. then it very fast. it means data loaded in cahce and ready for same query.
Question:
1. How can I know if the table mytab has been loaded in data cache mycache?
2. How to load mytab into data cahce mycache one time for all query in the feature?

one way to monitor is:
select CacheName,DBName,OwnerName,ObjectName,IndexID,sum(CachedKB) as "CachedKb"
from master..monCachedObject
group by CacheName,DBName,OwnerName,ObjectName,IndexID
order by CacheName,DBName,OwnerName,ObjectName,IndexID
But, you should understand that caches have a finite size, and caches contain "pages" of objects including data pages, index pages, and LOB pages.  Also, caches may have different pool sizes, so a page can be in only one cache pool.  So, if you want  a table and all of it's indexes, text/image pages  to be loaded into a dedicated cache, you need a large enough cache to fit all of those pages, and decide which buffer pool you want them in (typically either the 1 page pool, or the 8 page pool).
Then, simply execute SQL (or dbcc) commands that access all of those pages in the manner you wish to find them in the cache.  For example, two statements, one that scans the table using 2k reads, and another that scans the index (mytab_ind1) using 2k reads.
select count(*) from mytab plan '( i_scan mytab_cl mytab) ( prop mytab ( prefetch 2 ) ( lru ) )'
select count(*) from mytab plan '( i_scan mytab_ind1 mytab) ( prop mytab ( prefetch 2 ) ( lru ) )'
etc etc.
used count(*) to limit result sets of examples

Similar Messages

  • How to check small table scan full table scan if we  will use index  in where clause.

    How to check small table scan full table scan if i will use index column in where clause.
    Is there example link there i can  test small table scan full table  if index is used in where clause.

    Use explain plan on your statement or set autotrace traceonly in your SQL*Plus session followed by the SQL you are testing.
    For example
    SQL> set autotrace traceonly
    SQL> select *
      2  from XXX
      3  where id='fga';
    no rows selected
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=13 Card=1 Bytes=16
              5)
       1    0   PARTITION RANGE (ALL) (Cost=13 Card=1 Bytes=165)
       2    1     TABLE ACCESS (FULL) OF 'XXX' (TABLE) (Cost=13 Card
              =1 Bytes=165)
    Statistics
              1  recursive calls
              0  db block gets
           1561  consistent gets
            540  physical reads
              0  redo size
           1864  bytes sent via SQL*Net to client
            333  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed

  • How to check with table for cursor..?

    How to check with table for cursor..?
    Here I have Table temp_final_plan
    Here i want to update if already exit...below is the procedure....
    CREATE OR REPLACE PROCEDURE spu_final_profit_plan
    AS
    -- Constant declarations
      ln_errnum number := 0;
    -- Variable declarations
       ls_errmsg app_errors.err_msg%TYPE;
       ls_appmsg app_errors.app_msg%TYPE;
       ls_appid  app_errors.app_id%TYPE;
    -- Cursor declaration for final_update_el
    CURSOR cur_final_update_el IS
        select '910' ent,
               '9127316' center,
               post_acct,
               sum(avg_mtd_01) sum_avg_mtd_01,
               sum(avg_mtd_02) sum_avg_mtd_02,
               sum(avg_ytd_01) sum_avg_ytd_01,
               sum(avg_ytd_02) sum_avg_ytd_02
          from mon_act_cypy
         where rec_type = 'A'
           and sum_flag = 'D'
           and yr = '2008'
           and substr(ctr_or_hier, 1, 2) = 'el'
           and ent || sub_ent in
               (select ent || sub_ent
                  from ent_ref
                 where roll_ent || roll_sub_ent = '999100')
         group by post_acct
        having sum(avg_mtd_01) <> 0
            or sum(avg_mtd_02) <> 0
            or sum(avg_ytd_01) <> 0
            or sum(avg_ytd_02) <> 0;
    -- Cursor declaration for final_update
    CURSOR cur_final_update IS
        select b.plan_ent b_plan_ent,
               b.plan_ctr b_plan_ctr,
               a.post_acct a_post_acct,
               sum(a.avg_mtd_01) sum_avg_mtd_01,
               sum(a.avg_mtd_02) sum_avg_mtd_02,
               sum(a.avg_ytd_01) sum_ytd_mtd_01,
               sum(a.avg_ytd_02) sum_ytd_mtd_02
          from mon_act_cypy a,
               plan_unit_tbl b
         where a.ent || a.ctr_or_hier = b.ent || b.ctr_or_hier
           and a.rec_type = 'A'
           and a.sum_flag = 'D'
           and a.yr = '2008'
           and b.hier_tbl_num = '001'
           and a.ent || a.sub_ent in
               (select ent || sub_ent
                  from ent_ref
                 where roll_ent || roll_sub_ent = '999100')
         group by b.plan_ent, b.plan_ctr, a.post_acct
        having sum(a.avg_mtd_01) <> 0
            or sum(a.avg_mtd_02) <> 0
            or sum(a.avg_ytd_01) <> 0
            or sum(a.avg_ytd_02) <> 0;
    -- Begin the procedure body
       BEGIN
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update_el IN cur_final_update_el
       LOOP
       EXIT WHEN rec_final_update_el%NOTFOUND;
       IF rec_final_update_el. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,       
           WHERE ent = rec_final_update_el.ent
             AND center = rec_final_update_el.center
             AND post_acct = rec_final_update_el.post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
                                             rec_final_update_el.center,
                                             rec_final_update_el.post_acct,
                                             rec_final_update_el.sum_avg_mtd_01,
                                             rec_final_update_el.sum_avg_mtd_02,
                                             rec_final_update_el.sum_avg_ytd_01,
                                             rec_final_update_el.sum_avg_ytd_02);
       END IF;
       END LOOP;
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update IN cur_final_update
       LOOP
       EXIT WHEN rec_final_update%NOTFOUND;
       IF rec_final_update. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update.sum_avg_ytd_02,       
           WHERE ent = rec_final_update.b_plan_ent
             AND center = rec_final_update.b_plan_ctr
             AND post_acct = rec_final_update.a_post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update.b_plan_ent,
                                             rec_final_update.b_plan_ctr,
                                             rec_final_update.a_post_acct,
                                             rec_final_update.sum_avg_mtd_01,
                                             rec_final_update.sum_avg_mtd_02,
                                             rec_final_update.sum_avg_ytd_01,
                                             rec_final_update.sum_avg_ytd_02);
       END IF;
       END LOOP;
    -- EXCEPTION handling section
       EXCEPTION
    -- Fire OTHERS Exception case by default
       WHEN OTHERS THEN
    -- ROLL BACK Transaction, if any failure
       ROLLBACK;
       ln_errnum := SQLCODE;
       ls_errmsg := SUBSTR(SQLERRM, 1, 100);
    -- Log the ERRORS into APP_ERRORS table using SPU_LOG_ERRORS procedure
       spu_log_errors(ln_errnum, ls_errmsg, ls_appid, ls_appmsg);
    -- End of the stored procedure
    END spu_final_profit_plan;
    [\pre]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I'm not sure what you mean by, 'How to check with table for cursor..?' but I'll offer a comment on your Code Snippet. I think you want to know how to check if a record exists so you know if you need to perform an INSERT or an UPDATE.
    Here is a snippet of your code. I'll put my comments in "Comment" style in your code.
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update_el IN cur_final_update_el
       LOOP
    /* There is no need to test for %NOTFOUND since you are using Cursor FOR Loop! 
    ** This construct automatically exits when the last record is processed. */
       EXIT WHEN rec_final_update_el%NOTFOUND;
    /* Is this where you would like to know how to Check if the record already exist??
    ** I asked this because, 'rec_final_update_el.' is not valid syntax.  Are you looking for
    ** an Cursor Attribute or Method you can check here? 
    ** I would suggest a Primary Key or Unique Index on ENT, CENTER, and POST_ACCT
    ** on the TEMP_FINAL_PLAN table. Then simply perform an INSERT and code an
    ** Exception to UPDATE when you get a DUP_VAL_ON_INDEX exception.  Otherwise,
    ** you will need to simply run an Implicit or Explicit Cursor to test if the row exists and
    ** use this return value to determine if you should INSERT or UPDATE.  */
       IF rec_final_update_el. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,       
           WHERE ent = rec_final_update_el.ent
             AND center = rec_final_update_el.center
             AND post_acct = rec_final_update_el.post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
                                             rec_final_update_el.center,
                                             rec_final_update_el.post_acct,
                                             rec_final_update_el.sum_avg_mtd_01,
                                             rec_final_update_el.sum_avg_mtd_02,
                                             rec_final_update_el.sum_avg_ytd_01,
                                             rec_final_update_el.sum_avg_ytd_02);
       END IF;
       END LOOP;I hope I've answered your question, but if I haven't please provide more details so we can better understand your request.
    Craig...

  • How to check the tables we have created in JDBC??

    I have created a table called COFFEE2 in a datasource called temp which is in SQL server...How to check the table values??
    i went into administrative tools and odbc cource then i could see the data source i have created but how to see the table??
    Can anyone help??
    thanx

    Hmm.. not sure that I understand the problem.
    Call getConnection on the DataSource, and then execute the select query on the connection.
    Kaj

  • How to check the tables

    Dear experts!
    Thank you for your attention!
    I have studied the SAP SD for half a year, though I still don't know how to check certain table like:
    KNVS---customer master shipping data
    KNBK---customer master (bank detail)
    ADR---address table
    ect.
    could somebody help me?
    Best regard!
    Tangdark

    Hi Tang,
         SAP SD having lot of tables but i am telling main tables.
    VBAK   - Sales Document Headerdetailes
    VBAP   - Sales Document Itemdetailes
    VBEK   - Sales Document Scheduline data
    LIKP      - Delivery Header Detailes
    LIPS      - Deliver Item Detailes
    VBRK    - Billing Header Data.
    VBRP    - Billing Item Data.
    VBFA   - Sales Document Flow
    VBUK   - Sales document header status data
    VBUP   - Sales document item status data.......ctc.
    Regards
    Rajendra

  • How to check PSA Table Structure ?

    Hi Friends,
       Can you pls any one tell me how to find out PSA Table and how to check PSA Table Structure? .Thanks in advance.
    Regards,
    CS

    Hi Sri,
    Goto RSA1 trans> select your DS> right clcik> Manage> you will get a Pop-up with all the PSA requests--> on the top Left you can see the PSA name(Technical name) in the form PSA/BIC/BXXXXXX
    PSA & DS structue will be same. Goto RSO2 transaction> Enter your DS name> double click on the extract structure. It will take you to the Extract structure.
    (Or) if you know the extract structure name, directly goto Se11 trans & enter the technical name of Extract structure & Display.
    Take the screenshot & send it to your TL.
    Regards,
    Pavan

  • How to check one table exist or not in SAP

    Hi, Gurus:
    How to check one table exist or not in the SAP.
    Thanks,

    Hi,
    Query the table DD02L..
    Select single * from DD02L where tabname = 'Your table name'
                          AND TABCLASS = 'TRANSP'.  " For transparent tables.
    Thanks
    Naren

  • How to check which Table & Field is populating Data source

    Hi,
    My requirment is to check from which Table and Which field the data is extracted in the data source
    Data Source : 0MAT_PLANT_ATTR
    Field in Data Source :  MINBE
    Now i want to check from where (Table/Field) in R/3 is populating the Field MINBE in Data source 0MAT_PLANT_ATTR
    How can i do that

    Hi,
    Since you have the extract structure and the extractor, you can try Extractor Checker RSA3.Execute ST05 (activating SQL Trace), switch on the trace and execute the extractor checker. Once the extractor checker presents the results
    switch off trace. The clcik on Display trace and you will see all the tables that were hit by the extractor checker to retrieve data and present it to you.
    Note: Set the break point in the Extractor Function module.
    View the ST05 Extended Trace list. The Object name shows the Tables accessed.
    Hope this helps.
    Thanks,
    JituK

  • How to check which table is used

    After creating RFQ , i want to check which table is used  in creating RFQ.
    how can i see that data has gone or not into the database table.

    Hi
    See the Table EKKO and EKPO only
    with EKKO-BSTYP = A
    Regards
    Anji

  • How to check which table is using my table

    Hi,
    I have a table say Temp_Rd.
    How do I check which table is using my table Temp_Rd??
    Which table is using my Temp_Rd as the dependencies in the sql database?
    Thank you very much.

    Oops, pardon me for asking the questions unclearly.
    Its like some table Foreign Key is references to my this table Temp_Rd.
    Eg,
    CONSTRAINT "FK_SomeTable" FOREIGN KEY ("ID")
         REFERENCES "Temp_Rd" ("ID")
    How do I know which are the some table?
    I hope I explain it better this time.
    Sorrie about it.

  • How to check internal table sorted or not

    Hi all
    I need to check internal table sorted or not which is without header line and having only one field and six values. please let me know how to check it is sorted or not because i need to display message if it is not sorted.
    thanks,
    Minal

    Hi Minal,
    Go through  this info.
    Sorted tables
    This is the most appropriate type if you need a table which is sorted as you fill it. You fill sorted tables using the INSERT statement. Entries are inserted according to the sort sequence defined through the table key. Any illegal entries are recognized as soon as you try to add them to the table. The response time for key access is logarithmically proportional to the number of table entries, since the system always uses a binary search. Sorted tables are particularly useful for partially sequential processing in a LOOP if you specify the beginning of the table key in the WHERE condition.
    Stable sort
    The option
    SORT <itab> ... STABLE.
    allows you to perform a stable sort, that is, the relative sequence of lines that are unchanged by the sort is not changed. If you do not use the STABLE option, the sort sequence is not preserved. If you sort a table several times by the same key, the sequence of the table entries will change in each sort. However, a stable sort takes longer than an unstable sort.
    Examples
    DATA: BEGIN OF LINE,
            LAND(3)  TYPE C,
            NAME(10) TYPE C,
            AGE      TYPE I,
            WEIGHT   TYPE P DECIMALS 2,
          END OF LINE.
    DATA ITAB LIKE STANDARD TABLE OF LINE WITH NON-UNIQUE KEY LAND.
    LINE-LAND = 'G'.   LINE-NAME   = 'Hans'.
    LINE-AGE  = 20.    LINE-WEIGHT = '80.00'.
    APPEND LINE TO ITAB.
    LINE-LAND = 'USA'. LINE-NAME   = 'Nancy'.
    LINE-AGE  = 35.    LINE-WEIGHT = '45.00'.
    APPEND LINE TO ITAB.
    LINE-LAND = 'USA'. LINE-NAME   = 'Howard'.
    LINE-AGE  = 40.    LINE-WEIGHT = '95.00'.
    APPEND LINE TO ITAB.
    LINE-LAND = 'GB'.  LINE-NAME   = 'Jenny'.
    LINE-AGE  = 18.    LINE-WEIGHT = '50.00'.
    APPEND LINE TO ITAB.
    LINE-LAND = 'F'.   LINE-NAME   = 'Michele'.
    LINE-AGE  = 30.    LINE-WEIGHT = '60.00'.
    APPEND LINE TO ITAB.
    LINE-LAND = 'G'.   LINE-NAME   = 'Karl'.
    LINE-AGE  = 60.    LINE-WEIGHT = '75.00'.
    APPEND LINE TO ITAB.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB STABLE.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB DESCENDING BY LAND WEIGHT ASCENDING.
    PERFORM LOOP_AT_ITAB.
    FORM LOOP_AT_ITAB.
      LOOP AT ITAB INTO LINE.
        WRITE: / LINE-LAND, LINE-NAME, LINE-AGE, LINE-WEIGHT.
      ENDLOOP.
      SKIP.
    ENDFORM.
    ************rewords some points if it is helpful.
    Rgds,
    P.Naganjana Reddy

  • How to Create a Table in Oracle with XML data type.

    Dear ALL,
    What are the requirements for creating a table with xml datatype in Oracle: The steps would help very much to know the scripting of the table and how to query and either insert/update and remove data from that table.
    Any help, direction, advise would be highly appreciated.
    Thanks.

    Reffer to this Note.243554.1.
    In a nut shell you will need to run catqm.sql

  • How to check for archivelog backup on a particular date or time?

    Dear All,
    We have RMAN full database, cumulative and archivelog backup(eg location: Diskgroup A) scheduled on a regular period basis. Assume archivelog location is Diskgroup B. The diskgroup B became full and unable to archive further, since no space. Unable to connect to database, connect internal only until freed error. alert log also shows that archiver error. So the solution for this to clear some space in diskgroup B by removing some old archive logs. In our environment, everyday the archive logs are stored in a separated folder arranged in date wise.  I can do that . But before clearing some space, i need to make sure that the folder( or any date folder what im going to delete) is backed up or not. How to check that? Any idea please?
    eg: i have archivelogs like this in folders
    01_11_2013/
    02_11_2013/
    03_11_2013/
    04_11_2013/
    05_11_2013/
    06_11_2013/
    If i want to remove the folder 01_11_2013/( and its contents ie archivelogs) , how to check whether the archivelogs in this folder 01_11_2013/ is backed up or not?
    Regards,

    Pradeepcmst wrote:
    Dear All,
    We have RMAN full database, cumulative and archivelog backup(eg location: Diskgroup A) scheduled on a regular period basis. Assume archivelog location is Diskgroup B. The diskgroup B became full and unable to archive further, since no space. Unable to connect to database, connect internal only until freed error. alert log also shows that archiver error. So the solution for this to clear some space in diskgroup B by removing some old archive logs. In our environment, everyday the archive logs are stored in a separated folder arranged in date wise.  I can do that . But before clearing some space, i need to make sure that the folder( or any date folder what im going to delete) is backed up or not. How to check that? Any idea please?
    eg: i have archivelogs like this in folders
    01_11_2013/
    02_11_2013/
    03_11_2013/
    04_11_2013/
    05_11_2013/
    06_11_2013/
    If i want to remove the folder 01_11_2013/( and its contents ie archivelogs) , how to check whether the archivelogs in this folder 01_11_2013/ is backed up or not?
    Regards,
    rman> list backup;
    Which begs the question .. why is the FRA getting filled in the first place?  Is it seriously undersized?  Are you not doing regular housekeeping with rman 'delete obsolete' and 'backup archivelog delete input'

  • Need to know how to check the outbound queue in SAP for data flow into CRM

    Hi Specialist's,
    I have changed an entry in Customer Master Data in Sap r/3 and this change has come fine to CRM system.I checked the inbound BDOC in CRM ( Trn:SMW01) and it has come fine into CRM system.I am also able to see the affected field in CRM with new value.
    I need to know how to check this from SAP side i.e. I have checked the outbound IDOC list (WE02) but could not find the record.
    Is there any other way in SAP that i can check?
    Also please let me know if there is any other way except IDOC in SAP to send data from R/3 to CRM?
    Usefull answers will definitely be rewarded with points .
    Thanks,
    Abhinav.

    Hi Abhinav,
    There are no IDOCs generated in R/3 for replication. R/3 system calls BAPI and Function modules remotely on CRM system which are part of the Adaptors provided for middleware.
    Try to deregister the outbound queues in R/3 (Transaction SMQS) and see if you get an entry in the Outbound Queue (Transaction SMQ1). I have not tried this.
    If you don't get any entry in the outbound queue then definitely there would be some FM at R/3 end which would be calling CRM system remotely.
    <b>Reward points if it helps.</b>
    Regards,
    Amit Mishra

  • How to configure params for buffer pool for named data cache?

    when create a named data cache on ase 12.5, it will setup 2K I/O buffer pool by default with Configured size=0, wash size = 60M
    1. if 2K can be changed to 8K for this buffer pool?
    2. If add another 16k buffer pool, should Affected Pool be changed to the right pool?
    3. How to decide then pagesize, configured size and wash size for a buffer pool? Are they part of total memory size allocated for this cache?

    > 1. if 2K can be changed to 8K for this buffer pool?
    You should be able to create an 8K i/o pool, then drop the 2k pool by setting its size to 0.
    > 2. If add another 16k buffer pool, should Affected Pool be changed to the right pool?
    If you don't specify the Affected Pool (when calling sp_poolconfig), the procedure uses the pool with the smallest i/o.  So if you had an 8k but not had dropped the 2k, the space for the new 16k pool would come from the 8k pool.
    > 3. How to decide then pagesize, configured size and wash size for a buffer pool? Are they part of total memory size allocated for this cache?
    The wash is included in the pool. I don't think it usually needs to be adjusted.
    Which page size pools to have will depend on how the cache is used.  Tables with a clustered index that have a lot of range queries will benefit from larger page size pools, as will text/image/java.   Syslogs is said to do well on a 4k pool.
    -bret

Maybe you are looking for