Change optimization

hi ,
oracle 10.2.0.1.0
I just ran a simple explan stmnt and o/p was based on RBO . how to change it to CBO . ?
SQL> explain plan for select count(*) from employee_details;
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
| Id  | Operation            |  Name             | Rows  | Bytes | Cost  |
|   0 | SELECT STATEMENT     |                   |       |       |       |
|   1 |  SORT AGGREGATE      |                   |       |       |       |
|   2 |   TABLE ACCESS FULL  | EMPLOYEE_DETAILS  |       |       |       |
*Note: rule based optimization*
10 rows selected.

My first guess would be the optimizer_mode is set to CHOOSE following a migration from an earlier version.
btw some tables may be better off without stats, as dynamic sampling will kick in.
Edited by: William Robertson on Jan 27, 2011 7:11 PM

Similar Messages

  • Quick way to change "Optimize for" setting when "mirror displays" is on?

    Is there a quick way to change "Optimize for" setting when "mirror displays" is on?
    I have two displays on my Mac Mini for totally different areas; I can't see the first monitor when I'm on the second. One is 1280x1024, one is 1920x1200. As I switch fairly often I'm wondering if there is a built-in or 3rd-party-utility way to quickly toggle the "optimize for" setting that is under "System Preferences" -> "Displays" -> "Display" tab -> "Optimize for:" dropdown box.
    As Apple sadly doesn't make a all-in-one keyboard / mouse - need one as one of the monitors is used for just a very comfy chair, so keyboard is on my lap - I'm using an Lenovo ThinkPad USB Travel Keyboard, model SK-8855, and some key cobinations, esp. with function keys, seem not to work on it. So something from the desktop context menu or that allows you to set the hotkey would be preferable.
    Thanks for any help,
    -DJBC

    I'm thinking that, Display Menu from the Mac App Store will help.

  • How to avoid full Table scan when using Rule based optimizer (Oracle817)

    1. We have a Oracle 8.1.7 DB, and the optimizer_mode is set to "RULE"
    2. There are three indexes on table cm_contract_supply, which is a large table having 28732830 Rows, and average row length 149 Bytes
    COLUMN_NAME INDEX_NAME
    PROGRESS_RECID XAK11CM_CONTRACT_SUPPLY
    COMPANY_CODE XIE1CM_CONTRACT_SUPPLY
    CONTRACT_NUMBER XIE1CM_CONTRACT_SUPPLY
    COUNTRY_CODE XIE1CM_CONTRACT_SUPPLY
    SUPPLY_TYPE_CODE XIE1CM_CONTRACT_SUPPLY
    VERSION_NUMBER XIE1CM_CONTRACT_SUPPLY
    CAMPAIGN_CODE XIF1290CM_CONTRACT_SUPPLY
    COMPANY_CODE XIF1290CM_CONTRACT_SUPPLY
    COUNTRY_CODE XIF1290CM_CONTRACT_SUPPLY
    SUPPLIER_BP_ID XIF801CONTRACT_SUPPLY
    COMMISSION_LETTER_CODE XIF803CONTRACT_SUPPLY
    COMPANY_CODE XIF803CONTRACT_SUPPLY
    COUNTRY_CODE XIF803CONTRACT_SUPPLY
    COMPANY_CODE XPKCM_CONTRACT_SUPPLY
    CONTRACT_NUMBER XPKCM_CONTRACT_SUPPLY
    COUNTRY_CODE XPKCM_CONTRACT_SUPPLY
    SUPPLY_SEQUENCE_NUMBER XPKCM_CONTRACT_SUPPLY
    VERSION_NUMBER XPKCM_CONTRACT_SUPPLY
    3. We are querying the table for a particular contract_number and version_number. We want to avoid full table scan.
    SELECT /*+ INDEX(XAK11CM_CONTRACT_SUPPLY) */
    rowid, pms.cm_contract_supply.*
    FROM pms.cm_contract_supply
    WHERE
    contract_number = '0000000000131710'
    AND version_number = 3;
    However despite of giving hint, query results are fetched after full table scan.
    Execution Plan
    0 SELECT STATEMENT Optimizer=RULE (Cost=1182 Card=1 Bytes=742)
    1 0 TABLE ACCESS (FULL) OF 'CM_CONTRACT_SUPPLY' (Cost=1182 Card=1 Bytes=742)
    4. I have tried giving
    SELECT /*+ FIRST_ROWS + INDEX(XAK11CM_CONTRACT_SUPPLY) */
    rowid, pms.cm_contract_supply.*
    FROM pms.cm_contract_supply
    WHERE
    contract_number = '0000000000131710'
    AND version_number = 3;
    and
    SELECT /*+ CHOOSE + INDEX(XAK11CM_CONTRACT_SUPPLY) */
    rowid, pms.cm_contract_supply.*
    FROM pms.cm_contract_supply
    WHERE
    contract_number = '0000000000131710'
    AND version_number = 3;
    But it does not work.
    Is there some way without changing optimizer mode and without creating an additional index, we can use the index instead of full table scan?

    David,
    Here is my test on a Oracle 10g database.
    SQL> create table mytable as select * from all_tables;
    Table created.
    SQL> set autot traceonly
    SQL> alter session set optimizer_mode = choose;
    Session altered.
    SQL> select count(*) from mytable;
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   SORT (AGGREGATE)
       2    1     TABLE ACCESS (FULL) OF 'MYTABLE' (TABLE)
    Statistics
              1  recursive calls
              0  db block gets
             29  consistent gets
              0  physical reads
              0  redo size
            223  bytes sent via SQL*Net to client
            276  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    SQL> analyze table mytable compute statistics;
    Table analyzed.
    SQL>  select count(*) from mytable
      2  ;
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=11 Card=1)
       1    0   SORT (AGGREGATE)
       2    1     TABLE ACCESS (FULL) OF 'MYTABLE' (TABLE) (Cost=11 Card=1
              788)
    Statistics
              1  recursive calls
              0  db block gets
             29  consistent gets
              0  physical reads
              0  redo size
            222  bytes sent via SQL*Net to client
            276  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.1.0.2.0 - 64bit Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options

  • Index range scan cost change in 10.2.0.1

    SQL> create table t1 as
    2 select
    3 rpad('x',40) ind_pad,
    4 trunc(dbms_random.value(0,25)) n1,
    5 trunc(dbms_random.value(0,25)) n2,
    6 lpad(rownum,10,'0') small_vc,
    7 rpad('x',200) padding
    8 from
    9 all_objects
    10 where
    11 rownum <= 10000
    12 ;
    Table created.
    SQL> create index t1_i1 on t1(ind_pad,n1,n2)
    2 pctfree 91
    3 ;
    Index created.
    SQL> set autot trace exp
    SQL> alter session set optimizer_features_enable='10.2.0.1';
    Session altered.
    SQL> exec dbms_stats.gather_table_stats(user,'T1',method_opt=>'for all columns size 1');
    PL/SQL procedure successfully completed.
    SQL> select
    2 t1.small_vc
    3 from
    4 t1
    5 where
    6 t1.ind_pad = rpad('x',40)
    7 and t1.n1 = 0
    8 and t1.n2 = 4
    9 ;
    Execution Plan
    Plan hash value: 1429545322
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
    |
    0 SELECT STATEMENT 16 928 20 (0)00:00
    :01
    1 TABLE ACCESS BY INDEX ROWIDT1 16 928 20 (0)00:00
    :01
    * 2 INDEX RANGE SCAN T1_I1 16 4 (0)00:00
    :01
    Predicate Information (identified by operation id):
    2 - access("T1"."IND_PAD"='x' AND
    "T1"."N1"=0 AND "T1"."N2"=4)
    SQL> update t1 set n2=n1; //now t1 and t2 are correlated
    10000 rows updated.
    SQL> commit;
    Commit complete.
    SQL> exec dbms_stats.gather_table_stats(user,'T1',method_opt=>'for all columns size 1');
    PL/SQL procedure successfully completed.
    SQL> select
    2 t1.small_vc
    3 from
    4 t1
    5 where
    6 t1.ind_pad = rpad('x',40)
    7 and t1.n1 = 0
    8 and t1.n2 = 4
    9 ;
    Execution Plan
    Plan hash value: 3617692013
    Id Operation Name Rows Bytes Cost (%CPU)Time
    0 SELECT STATEMENT 16 928 84 (2)00:00:02 * 1 TABLE ACCESS FULLT1 16 928 84 (2)00:00:02
    Predicate Information (identified by operation id):
    1 - filter("T1"."N1"=0 AND "T1"."N2"=4 AND "T1"."IND_PAD"='x
    SQL> exec dbms_stats.delete_table_stats(user,'T1');
    //delete table stats test dynamic sampling
    PL/SQL procedure successfully completed.
    SQL> select
    2 t1.small_vc
    3 from
    4 t1
    5 where
    6 t1.ind_pad = rpad('x',40)
    7 and t1.n1 = 0
    8 and t1.n2 = 4
    9 ;
    Execution Plan
    Plan hash value: 1429545322
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
    |
    0 SELECT STATEMENT 1 60 1 (0)00:00
    :01
    1 TABLE ACCESS BY INDEX ROWIDT1 1 60 1 (0)00:00
    :01
    * 2 INDEX RANGE SCAN T1_I1 1 1 (0)00:00
    :01
    Predicate Information (identified by operation id):
    2 - access("T1"."IND_PAD"='x' AND
    "T1"."N1"=0 AND "T1"."N2"=4)
    Note
    - dynamic sampling used for this statement
    //under dynamic sampling ,oracle choose true explain plan
    SQL> exec dbms_stats.gather_table_stats(user,'T1',method_opt=>'for all columns size 1');
    PL/SQL procedure successfully completed.
    SQL> select /*+ index(t1) */
    2 t1.small_vc
    3 from
    4 t1
    5 where
    6 t1.ind_pad = rpad('x',40)
    7 and t1.n1 = 0
    8 and t1.n2 = 4
    9 ;
    Execution Plan
    Plan hash value: 1429545322
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
    |
    0 SELECT STATEMENT 16 928 256 (0)00:00
    :04
    1 TABLE ACCESS BY INDEX ROWIDT1 16 928 256 (0)00:00
    :04
    * 2 INDEX RANGE SCAN T1_I1 400 7 (0)00:00
    :01
    Predicate Information (identified by operation id):
    2 - access("T1"."IND_PAD"='x' AND
    "T1"."N1"=0 AND "T1"."N2"=4)
    SQL> set autot off
    SQL> select blevel,leaf_blocks,clustering_factor from user_indexes where table_name='T1';
    BLEVEL LEAF_BLOCKS CLUSTERING_FACTOR
    2 119 6201
    //index selectity and table selectity are 0.4
    index cost=2+119/25=7
    table cost=7+6201/25=256
    SQL> alter session set optimizer_features_enable='10.1.0.4';
    Session altered.
    SQL> set autot trace exp
    SQL> select /*+ index(t1) */
    2 t1.small_vc
    3 from
    4 t1
    5 where
    6 t1.ind_pad = rpad('x',40)
    7 and t1.n1 = 0
    8 and t1.n2 = 4
    9 ;
    Execution Plan
    Plan hash value: 1429545322
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
    |
    0 SELECT STATEMENT 16 928 13 (0)00:00
    :01
    1 TABLE ACCESS BY INDEX ROWIDT1 16 928 13 (0)00:00
    :01
    * 2 INDEX RANGE SCAN T1_I1 16 3 (0)00:00
    :01
    Predicate Information (identified by operation id):
    2 - access("T1"."IND_PAD"='x' AND
    "T1"."N1"=0 AND "T1"."N2"=4)
    //change optimizer to 10.1,then cbo caculate index selectity and table selectity 1/625

    >
    Very interesting again. I can reproduce your test case in 10.2.0.4, and it looks like you're right. I don't know whether it's intended behaviour or not, but in this particular case, when a index-only access is possible (and the table is not required) then the old selectivity formula is used (in this case 1/10000 * 1/10000), and it ignores the DISTINCT_KEYS of the index.
    The trace file shows that the index selectivity is actually determined as 1/10000 but it's obviously not used for the calculation.
    Interestingly, repeating the same test case in 11.1.0.7 shows that it uses the DISTINCT_KEYS again in the case you're using the entire index:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Session altered.
    SQL>
    SQL> drop table m purge;
    Table dropped.
    SQL>
    SQL> create table m(id int,id1 int);
    Table created.
    SQL>
    SQL> insert into m select rownum,rownum+1 from dba_objects where rownum<10001;
    10000 rows created.
    SQL>
    SQL> insert into m select * from m;
    10000 rows created.
    SQL>
    SQL> insert into m select * from m;
    20000 rows created.
    SQL>
    SQL> insert into m select * from m;
    40000 rows created.
    SQL>
    SQL> insert into m select * from m;
    80000 rows created.
    SQL>
    SQL> commit;
    Commit complete.
    SQL>
    SQL> select count(*) from m;
      COUNT(*)
        160000
    SQL>
    SQL> create index i_m_1 on m(id,id1);
    Index created.
    SQL>
    SQL> exec dbms_stats.gather_table_stats(user,'M',method_opt=>'for all columns si
    ze 1', estimate_percent => null);
    PL/SQL procedure successfully completed.
    SQL>
    SQL> set autotrace traceonly
    SQL>
    SQL> select * from m where id=1;
    16 rows selected.
    Execution Plan
    Plan hash value: 3644412196
    | Id  | Operation        | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT |       |    16 |   112 |     2   (0)| 00:00:01 |
    |*  1 |  INDEX RANGE SCAN| I_M_1 |    16 |   112 |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("ID"=1)
    Statistics
              1  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
            670  bytes sent via SQL*Net to client
            427  bytes received via SQL*Net from client
              3  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
             16  rows processed
    SQL>
    SQL> select * from m where id=1 and id1=2;
    16 rows selected.
    Execution Plan
    Plan hash value: 3644412196
    | Id  | Operation        | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT |       |    16 |   112 |     1   (0)| 00:00:01 |
    |*  1 |  INDEX RANGE SCAN| I_M_1 |    16 |   112 |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("ID"=1 AND "ID1"=2)
    Statistics
              1  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
            670  bytes sent via SQL*Net to client
            427  bytes received via SQL*Net from client
              3  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
             16  rows processed
    SQL>
    SQL>So in 11.1.0.7 it seems to be consistent behaviour to take the DISTINCT_KEYS for an access using the entire index, but not in 10.2.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Change optimizer_mode from rule to choose ?

    Hi All
    Could we change optimizer mode from rule to choose by restarting the instance
    thanks
    kedar

    Yes. It is needed if your are using a text intialization file and want the change to be permanent.
    See http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch13.htm#1013938
    If you are using a spfile, you don't need to restart the instance, just run:
    ALTER SYSTEM SET optimizer_mode=choose;
    The parameter will be changed in a permanant way.
    See: http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch1140.htm#1021526
    and
    http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch13.htm#1013935
    Message was edited by:
    Pierre Forstmann
    Message was edited by:
    Pierre Forstmann

  • Long time to load and save

    I upgraded to Premier Pro CS5 about a month ago and have had excellent results with several small projects.  But now I am working on a larger project (45 minutes) and the projects takes a long time to load - 10 to 15 minutes - and even longer to save - up to an hour.  Today, while saving, I received low memory warning from windows.  I changed optimize memory in edit - preference to "memory" with no effect.  Here are some of the particulars
    System
    Intel Core I5 650
    8 gig ram - 6.5 gig dedicated to Pr
    2 - 1 terabyte hard drives
    Gforce GTX470 video card
    Windows 7 Home Premium
    dedicated computer to Premiere Pro
    Project
    Mostly HDV video
    some DV video
    ambient sound track
    narration track
    music track
    a few still pictures
    multiple titles
    Any help would be appreciated.  This is my first post to this forum.  Am I in the right place for this question? 
    Thanks
    Don

    Wow!  Thanks for the quick and helpful replies.  It is much appreciated.
    Hunt:
    Yes both HDDs are internal  C: has programs and paging  E: is just for media scratch and project
    Page files are system managed.  Page file size is 8183 MB.  MS help suggests I set a page file size do you agree and what size would you recommend?
    Colin:
    I am embarrassed that I did not think of this.  I am at version 5.0.0   Guess I have been spoiled by s/w installations that check for recent updates at time of install.  I will update Premiere in the morning.
    Harm:
    I appreciate the words of wisdom.  The scary thing is that I think I understand and resemble quote you included!  Thanks for the link.  I will check it out after I get Premiere update.
    Thanks again to all.  Will work on this tomorrow and let you know how it turned out.
    Don

  • Effect of Secondary Index on Performance Tuning

    Hi,
    I have a select statement with the below where statement.
    WHERE keyz1 = IT_dfkkzk-keyz1
    AND bldat IN s_pblda
    AND valut IN s_pvalu.
    Table from data is accessed Primary key is a combination of two fields KEYZ1 & POSZA.
    We have a Secondary Index with OPBEL & KEYZ1.
    Will Optimizer will use Secondary Index?
    If we change the where statement as given Below
    WHERE keyz1 = IT_dfkkzk-keyz1
    Will the access be fast?
    Should i create a secondary index on keyz1 to make it fast?
    Thanks & Reagrds
    Lijo Joseph

    Hi Lijo Joseph,
    I think, optimizer will use primary key because "WHERE keyz1" references the first part of this key. Even if you change your WHERE-statement as considered, this will not change optimizer approach.
    And yes, this access should be the fastest way to access you data, besides you have more values to reduce the amount of resulting rows. For example if you could specifiy POSZA too, this would accelerate access.
    Creation of another secondary index on keyz1 will not make it faster, maybe if you include bldat and valut in this key. But notice, insertion and modification of data will then be slower.
    To get optimizer to use existing secondary index you have to specify OPBEL in your where condition like this:
    "where OPBEL = 'X' and KEYZ1 = ....."
    Herbert

  • Error compiling movie: out of memory !!! Premiere CS3

    Hey every1 --- desperate need of some guidance here. I've been all over the internet and these boards --- have seen this come up with a lot of people but no real solid answers that I'd seen or that have helped.
    First off, my comp is an imac 3.06 Ghz Core 2 Duo, 4GB memory. (just bought the computer last year)
    I'm shooting with a canon 7d in HD (1920 x 1080p) and I'm editing using Premiere CS3. I've noticed that editing has become very difficult since I started using HD; playback is very choppy and the 'quality settings' in the preview monitor are a joke and do absolutely nothing whether it's on draft or automatic.
    Anyway, despite the choppiness and slow editing, I was able to get a 3 min clip completed. These are my export settings:
    Export > Movie
    H.264
    960 x 540
    23.976 fps
    Square pixels,
    100% quality,
    recompress: unchecked.
    Once exported (I was able to export smaller timelines previously--- say, 50 secs of footage or so) the files look AMAZING and from there I use them for online video via vimeo -- stuff looks really awesome.
    Anyway, recently I'm getting: 'Error compiling movie. Out of Memory. Change optimization preferences to memory', etc. etc. Well, I did as it asked and that did absolutely nothing.
    So, I decided to open up my activity monitor and watch what's going on with my memory while premiere is exporting. I also closed ALL unused applications. System runs at about 2.16gb free memory before I start exporting. Memory seems stable during export UNTIL around the 50% exporting mark, and then its starts climbing like crazy and my memory just gets eaten up --- finally resulting in a crash at about 70% render.
    I really don't know what else to do. Does my computer not have the power to export 3 min of HD footage??? This seems surprising to me ... I don't know what else to try.
    Thanks for any help !!!
    -Mark

    Hi Mark,
    Hope you are having a wonderful day.
    Sorry to hear that you are having such a hard time. Although I did not specifically get the out of memory error, I can only be convinced that that is the problem.
    Although I am not a computer whiz, I have learned my share of things. I have been troubleshooting a video all this week (really, a couple of months), but I had to put it aside and come back to it.
    I tend to be talkative; so I will get back on topic or at least try to stay on topic, so bare with me. Smile....
    Here is what I have learned and maybe it will help you with yours if you have not found a solution already.
    Based on your hard drive specs and ram, I was thinking the same thing e.g. hard to believe that you are not able to render 3 minutes of video in HD. I primarily work in HD/1080p.
    The place where we are similar is that I eventually could get the video to render by reducing the workspace that is rendered piece by piece until I was able to render the entire file. When I tried to encode the video, I kept getting error compiling messages. I tried different codecs, deleting xmpses, not rendering xmpses, etc. I could not figure out the keyframe trick so I just put in a black video from after effects. By the way, all of my videos intro the same and no problems with the other videos fading from black to a still photo.
    Here is the problem from what I could gather.
    Simply, out of memory. I was rendering and trying to encode a 45 minute video with after effects compositions and the dynamic linking kept timing out once the file reached a certain size. There were no other true fancy effects. I do alot on the green screen and just use after effects to make a white background. Smaller videos, rendering has been slow, but doable. This massive video would never compile. I won't bore you with my system specs, but know that similar to your situation, the system in theory should have been adequate.
    Work around...
    I ended up exporting the video as 3 separate 15 minute video clips. I could not get them to encode as .wmv files so I encoded them as .mp4 files. By the way, I still encoded in HD.
    Here is the kool stuff.
    After what seems like forever, I found a converter that could convert .mp4 to .wmv and rejoin the files to play as one large file with the same quality as my source file and no audio synching issues. By the way, I do not work for this company. I just found this encoder at 4 o'clock this morning after trying all of these other converters that were straight garbage or were free to try and not really free if you wanted quality. By the way, the conversion tool is not only user friendly, but free which is awesome.
    The name of the software is Media Cope. Just visit www.mediacope.com.... Be sure to send the owner an e-mail to thank him and let him know that Mark sent you. I just sent him an e-mail earlier to let him know that I was going to post on Adobe what a wonderful software he created. I just needed something free, quick, easy, and user-friendly.
    Whoops... got off topic....
    I'll do a summary at the end for my recommendation to you.
    Here are some other tidbits that I learned as well that may save you some time.
    When editing this is what I do now...
    1) I use CCleaner from www.piriform.com to quickly clean my system especially temporary files before I start editing and if I am switching from project to project.
    2) In all of my troubleshooting this week, I found a kool little software call Smart Close. (Just google to find this one.) It closes all of your non-critical background files in order to maximize system resources. (When I am done editing, I just reboot and all of my background programs start up again. You do not have to do it that way, that's just how I do it. The nice thing is that it is a wizard interface; so you do not have to try to figure out if a process in the background is critical or non-critical.)
    3) Depending on my mood and if I did not forget, smile.... I change the priority to high for the adobe products in the task manager.
    More things that I learned...
    1) We are not able to change the temp file for how Adobe encodes. My logic was if I could change the encoding to a hard drive that was simply empty so Adobe can render there, then I would be good. Wrong.... Adobe does not allow you to change the temp location. (Note: This is what I discovered in the different forums; so encoding to an external hard drive is not the best move. Read more to se why.)
    2) It is best to have your scratch disks as your internal disk. If you have multiple internal disks, then you shoud check some other forums for the best way to set up your scratch disks. When I was just starting out, I bought an external hard drive enclosure with the thought that I would work primarily off of those external drives with the option of doing some RAID work. Bad idea... Even the simplest of tasks took forever. It was best to work off of the internal drive. By the way, I still use the enclosure hard drives for backups in order to allow me to free up some space on the primary hard drive. When rendering, it is truely a use of the RAM and the hard drive space in the editing process.
    I'll leave you with this...
    I take back what I said earlier, you do need a new computer with more RAM. If you can get 16 GB, great. The primary reason is that if you are editing in Premiere and if you do anything with dynamic linking into your after effects, it will cause your ram to climb as the file gets larger. Of course, be sure to get the largest hard drive possible as an internal drive, the maximum on processor speed, 64 bit operating system, etc.
    I know you are like by now, Mark, what is the point of all of your gibberish... Really, it was to share with you and others on some really kool work arounds.
    My recommendation for you are as follows.
    1) You have already proven that you can render and encode 50 second clips and you are very happy with those clips, so create separate smaller clips for this particular project.
    2) Once you have the final clips outputted, then use Media Cope to rejoin the files as one large file and you are done.
    (Note: The one thing that I did notice is that there is a small break right between where the files are merged. The nice thing is that as a video editor/film maker, you will be the only person likely to notice it because you know where the breaks are. The other nice thing is that the untrained eye will not notice it and if you had to submit your work to a television station especially on DVD, the video system should recognize the file as one large file and play all the way through. Note: For the last sentence, I said 'should play all the way through' as I have not had a chance to check this one yet as I just finished this project today and still have to turn in all of my videos. I still have some more videos to merge.)
    By the way, the only specs that I will share are that I work on a PC and it has 8 GB of ram.
    The summary of the summary is that sometimes an error compiling message could simply be that your system does not have resources to render and the encode that large of a file. At least that is what I learned this week or at least my specific situation. The confirmation is that I just finished shooting a documentary which was one hour and some change and was able to render and encode to .wmv with no problems. Of course, I was not using after effects for this particular project.
    In either case, hope all the information helps you with your project.
    Have a wonderful day and happy holidays everyone.
    Mark

  • More than 1 Hint in Select

    Hi
    Is possible put more than a hint in Select ? How can I do ?

    Well, I support what was said by Mark... partially.
    Indeed, hints should be avoided whenever possible. However, I wouldn't claim that hinting is something that should be avoided at all cost.
    How about ALL_ROWS and FIRST_ROWS hints?
    How about DYNAMIC_SAMPLING hint?
    Should we avoid using APPEND hint, after all?
    In my opinion, we need to understand that:
    1. There are hints that have nothing to do with CBO decisions (APPEND, for example). They can't really hurt.
    2. There are hints that sometimes help CBO to make better decisions (DYNAMIC_SAMPLING). I wouldn't call them "bad" as well.
    3. Hints to change optimizer goal (like FIRST_ROWS, ALL_ROWS) - again, they are harmless if applied properly.
    And finally:
    4. Hints that force optimizer to use some fixed access path, join method - in other words to restrict optimizer's search space. These ones are surely bad. They should be used very rarely and considered a "path of last resort".
    But then again - before applying such hints we must understand the nature of underlying problem, the underlying cause of bad execution plans. If we blindly hint one query, it's very likely that we'll need to hint many other queries as the problem tends to re-appear in many places of application code.
    And by the way - Tom uses similar categorization of hints, too:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:23566649273765#47839217291071
    Kind regards.

  • Oracle Performance tunning genral question

    Hi,
    Below is the list of Areas of Oracle db for which tunning activities are done. You are invited to comment to it weather this is complete list or need some addition or deletion. As I'm learning PT for Oracle now a days, therefore I want to expand my knowledge by sharing what I'm learning and what I need to learn.
    So comment with Open hearts on it. Espically from experts and Gurus.
    Here is the List
    1-Planning for Performance, include Storage consideration( Weather it is SAN, NAS, DAS), Network planning and host OS planning with proper configuration for running Oracle.
    2-Database desining (Not under-Normalized and not Over-Normalized with proper usage of Indexes, views and Stored Procedures)
    3- Instance tunning (Memory structure + B.g Processes)
    4- Session tunning.
    5- Segment Space tunning.
    6- SQL tunning.
    This is what uptill what I've learned. If it needs addition kindly tell me what are these. Please also provide me links(good and precise one) for PT tutorials on web.Also note that I'm discussing this w.r.t Single instance non-rac db.
    Looking for Good sugessions
    Regards,
    Abbasi

    Hello,
    This is the oracle course contents:
    Contents
    Preface
    1 Introduction
    Course Objectives 1-2
    Organization 1-3
    Agenda 1-4
    What Is Not Included 1-6
    Who Tunes? 1-7
    What Does the DBA Tune? 1-8
    How to Tune 1-10
    Tuning Methodology 1-11
    Effective Tuning Goals 1-13
    General Tuning Session 1-15
    Summary 1-17
    2 Basic Tuning Tools
    Objectives 2-2
    Performance Tuning Diagnostics 2-3
    Performance Tuning Tools 2-4
    Tuning Objectives 2-5
    Top Wait Events 2-6
    DB Time 2-7
    CPU and Wait Time Tuning Dimensions 2-8
    Time Model: Overview 2-9
    Time Model Statistics Hierarchy 2-10
    Time Model Example 2-12
    Dynamic Performance Views 2-13
    Dynamic Performance Views: Usage Examples 2-14
    Dynamic Performance Views: Considerations 2-15
    Statistic Levels 2-16
    Statistics and Wait Events 2-18
    System Statistic Classes 2-19
    Displaying Statistics 2-20
    Displaying SGA Statistics 2-22
    Wait Events 2-23
    Using the V$EVENT_NAME View 2-24
    Wait Classes 2-25
    Displaying Wait Event Statistics 2-26
    Oracle Internal & Oracle Academy Use Only
    iv
    Commonly Observed Wait Events 2-28
    Using the V$SESSION_WAIT View 2-29
    Precision of System Statistics 2-31
    Using Features of the Packs 2-32
    Accessing the Database Home Page 2-34
    Enterprise Manager Performance Pages 2-35
    Viewing the Alert Log 2-37
    Using Alert Log Information as an Aid in Tuning 2-38
    User Trace Files 2-40
    Background Processes Trace Files 2-41
    Summary 2-42
    Practice 2 Overview: Using Basic Tools 2-43
    3 Using Automatic Workload Repository
    Objectives 3-2
    Automatic Workload Repository: Overview 3-3
    Automatic Workload Repository Data 3-4
    Workload Repository 3-5
    Database Control and AWR 3-6
    AWR Snapshot Purging Policy 3-7
    AWR Snapshot Settings 3-8
    Manual AWR Snapshots 3-9
    Managing Snapshots with PL/SQL 3-10
    Generating AWR Reports in EM 3-11
    Generating AWR Reports in SQL*Plus 3-12
    Reading the AWR Report 3-13
    Snapshots and Periods Comparisons 3-14
    Compare Periods: Benefits 3-15
    Compare Periods: Results 3-16
    Compare Periods: Report 3-17
    Compare Periods: Load Profile 3-18
    Compare Periods: Top Events 3-19
    Summary 3-20
    Practice 3 Overview: Using AWR-Based Tools 3-21
    4 Defining Problems
    Objectives 4-2
    Defining the Problem 4-3
    Limit the Scope 4-4
    Setting the Priority 4-5
    Top Wait Events 4-6
    Oracle Internal & Oracle Academy Use Only
    v
    Setting the Priority: Example 4-7
    Top SQL Reports 4-8
    Common Tuning Problems 4-9
    Tuning Life Cycle Phases 4-11
    Tuning During the Life Cycle 4-12
    Application Design and Development 4-13
    Testing: Database Configuration 4-14
    Deployment 4-15
    Production 4-16
    Migration, Upgrade, and Environment Changes 4-17
    ADDM Tuning Session 4-18
    Performance Versus Business Requirements 4-19
    Performance Tuning Resources 4-20
    Filing a Performance Service Request 4-21
    RDA Report 4-22
    Monitoring and Tuning Tool: Overview 4-23
    Summary 4-25
    Practice 4 Overview: Identifying the Problem 4-26
    5 Using Metrics and Alerts
    Objectives 5-2
    Metrics, Alerts, and Baselines 5-3
    Limitation of Base Statistics 5-4
    Typical Delta Tools 5-5
    Oracle Database 11g Solution: Metrics 5-6
    Benefits of Metrics 5-7
    Viewing Metric History Information 5-8
    Using EM to View Metric Details 5-9
    Statistic Histograms 5-10
    Histogram Views 5-11
    Server-Generated Alerts 5-12
    Database Control Usage Model 5-13
    Setting Thresholds 5-14
    Creating and Testing an Alert 5-15
    Metric and Alert Views 5-16
    View User-Defined SQL Metrics 5-17
    Create User-Defined SQL Metrics 5-18
    View User-Defined Host Metrics 5-19
    Create User-Defined Host Metrics 5-20
    Summary 5-21
    Practice Overview 5: Working with Metrics 5-22
    Oracle Internal & Oracle Academy Use Only
    vi
    6 Baselines
    Objectives 6-2
    Comparative Performance Analysis with AWR Baselines 6-3
    Automatic Workload Repository Baselines 6-4
    Moving Window Baseline 6-5
    Baselines in Performance Page Settings 6-6
    Baseline Templates 6-7
    AWR Baselines 6-8
    Creating AWR Baselines 6-9
    Single AWR Baseline 6-10
    Creating a Repeating Baseline Template 6-11
    Managing Baselines with PL/SQL 6-12
    Generating a Baseline Template for a Single Time Period 6-13
    Creating a Repeating Baseline Template 6-14
    Baseline Views 6-15
    Performance Monitoring and Baselines 6-17
    Defining Alert Thresholds Using a Static Baseline 6-19
    Using EM to Quickly Configure Adaptive Thresholds 6-20
    Changing Adaptive Threshold Settings 6-22
    Summary 6-23
    Practice 6: Overview Using AWR Baselines 6-24
    7 Using AWR-Based Tools
    Objectives 7-2
    Automatic Maintenance Tasks 7-3
    Maintenance Windows 7-4
    Default Maintenance Plan 7-5
    Automated Maintenance Task Priorities 7-6
    Tuning Automatic Maintenance Tasks 7-7
    ADDM Performance Monitoring 7-8
    ADDM and Database Time 7-9
    DBTime-Graph and ADDM Methodology 7-10
    Top Performance Issues Detected 7-12
    Database Control and ADDM Findings 7-13
    ADDM Analysis Results 7-14
    ADDM Recommendations 7-15
    Database Control and ADDM Task 7-16
    Changing ADDM Attributes 7-17
    Retrieving ADDM Reports by Using SQL 7-18
    Active Session History: Overview 7-19
    Active Session History: Mechanics 7-20
    Oracle Internal & Oracle Academy Use Only
    vii
    ASH Sampling: Example 7-21
    Accessing ASH Data 7-22
    Dump ASH to File 7-23
    Analyzing the ASH Data 7-24
    Generating ASH Reports 7-25
    ASH Report Script 7-26
    ASH Report: General Section 7-27
    ASH Report Structure 7-28
    ASH Report: Activity Over Time 7-29
    Summary 7-30
    Practice 7 Overview: Using AWR-Based Tools 7-31
    8 Monitoring an Application
    Objectives 8-2
    What Is a Service? 8-3
    Service Attributes 8-4
    Service Types 8-5
    Creating Services 8-6
    Managing Services in a Single-Instance Environment 8-7
    Everything Switches to Services 8-8
    Using Services with Client Applications 8-9
    Using Services with the Resource Manager 8-10
    Services and Resource Manager with EM 8-11
    Services and the Resource Manager: Example 8-12
    Using Services with the Scheduler 8-13
    Services and the Scheduler with EM 8-14
    Services and the Scheduler: Example 8-16
    Using Services with Parallel Operations 8-17
    Using Services with Metric Thresholds 8-18
    Changing Service Thresholds by Using EM 8-19
    Services and Metric Thresholds: Example 8-20
    Service Aggregation and Tracing 8-21
    Top Services Performance Page 8-22
    Service Aggregation Configuration 8-23
    Service Aggregation: Example 8-24
    Client Identifier Aggregation and Tracing 8-25
    trcsess Utility 8-26
    Service Performance Views 8-27
    Summary 8-29
    Practice 8 Overview: Using Services 8-30
    Oracle Internal & Oracle Academy Use Only
    viii
    9 Identifying Problem SQL Statements
    Objectives 9-2
    SQL Statement Processing Phases 9-3
    Parse Phase 9-4
    SQL Storage 9-5
    Cursor Usage and Parsing 9-6
    SQL Statement Processing Phases: Bind 9-8
    SQL Statement Processing Phases: Execute and Fetch 9-9
    Processing a DML Statement 9-10
    COMMIT Processing 9-12
    Role of the Oracle Optimizer 9-13
    Identifying Bad SQL 9-15
    TOP SQL Reports 9-16
    What Is an Execution Plan? 9-17
    Methods for Viewing Execution Plans 9-18
    Uses of Execution Plans 9-19
    DBMS_XPLAN Package: Overview 9-20
    EXPLAIN PLAN Command 9-22
    EXPLAIN PLAN Command: Example 9-23
    EXPLAIN PLAN Command: Output 9-24
    Reading an Execution Plan 9-25
    Using the V$SQL_PLAN View 9-26
    V$SQL_PLAN Columns 9-27
    Querying V$SQL_PLAN 9-28
    V$SQL_PLAN_STATISTICS View 9-29
    Querying the AWR 9-30
    SQL*Plus AUTOTRACE 9-32
    Using SQL*Plus AUTOTRACE 9-33
    SQL*Plus AUTOTRACE: Statistics 9-34
    SQL Trace Facility 9-35
    How to Use the SQL Trace Facility 9-37
    Initialization Parameters 9-38
    Enabling SQL Trace 9-40
    Disabling SQL Trace 9-41
    Formatting Your Trace Files 9-42
    TKPROF Command Options 9-43
    Output of the TKPROF Command 9-45
    TKPROF Output with No Index: Example 9-50
    TKPROF Output with Index: Example 9-51
    Generate an Optimizer Trace 9-52
    Oracle Internal & Oracle Academy Use Only
    ix
    Summary 9-53
    Practice Overview 9: Using Execution Plan Utilities 9-54
    10 Influencing the Optimizer
    Objectives 10-2
    Functions of the Query Optimizer 10-3
    Selectivity 10-5
    Cardinality and Cost 10-6
    Changing Optimizer Behavior 10-7
    Using Hints 10-8
    Optimizer Statistics 10-9
    Extended Statistics 10-10
    Controlling the Behavior of the Optimizer with Parameters 10-11
    Enabling Query Optimizer Features 10-13
    Influencing the Optimizer Approach 10-14
    Optimizing SQL Statements 10-15
    Access Paths 10-16
    Choosing an Access Path 10-17
    Full Table Scans 10-18
    Row ID Scans 10-20
    Index Operations 10-21
    B*Tree Index Operations 10-22
    Bitmap Indexes 10-23
    Bitmap Index Access 10-24
    Combining Bitmaps 10-25
    Bitmap Operations 10-26
    Join Operations 10-27
    Join Methods 10-28
    Nested Loop Joins 10-29
    Hash Joins 10-31
    Sort-Merge Joins 10-32
    Join Performance 10-34
    How the Query Optimizer Chooses Execution Plans for Joins 10-35
    Sort Operations 10-37
    Tuning Sort Performance 10-38
    Reducing the Cost 10-39
    Index Maintenance 10-40
    Dropping Indexes 10-42
    Creating Indexes 10-43
    SQL Access Advisor 10-44
    Table Maintenance for Performance 10-45
    Oracle Internal & Oracle Academy Use Only
    x
    Table Reorganization Methods 10-46
    Summary 10-47
    Practice 10 Overview: Influencing the Optimizer 10-48
    11 Using SQL Performance Analyzer
    Objectives 11-2
    Real Application Testing: Overview 11-3
    Real Application Testing: Use Cases 11-4
    SQL Performance Analyzer: Process 11-5
    Capturing the SQL Workload 11-7
    Creating a SQL Performance Analyzer Task 11-8
    SQL Performance Analyzer: Tasks 11-9
    Optimizer Upgrade Simulation 11-10
    SQL Performance Analyzer Task Page 11-11
    Comparison Report 11-12
    Comparison Report SQL Detail 11-13
    Tuning Regressing Statements 11-14
    Preventing Regressions 11-16
    Parameter Change Analysis 11-17
    Guided Workflow Analysis 11-18
    SQL Performance Analyzer: PL/SQL Example 11-19
    SQL Performance Analyzer: Data Dictionary Views 11-21
    Summary 11-22
    Practice 11: Overview 11-23
    12 SQL Performance Management
    Objectives 12-2
    Maintaining SQL Performance 12-3
    Maintaining Optimizer Statistics 12-4
    Automated Maintenance Tasks 12-5
    Statistic Gathering Options 12-6
    Setting Statistic Preferences 12-7
    Restore Statistics 12-9
    Deferred Statistics Publishing: Overview 12-10
    Deferred Statistics Publishing: Example 12-12
    Automatic SQL Tuning: Overview 12-13
    SQL Statement Profiling 12-14
    Plan Tuning Flow and SQL Profile Creation 12-15
    SQL Tuning Loop 12-16
    Using SQL Profiles 12-17
    SQL Tuning Advisor: Overview 12-18
    Oracle Internal & Oracle Academy Use Only
    xi
    Using the SQL Tuning Advisor 12-19
    SQL Tuning Advisor Options 12-20
    SQL Tuning Advisor Recommendations 12-21
    Using the SQL Tuning Advisor: Example 12-22
    Using the SQL Access Advisor 12-23
    View Recommendations 12-25
    View Recommendation Details 12-26
    SQL Plan Management: Overview 12-27
    SQL Plan Baseline: Architecture 12-28
    Loading SQL Plan Baselines 12-30
    Evolving SQL Plan Baselines 12-31
    Important Baseline SQL Plan Attributes 12-32
    SQL Plan Selection 12-34
    Possible SQL Plan Manageability Scenarios 12-36
    SQL Performance Analyzer and SQL Plan Baseline Scenario 12-37
    Loading a SQL Plan Baseline Automatically 12-38
    Purging SQL Management Base Policy 12-39
    Enterprise Manager and SQL Plan Baselines 12-40
    Summary 12-41
    Practice 12: Overview Using SQL Plan Management 12-42
    13 Using Database Replay
    Objectives 13-2
    Using Database Replay 13-3
    The Big Picture 13-4
    System Architecture: Capture 13-5
    System Architecture: Processing the Workload 13-7
    System Architecture: Replay 13-8
    Capture Considerations 13-9
    Replay Considerations: Preparation 13-10
    Replay Considerations 13-11
    Replay Options 13-12
    Replay Analysis 13-13
    Database Replay Workflow in Enterprise Manager 13-15
    Capturing Workload with Enterprise Manager 13-16
    Capture Wizard: Plan Environment 13-17
    Capture Wizard: Options 13-18
    Capture Wizard: Parameters 13-19
    Viewing Capture Progress 13-20
    Viewing Capture Report 13-21
    Export Capture AWR Data 13-22
    Oracle Internal & Oracle Academy Use Only
    xii
    Viewing Workload Capture History 13-23
    Processing Captured Workload 13-24
    Using the Preprocess Captured Workload Wizard 13-25
    Using the Replay Workload Wizard 13-26
    Replay Workload: Prerequisites 13-27
    Replay Workload: Choose Initial Options 13-28
    Replay Workload: Customize Options 13-29
    Replay Workload: Prepare Replay Clients 13-30
    Replay Workload: Client Connections 13-31
    Replay Workload: Replay Started 13-32
    Viewing Workload Replay Progress 13-33
    Viewing Workload Replay Statistics 13-34
    Packages and Procedures 13-36
    Data Dictionary Views: Database Replay 13-37
    Database Replay: PL/SQL Example 13-38
    Calibrating Replay Clients 13-40
    Summary 13-41
    Practice 13: Overview 13-42
    14 Tuning the Shared Pool
    Objectives 14-2
    Shared Pool Architecture 14-3
    Shared Pool Operation 14-4
    The Library Cache 14-5
    Latch and Mutex 14-7
    Latch and Mutex: Views and Statistics 14-9
    Diagnostic Tools for Tuning the Shared Pool 14-11
    AWR/Statspack Indicators 14-13
    Load Profile 14-14
    Instance Efficiencies 14-15
    Top Waits 14-16
    Time Model 14-17
    Library Cache Activity 14-19
    Avoid Hard Parses 14-20
    Are Cursors Being Shared? 14-21
    Sharing Cursors 14-23
    Adaptive Cursor Sharing: Example 14-25
    Adaptive Cursor Sharing Views 14-27
    Interacting with Adaptive Cursor Sharing 14-28
    Avoiding Soft Parses 14-29
    Sizing the Shared Pool 14-30
    Oracle Internal & Oracle Academy Use Only
    xiii
    Shared Pool Advisory 14-31
    Shared Pool Advisor 14-33
    Avoiding Fragmentation 14-34
    Large Memory Requirements 14-35
    Tuning the Shared Pool Reserved Space 14-37
    Keeping Large Objects 14-39
    Data Dictionary Cache 14-41
    Dictionary Cache Misses 14-42
    SQL Query Result Cache: Overview 14-43
    Managing the SQL Query Result Cache 14-44
    Using the RESULT_CACHE Hint 14-46
    Using the DBMS_RESULT_CACHE Package 14-47
    Viewing SQL Result Cache Dictionary Information 14-48
    SQL Query Result Cache: Considerations 14-49
    UGA and Oracle Shared Server 14-50
    Large Pool 14-51
    Tuning the Large Pool 14-52
    Summary 14-53
    Practice Overview 14: Tuning the Shared Pool 14-54
    15 Tuning the Buffer Cache
    Objectives 15-2
    Oracle Database Architecture 15-3
    Buffer Cache: Highlights 15-4
    Database Buffers 15-5
    Buffer Hash Table for Lookups 15-6
    Working Sets 15-7
    Tuning Goals and Techniques 15-9
    Symptoms 15-11
    Cache Buffer Chains Latch Contention 15-12
    Finding Hot Segments 15-13
    Buffer Busy Waits 15-14
    Calculating the Buffer Cache Hit Ratio 15-15
    Buffer Cache Hit Ratio Is Not Everything 15-16
    Interpreting Buffer Cache Hit Ratio 15-17
    Read Waits 15-19
    Free Buffer Waits 15-21
    Solutions 15-22
    Sizing the Buffer Cache 15-23
    Buffer Cache Size Parameters 15-24
    Dynamic Buffer Cache Advisory Parameter 15-25
    Oracle Internal & Oracle Academy Use Only
    xiv
    Buffer Cache Advisory View 15-26
    Using the V$DB_CACHE_ADVICE View 15-27
    Using the Buffer Cache Advisory with EM 15-28
    Caching Tables 15-29
    Multiple Buffer Pools 15-30
    Enabling Multiple Buffer Pools 15-32
    Calculating the Hit Ratio for Multiple Pools 15-33
    Multiple Block Sizes 15-35
    Multiple Database Writers 15-36
    Multiple I/O Slaves 15-37
    Use Multiple Writers or I/O Slaves 15-38
    Private Pool for I/O Intensive Operations 15-39
    Automatically Tuned Multiblock Reads 15-40
    Flushing the Buffer Cache (for Testing Only) 15-41
    Summary 15-42
    Practice 15: Overview Tuning the Buffer Cache 15-43
    16 Tuning PGA and Temporary Space
    Objectives 16-2
    SQL Memory Usage 16-3
    Performance Impact 16-4
    Automatic PGA Memory 16-5
    SQL Memory Manager 16-6
    Configuring Automatic PGA Memory 16-8
    Setting PGA_AGGREGATE_TARGET Initially 16-9
    Monitoring SQL Memory Usage 16-10
    Monitoring SQL Memory Usage: Examples 16-12
    Tuning SQL Memory Usage 16-13
    PGA Target Advice Statistics 16-14
    PGA Target Advice Histograms 16-15
    Automatic PGA and Enterprise Manager 16-16
    Automatic PGA and AWR Reports 16-17
    Temporary Tablespace Management: Overview 16-18
    Temporary Tablespace: Best Practice 16-19
    Configuring Temporary Tablespace 16-20
    Temporary Tablespace Group: Overview 16-22
    Temporary Tablespace Group: Benefits 16-23
    Creating Temporary Tablespace Groups 16-24
    Maintaining Temporary Tablespace Groups 16-25
    View Tablespace Groups 16-26
    Monitoring Temporary Tablespace 16-27
    Oracle Internal & Oracle Academy Use Only
    xv
    Temporary Tablespace Shrink 16-28
    Tablespace Option for Creating Temporary Table 16-29
    Summary 16-30
    Practice Overview 16: Tuning PGA Memory 16-31
    17 Automatic Memory Management
    Objectives 17-2
    Oracle Database Architecture 17-3
    Dynamic SGA 17-4
    Granule 17-5
    Memory Advisories 17-6
    Manually Adding Granules to Components 17-7
    Increasing the Size of an SGA Component 17-8
    Automatic Shared Memory Management: Overview 17-9
    SGA Sizing Parameters: Overview 17-10
    Dynamic SGA Transfer Modes 17-11
    Memory Broker Architecture 17-12
    Manually Resizing Dynamic SGA Parameters 17-13
    Behavior of Auto-Tuned SGA Parameters 17-14
    Behavior of Manually Tuned SGA Parameters 17-15
    Using the V$PARAMETER View 17-16
    Resizing SGA_TARGET 17-17
    Disabling Automatic Shared Memory Management 17-18
    Configuring ASMM 17-19
    SGA Advisor 17-20
    Monitoring ASMM 17-21
    Automatic Memory Management: Overview 17-22
    Oracle Database Memory Parameters 17-24
    Automatic Memory Parameter Dependency 17-25
    Enabling Automatic Memory Management 17-26
    Monitoring Automatic Memory Management 17-27
    DBCA and Automatic Memory Management 17-29
    Summary 17-30
    Practice 17: Overview Using Automatic Memory Tuning 17-31
    Oracle Internal & Oracle Academy Use Only
    xvi
    18 Tuning Segment Space Usage
    Objectives 18-2
    Space Management 18-3
    Extent Management 18-4
    Locally Managed Extents 18-5
    Large Extents: Considerations 18-6
    How Table Data Is Stored 18-8
    Anatomy of a Database Block 18-9
    Minimize Block Visits 18-10
    The DB_BLOCK_SIZE Parameter 18-11
    Small Block Size: Considerations 18-12
    Large Block Size: Considerations 18-13
    Block Allocation 18-14
    Free Lists 18-15
    Block Space Management 18-16
    Block Space Management with Free Lists 18-17
    Automatic Segment Space Management 18-19
    Automatic Segment Space Management at Work 18-20
    Block Space Management with ASSM 18-22
    Creating an Automatic Segment Space Management Segment 18-23
    Migration and Chaining 18-24
    Guidelines for PCTFREE and PCTUSED 18-26
    Detecting Migration and Chaining 18-27
    Selecting Migrated Rows 18-28
    Eliminating Migrated Rows 18-29
    Shrinking Segments: Overview 18-31
    Shrinking Segments: Considerations 18-32
    Shrinking Segments by Using SQL 18-33
    Segment Shrink: Basic Execution 18-34
    Segment Shrink: Execution Considerations 18-35
    Using EM to Shrink Segments 18-36
    Table Compression: Overview 18-37
    Table Compression Concepts 18-38
    Using Table Compression 18-39
    Summary 18-40
    19 Tuning I/O
    Objectives 19-2
    I/O Architecture 19-3
    File System Characteristics 19-4
    I/O Modes 19-5
    Oracle Internal & Oracle Academy Use Only
    xvii
    Direct I/O 19-6
    Bandwidth Versus Size 19-7
    Important I/O Metrics for Oracle Databases 19-8
    I/O Calibration and Enterprise Manager 19-10
    I/O Calibration and the PL/SQL Interface 19-11
    I/O Statistics: Overview 19-13
    I/O Statistics and Enterprise Manager 19-14
    Stripe and Mirror Everything 19-16
    Using RAID 19-17
    RAID Cost Versus Benefits 19-18
    Should I Use RAID 1 or RAID 5? 19-20
    Diagnostics 19-21
    Database I/O Tuning 19-22
    What Is Automatic Storage Management? 19-23
    Tuning ASM 19-24
    How Many Disk Groups per Database 19-25
    Which RAID Configuration for Best Availability? 19-26
    ASM Mirroring Guidelines 19-27
    ASM Striping Granularity 19-28
    What Type of Striping Works Best? 19-29
    ASM Striping Only 19-30
    Hardware RAID Striped LUNs 19-31
    ASM Guidelines 19-32
    ASM Instance Initialization Parameters 19-33
    Dynamic Performance Views 19-34
    Monitoring Long-Running Operations by Using V$ASM_OPERATION 19-36
    ASM Instance Performance Diagnostics 19-37
    ASM Performance Page 19-38
    Database Instance Parameter Changes 19-39
    ASM Scalability 19-40
    Summary 19-41
    20 Performance Tuning Summary
    Objectives 20-2
    Necessary Initialization Parameters with Little Performance Impact 20-3
    Important Initialization Parameters with Performance Impact 20-4
    Sizing Memory Initially 20-6
    Database High Availability: Best Practices 20-7
    Undo Tablespace: Best Practices 20-8
    Temporary Tablespace: Best Practices 20-9
    General Tablespace: Best Practices 20-11
    Internal Fragmentation Considerations 20-12
    Oracle Internal & Oracle Academy Use Only
    xviii
    Block Size: Advantages and Disadvantages 20-13
    Automatic Checkpoint Tuning 20-14
    Sizing the Redo Log Buffer 20-15
    Sizing Redo Log Files 20-16
    Increasing the Performance of Archiving 20-17
    Automatic Statistics Gathering 20-19
    Automatic Statistics Collection: Considerations 20-20
    Commonly Observed Wait Events 20-21
    Additional Statistics 20-22
    Top 10 Mistakes Found in Customer Systems 20-23
    Summary 20-25
    Appendix A: Practices and Solutions
    Appendix B: Using Statspack
    Index

  • Project runs Ok in debug mode but not in release mode

    I have an application developed with VC++ 6.0 and measurement studio. The application controls SCXI-1161/1166 relay boards to connect the UUT. The application runs ok in debug mode, but in release mode the application can't drive the relay boards. I have tried to change optimizations mode, it didn't work. Who can tell me how to solve the problem? Thanks!

    It sounds like you have an older version of our SWITCH driver which relies on our DAQ driver. I would recommend uninstalling the Traditional DAQ, DAQmx, and SWITCH drivers and then installing the newest version. At this point you have 2 options:
    1) You can download Traditional DAQ 7.4, DAQmx 7.4, and NI-SWITCH 2.4 drivers bundled together here: ftp://ftp.ni.com/support/daq/pc/ni-daq/7.4/
    2) You can install the latest version: NI-DAQmx 7.5 here: http://digital.ni.com/softlib.nsf/websearch/CF7ECC​EA4C4CC7DE86257038004D88AE?opendocument&node=13206​... This has support for all of our USB DAQ devices (if you're not using them then you may not want to worry about installing this now) and then install Traditional DAQ 7.4 here: http://digital.ni.com/softlib.nsf/websearch/C36A54​ADDA3DC33D86257038004E55E6?opendocument&node=13206​... and NI-SWITCH 2.4 here: http://digital.ni.com/softlib.nsf/websearch/9D6B8C​7FD41BF3D08625702E0072E294?opendocument&node=13206​...
    This should solve your problem.

  • Query Performance Issue (First_rows hint)

    Dear friends, I am running a query on default optimizer mode (all_rows) but its not picking the right execution plan nor the right index but if changing optimizer mode into first_rows, its running insteadly. Tables statistics for concern tables are upto date. Same query was running fine some days back.
    Any idea about this behavior ?
    My culprit query as follow:
    SELECT *
    FROM (SELECT *
    FROM (SELECT /*+ parallel(h,10) */
    MSISDN,
    IMSI,
    SUBSCRIBER_TYPE,
    CASE
    WHEN INSTR(IN_SERVICE_NAMES, 'MTCIN') = 0 THEN
    WHEN INSTR(IN_SERVICE_NAMES, 'MTCIN') <> 0 THEN
    SUBSTR(IN_SERVICE_NAMES,
    INSTR(IN_SERVICE_NAMES, 'MTCIN') + 5,
    2)
    END MTC
    FROM RDMBKPIPRDAPP.HLS_OUT H
    WHERE LOAD_PROC_ID = '20112501'
    AND LOADING_COUNT = '1'
    AND SUBSCRIBER_TYPE = 'Prepaid')) A
    INNER JOIN (SELECT /*+ fu parallel(i,10) */
    MSISDN, IN_ID, LTRIM(IN_ID, '0') IN_INID
    FROM RDMBKPIPRDAPP.IN_OUT I
    WHERE LOAD_PROC_ID = '20112501'
    ) B ON A.MSISDN = B.MSISDN
    WHERE A.MOC <> B.IN_ID
    Regards
    Irfan Ahmad

    Irfan_Ahmad wrote:
    Dear friends, I am running a query on default optimizer mode (all_rows) but its not picking the right execution plan nor the right index but if changing optimizer mode into first_rows, its running insteadly. Tables statistics for concern tables are upto date. Same query was running fine some days back.
    Any idea about this behavior ?
    What is the "right" plan, what is the "wrong" plan, and what method do you use to convince yourself that the "right" plan IS the right plan ?
    Please use the 'code' tags when reporting the execution plans so that they are easily readable. (See comments at end of note).
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Unable to copy database with different name in the same instance

    I had a huge database and wanted to try some change optimization changes.
    So wanted to make a copy of the database along with data in the same instance.
    I have tried copy database wizard several times but always see the error as in attachment.
    Can someone let me know how to troubleshoot further?
    If this is not the correct way please suggest how do i copy a database with different name in the same instance along with data.

    Hi Nandu,
    From the screenshot, the error 1813 happens when corrupt database log is attempted to attach to the SQL Server. To work around this issue, please preform the following steps, for more details, please review this
    blog.
    1. Create a new database with same name which you want to recover. Make sure that the MDF file and LDF file have same name with previous database data and log file.
    2. Stop SQL Server. Move original MDF file from old location to new location by replacing just created MDF file. Delete the LDF file of new location just created.
    3. Start SQL Server. At this point, the database is in suspect status.
    4. Make sure that system tables of Master database allows to update the values. Please note that you will be performing this in query window.
    Use Master
    go
    sp_configure 'allow updates',1
    reconfigure with override
    go
    5. Change database mode to emergency mode.
    SELECT *
    FROM sysdatabases
    WHERE name = 'DatabaseName'
    BEGIN
    UPDATE sysdatabases
    SET status = 32768
    WHERE name = ' DatabaseName '
    COMMIT TRAN
    6. Restart SQL Server. Then execute the following DBCC command in query window to create new log file.
    DBCC TRACEON (3604)
    DBCC REBUILD_LOG(databasename,'c:\yourdatabasename_log.ldf')
    GO
    7. Reset the database status using following command.
    sp_RESETSTATUS yourdatabasename
    GO
    8. Turn off the update to system tables of Master database running following script.
    USE MASTER
    GO
    sp_CONFIGURE 'allow updates',0
    RECONFIGURE WITH OVERRIDE
    GO
    9. Reset the database status to previous status.
    BEGIN
    UPDATE sysdatabases
    SET status = (value retrieved in first query of step 5)
    WHERE name = 'DatabaseName‘
    COMMIT TRAN
    GO
    Make sure that you have done all the steps in order and restarted SQL Server where it is mentioned. Also run SQL Server Management Studio as administrator.(Right click-> Run as Administrator)
    Thanks,
    Lydia Zhang

  • Performance Issue - higher fetch count

    Hi,
    The database version is 10.2.0.4.
    Below is the tkprof report of an application session having performance issue.
    We shared the screens of application team and were able to see the lag in report generation.
    It shows an elapsed time of 157 seconds, however the same query when executed in database is taking fractions of a second.
    Kindly help and suggest if more detail is needed.
    call     count       cpu    elapsed       disk      query    current        rows
    Parse      149      0.00       0.00          0          0          0           0
    Execute    298      0.02       0.02          0          0          0           0
    Fetch      298    157.22     156.39          0   38336806          0         298
    total      745    157.25     156.42          0   38336806          0         298
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: FIRST_ROWS
    Parsing user id: 80
    Rows     Row Source Operation
          2  SORT AGGREGATE (cr=257294 pr=0 pw=0 time=1023217 us)
         32   FILTER  (cr=257294 pr=0 pw=0 time=6944757 us)
      22770    NESTED LOOPS  (cr=166134 pr=0 pw=0 time=4691233 us)
      22770     NESTED LOOPS  (cr=166130 pr=0 pw=0 time=4600141 us)
      82910      INDEX FULL SCAN S_LIT_BU_U1 (cr=326 pr=0 pw=0 time=248782 us)(object id 69340)
      22770      TABLE ACCESS BY INDEX ROWID S_LIT (cr=165804 pr=0 pw=0 time=559291 us)
      82890       INDEX UNIQUE SCAN S_LIT_P1 (cr=82914 pr=0 pw=0 time=247901 us)(object id 69332)
      22770     INDEX UNIQUE SCAN S_BU_U2 (cr=4 pr=0 pw=0 time=48958 us)(object id 63064)
         20    NESTED LOOPS  (cr=91032 pr=0 pw=0 time=268508 us)
      22758     INDEX UNIQUE SCAN S_ORDER_P1 (cr=45516 pr=0 pw=0 time=104182 us)(object id 70915)
         20     INDEX RANGE SCAN CX_ORDER_LIT_U1 (cr=45516 pr=0 pw=0 time=114669 us)(object id 158158)
         20    NESTED LOOPS  (cr=128 pr=0 pw=0 time=364 us)
         32     INDEX UNIQUE SCAN S_ORDER_P1 (cr=64 pr=0 pw=0 time=144 us)(object id 70915)
         20     INDEX RANGE SCAN CX_ORDER_LIT_U1 (cr=64 pr=0 pw=0 time=158 us)(object id 158158)Rgds,
    Sanjay
    Edited by: 911847 on Feb 2, 2012 5:53 AM
    Edited by: 911847 on Feb 5, 2012 11:50 PM

    Hi,
    I changed optimizer to first_rows and taken below details.
    09:21:31 SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_mode                       string      FIRST_ROWS_100
    09:21:51 SQL> ALTER SESSION SET STATISTICS_LEVEL=ALL;
    Session altered.
    PLAN_TABLE_OUTPUT
    SQL_ID  fkcs93gkrt2zz, child number 0
    SELECT COUNT (*)   FROM   SIEBEL.S_LIT_BU T1,   SIEBEL.S_BU T2,   SIEBEL.S_LIT T3
    WHERE   T3.BU_ID = T2.PAR_ROW_ID AND   T1.BU_ID = '0-R9NH' AND T3.ROW_ID = T1.LIT_ID
    AND  (T3.X_VISIBILITY_BUSCOMP_ORDER = 'Y') AND  (T3.ROW_ID = '1-28B0AH' OR T3.ROW_ID =
    '1-28B0AF' OR T3.ROW_ID = '1-2V4GCV' OR T3.ROW_ID = '1-2F5USL' OR T3.ROW_ID =
    '1-27PFED' OR T3.ROW_ID = '1-1KO7WJ' OR T3.ROW_ID IN (  SELECT SQ1_T1.LIT_ID  FROM
    SIEBEL.CX_ORDER_LIT SQ1_T1, SIEBEL.S_ORDER SQ1_T2  WHERE ( SQ1_T1.ORDER_ID =
    SQ1_T2.ROW_ID)  AND (SQ1_T2.ROW_ID = '1-2VVI61')) AND (T3.ROW_ID = '1-28B0AH' OR
    T3.ROW_ID = '1-28B0AF' OR T3.ROW_ID = '1-2V4GCV' OR T3.ROW_ID = '1-2F5USL' OR
    T3.ROW_ID = '1-27PFED' OR T3.ROW_ID = '1-1KO7WJ' OR T3.ROW_ID IN ( SELECT
    SQ1_T1.LIT_ID  FROM  SIEBEL.CX_ORDER_LIT SQ1_T1, SIEBEL.S_ORDER SQ1_T2  WHERE (
    SQ1_T1.ORDER_ID = SQ1_T2.ROW_ID)  AND (SQ1_T2.ROW_ID = '1-2VVI61'))))
    Plan hash value: 307628812
    | Id  | Operation                       | Name            | E-Rows |  OMem |  1Mem | Used-Mem |
    |   1 |  SORT AGGREGATE                 |                 |      1 |       |       |          |
    |*  2 |   FILTER                        |                 |        |       |       |          |
    |   3 |    NESTED LOOPS                 |                 |   7102 |       |       |          |
    |   4 |     MERGE JOIN                  |                 |   7102 |       |       |          |
    |*  5 |      TABLE ACCESS BY INDEX ROWID| S_LIT           |   7102 |       |       |          |
    |   6 |       INDEX FULL SCAN           | S_LIT_P1        |  41408 |       |       |          |
    |*  7 |      SORT JOIN                  |                 |  41360 |  1186K|   567K| 1054K (0)|
    |*  8 |       INDEX FULL SCAN           | S_LIT_BU_U1     |  41360 |       |       |          |
    |*  9 |     INDEX UNIQUE SCAN           | S_BU_U2         |      1 |       |       |          |
    |  10 |    NESTED LOOPS                 |                 |      1 |       |       |          |
    |* 11 |     INDEX UNIQUE SCAN           | S_ORDER_P1      |      1 |       |       |          |
    |* 12 |     INDEX RANGE SCAN            | CX_ORDER_LIT_U1 |      1 |       |       |          |
    |  13 |      NESTED LOOPS               |                 |      1 |       |       |          |
    |* 14 |       INDEX UNIQUE SCAN         | S_ORDER_P1      |      1 |       |       |          |
    |* 15 |       INDEX RANGE SCAN          | CX_ORDER_LIT_U1 |      1 |       |       |          |
    Predicate Information (identified by operation id):
       2 - filter((((INTERNAL_FUNCTION("T3"."ROW_ID") OR  IS NOT NULL) AND  IS NOT NULL)
                  OR INTERNAL_FUNCTION("T3"."ROW_ID")))
       5 - filter("T3"."X_VISIBILITY_BUSCOMP_ORDER"='Y')
       7 - access("T3"."ROW_ID"="T1"."LIT_ID")
           filter("T3"."ROW_ID"="T1"."LIT_ID")
       8 - access("T1"."BU_ID"='0-R9NH')
           filter("T1"."BU_ID"='0-R9NH')
       9 - access("T3"."BU_ID"="T2"."PAR_ROW_ID")
      11 - access("SQ1_T2"."ROW_ID"='1-2VVI61')
      12 - access("SQ1_T1"."ORDER_ID"='1-2VVI61' AND "SQ1_T1"."LIT_ID"=:B1)
      14 - access("SQ1_T2"."ROW_ID"='1-2VVI61')
      15 - access("SQ1_T1"."ORDER_ID"='1-2VVI61' AND "SQ1_T1"."LIT_ID"=:B1)
    Note
       - Warning: basic plan statistics not available. These are only collected when:
           * hint 'gather_plan_statistics' is used for the statement or
           * parameter 'statistics_level' is set to 'ALL', at session or system level

  • Premiere Pro Freezes mac while rendering Fast Color Corrector & Rgb curves

    I am having a problem that is impacting our business. We are doing commercials that we are doing color correction of the subject using Fast Color Corrector and RGB curves. When these effects are added to the sequenced video, the performance of the Mac Pro slows down considerably.
    Then when we go to render the project so that we can see the effects in real time, the computer freezes completely. The program usually informs us that it must close due to a serious error. I have attempted to restart the computer, clean up permissions etc to solve this problem but to no avail. Why would this happen? Any ideas on how to solve it?
    Here are the specs:
    Using Premiere Pro CC 7.2.1 (4)
    Mac Pro: 3.2 Ghz Quad-Core Intel Xeon
    Memory: 24 GB
    ATI Radeon HD 5770 (1024 MB)
    OS: 10.8.5

    Yes. I experimented on my own and got confirms from a couple of sources. Where the problem was is bad suggestions about what settings to use in Premiere Pro.
    The first setting you want to check (although Premiere Pro will probably see the card right away is:
    File > Project Settings > General - Make sure that Mercury Playback Engine GPU Acceleration is selected. Everyone agrees on this.
    Now is where the fun begins. There is a school of thought that says to go here:
    Sequence > Sequence Setttings - Under Video Previews, they want you to check off Maximum Render Quality. Once you do this, you must also go to:
    Preferences > Memory - and change Optimize Rendering for Performance
    DO NOT DO THIS! What I found is that this significantly slows down your system and makes rendering and exporting take over your computer (and I have a lot of ram). Leave your change with the setting Mercury Playback Engine GPU Acceleration and you should be great.
    I have found a significant change in running color correction effects, exporting and rendering. You will too.
    Let me know how you make out after your setup.
    Have a great day!

Maybe you are looking for