BI Apps796 Perf Tech Note V9

Embed Size (px)

Citation preview

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    1/134

    1

    B I

    A 7.9.6.

    ,

    01

    P A: P B

    C: E P, A B, N A,O S, W A, K D,

    A D, A K, A H, S L,

    S K, V E

    C 2013, . A .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    2/134

    O B I A V 7.9.6. P

    R

    C

    I ............................................................................................................................................................ 8

    H O BI A ................................................................ 8

    S C O B A W .................................................................... 9

    I ................................................................................................................................................... 9

    S S I B .............................................................................................................. 9

    C .................................................................................................................................................... 11

    S T ........................................................................................................................................................ 11

    O BI E E (OBIEE) / ETL T ................................................................................................ 11

    R OBIEE/ETL T ........................................................................................................ 11

    D ETL .................................................................................. 11

    T T ........................................................................................................................................................ 12

    S E R B P ...................................................................... 12

    C D C C S D ........................................................................... 12

    I ................................................................................................................................................. 12

    O G G ...................................................................................................................................... 12

    M V L ................................................................................................................................ 13

    D T S T ............................................................................................................ 17

    E W I D S ....................................................................................................... 17

    A S TEMP OLTP D S ..................................................................................... 18

    R S T P S L T ................................................................... 18

    U T R S E T P L. .......................................... 18

    C I O EBS I L P ................................................................ 19

    I ................................................................................................................................................. 19

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    3/134

    C OBIEE EBS 11 R12 ..................................................................................... 19

    C EBS EBS 11 ........................................................................................... 21

    O EBS ............................................................................................ 23

    C EBS CREATION_DATE EBS 11 .......................................................... 23

    O W R B P .......................................................................... 24

    D ................................................................................................................. 24

    O RDBMS 64 R .......................................................................................................... 24

    ETL REDO L .............................................................................................. 24

    O RDBMS S S ....................................................................................................................... 25

    P Q ............................................................................................................................. 25

    O B A W T ......................................................................................... 25

    B I ................................................................................... 26

    I ................................................................................................................................................. 26

    DAC ETL ............................................................................. 26

    B I ............................................................................................................. 28

    M D U I .................................................................................................. 32

    H Q I I ETL ................................................................................................... 34

    P L F .................................................................................................... 35

    I ................................................................................................................................................. 35

    R C RR P ........................................................................................ 36

    C R P U V C ...................................................................... 48

    I P ..................................................................................................................................... 50

    P P S Q ................................................................................................................. 50

    P P S T S............................................................................. 51

    C .................................................................................................................................................... 56

    T C ............................................................................................... 57

    T C R........................................................................................................ 57

    R C C T DML U D ........................................................ 57

    ETL A M V ....................................................................................................... 58

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    4/134

    I ................................................................................................................................................. 58

    I DAC A F S MV .................................................................................. 58

    U O DBMS_PARALLEL_EXECUTE (11R2) ................................................................... 66

    W 255 ........................................................................................... 68

    I ................................................................................................................................................. 68

    W ............................................................................................................. 69

    G O ETL ......................................................................... 69

    H J N L O RDBMS ...................................................................................... 69

    O D H U O B I A 7.9.6 M .......................... 72

    O D H U O B I A 7.9.6.3 M ....................... 75

    O D H U O B I A 7.9.6.4 M ....................... 78

    U O O D S ............................................................... 79

    O BI A B P O E ..................................................................................... 80

    D R A W E ........................................................................ 80

    H BI A I E W E .......................................................... 81

    G T S BI A T ............................................................................................ 82

    O B A W S S E ................................................................. 82

    P Q U BI A E............................................................................................. 82

    C I O B A W E ........................................... 82

    OBIEE Q P C E ................................................................................. 83

    E S F C ............................................................................................................................... 83

    T W R B P ...................................................................... 84

    I ...................................................................................................................................................... 84

    O T O ................................................................................................................. 84

    DB2 W R B P .............................................................................. 84

    DB2 W C ......................................................................................................................... 84

    D M L .............................................................................................................................. 84

    D L ............................................................................................................................................. 84

    D R ......................................................................................................................................... 85

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    5/134

    B P .................................................................................................................................................. 85

    T S ................................................................................................................................................. 85

    DB2 R B P ...................................................................................................... 85

    D B M ..................................................................................................................................... 85

    A U W ................................................................................................... 86

    SIEBTRUN SIEBSTAT E .................................................................................................................... 86

    T E ...................................................................................... 86

    DB2 I U M ............................................................................................................................ 87

    I ................................................................................................................................................. 87

    I I U M ............................................................................................................ 87

    SQL S W R B P ................................................................... 89

    SQL S I M DMV ......................................................................................................... 89

    I C B P .............................................................................................. 90

    I PC 32 . 64 ....................................................................................................... 90

    I S L .................................................................................................................................. 90

    I L ......................................................................................................................................... 91

    D L C L ............................................................................................... 92

    J S T L T I L .................................................................... 92

    I C R C ........................................................ 93

    D C R C DAC ............................................................................................ 93

    D C R C I ................................................................................ 93

    I S P ....................................................................................................................... 94

    C I ........................................................................................................................................... 94

    DTM B S ............................................................................................................................................ 94

    A C P L C C....................................................................... 94

    D B B S .............................................................................................................................. 94

    I L: B . N ................................................................................................................... 95

    I B L: T F ................................................................................................... 95

    U NULL P I M ..................................................................................................... 95

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    6/134

    I P S L ETL ................................................................................................. 96

    I W P ................................................................................................................... 96

    W S P W U ..................................................................................... 96

    R I C U ................................................................................ 97

    I S T HASH P................................................................................................ 97

    C P S W M ........................................................................................... 97

    I P P ...................................................................................................................... 98

    S R I M (O RDBMS) ........................................................................ 99

    O MERGE I I U P .................................................................... 99

    MERGE SQL I U O ............................................................................................... 99

    MERGE P SQL U O ..................................................................................................... 100

    MERGE I SQL T ............................................................................................... 101

    I L B I ................................................................................................. 108

    OBIEE Q P R ................................................................................................ 108

    I .................................................................................................................................................... 108

    OBIEE C, D P A ........................................................................ 109

    OBIEE L U LOGLEVEL=7.............................................................................................................. 109

    OBIEE I B O ........................................................................................................................ 109

    OBIEE C O ......................................................................................................................... 109

    OBIEE D F ........................................................................................................................... 110

    OBIEE NQQ. S ..................................................................................................................... 110

    I F OBIEE R ....................................................................................................... 110

    OBIEE ETL Q O O E S .......................................................... 110

    I ............................................................................................................................................... 110

    R L E ....................................................................................................................................... 112

    C S .................................................................................................................................................. 113

    OBIEE Q O U M V ................................................................................. 114

    I ............................................................................................................................................... 114

    D C R MV ............................................................................... 114

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    7/134

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    8/134

    Oracle Business Intelligence Applications Version 7.9.6 Performance

    Recommendations

    O B I (BI) A V 7.9.6

    O . 7.9.6 . E O BI A

    ETL,

    .

    T O BI A 7.9.6 , I PC 8.6.

    9. ETL , O B I E E (OBIEE) 10.1.3.4. 11.1.1.. M

    BI A 7.9.6. . R

    .

    :T O BI A, DBA A . I

    I O RDBMS,

    . C O E S

    BI A .

    B A

    D , O BI A V 7.9.6 ,

    . T ETL . R O BI A

    A O B I E E (OBIE OBIEE .

    O E (V2) BI A ETL OBIEE . O BI

    A E ETL . T BI A / E

    . R O E ,

    BI A .

    O E OBIEE . T E

    .

    T O BI A .

    C A EDI AGE

    T V U 200 G 200 G 1 T 1 T

    # CPU 16 32 64*

    P RAM 3264 G 64128 G 256+ G*

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    9/134

    S S U 400 G 400 G 2 T 2T

    S S

    L (PATA, SATA, SCSI),

    NAS, RAID

    H SCSI SAN

    16 G HBA ,

    / 2G E

    NIC

    H SCSI SAN

    24 G HBA ,

    / 2G E

    NIC

    BI E E / E

    # CPU 8 16 32

    P RAM 8 G 16 G 32 G

    S S 100 G 200 G 400 G

    * C O RAC

    .

    I!

    D , OBIEE ,

    .

    T OBIEE , OBIEE C O E. R OBIEE E .

    I O BI A . I

    W A N (WAN) ETL E

    ETL .

    C B A

    O BI A ETL ETL

    ETL . U CPU ETL

    I/O ETL . T

    :

    S ( P Q C )

    R I/O , ,

    C BI A .

    B

    S I/O ETL ETL . T

    NA

    , ETL .

    C :

    L #1 #2 :

    2 1.8 GH I X CPU

    32 GB RAM

    S NA , 1 2, EXT3 :

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    10/134

    o S #1 1

    o S #2 2

    E :

    S I/O 8K 16K, .

    E ETL .

    R :

    oT#1: NFS 1 L #1; L #2 .

    oT#2: NFS 1 2 L #1 #2.

    T KB / :

    - I : .

    - : .

    - : .

    - : .

    - : .

    - : .

    - : .

    - : .

    - : .

    - : , : 4 K,

    200 K, 4 K, 200 K .

    :

    #1 #2

    "I " 46087.10 KB/ 30039.90 KB/

    "R " 70104.05 KB/ 30106.25 KB/

    "R " 3134220.53 KB/ 2078320.83 KB/

    "R " 3223637.78 KB/ 3038416.45 KB/

    "R R " 1754192.17 KB/ 1765427.92 KB/

    "S " 1783300.46 KB/ 1795288.49 KB/

    "R " 1724525.63 KB/ 1755344.27 KB/

    "M " 2704878.70 KB/ 2456869.82 KB/

    "R " 68053.60 KB/ 25367.06 KB/

    "P " 45778.21 KB/ 23794.34 KB/

    "P " 2837808.30 KB/ 2578445.19 KB/

    T T 110 216

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    11/134

    I W, R, I R, R W, P ( ) ,

    R R, S R, R R, M W P ( )

    .

    R RAID

    .

    CY , O BI A . A

    RAID () . S I/O ET

    .

    O BI A CPU . T

    I/O , ETL . U I/O RAID

    I/O B A ETL

    . R S E R B

    P OLTP D .

    B E E (BEE) / E

    BEE/E

    T O BIEE/ETL T :

    - O B I S 10.1.3.4. 11

    - I PC 8.6. 9. C

    - I PC 8.6. 9. S

    - D W A C (DAC) 10.1.3.4.1

    - D W A C 10.1.3.4.1

    - I BI A R ( )

    - DAC BI A R ( )

    D E

    T I DAC .

    T I DAC .

    T I DAC ETL A , W ,

    I DAC .

    I DAC , O B AW, O, IBM DB2 M SQL S.

    T I DAC

    .

    Y I L B , I

    ETL .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    12/134

    R O, IBM DB2 M SQL S D W .

    E B

    C D C C D

    O BI A A ,

    ETL OLTP ETL . I

    LAST_UPDATE_DATE O EBS I S CRM. H

    . A , ,

    ETL .

    T C D C (CDC) :

    G G

    M V L (O RDBMS)

    D T

    N: DAC I

    I DAC .

    O G G (GG) CDC, . I

    , . G G

    , ETL . R G G / OLPT S

    G G S .

    I ETL G G, , . T

    I ETL, , I ETL, G G (GG) :

    1. R GG EXTRACTOR .

    2. R I ETL . Y ETL

    GG .

    3. R GG REPLICAT HANDLECOLLISIONS

    . F :

    START replicat ora_rep

    S _ :

    REPLICAT ora_repUSERID gg_replicat@ora, PASSWORD gg_replicatHANDLECOLLISIONSNOCOMPRESSUPDATESASSUMETARGETDEFS

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    13/134

    INSERTALLRECORDSMAP user_ext.employees, TARGET user_rep.employees,COLMAP (USEDEFAULTS);

    4. C . R L R C

    ETL . F :

    INFO REPLICAT ora_rep-----------------------------------------------------------------------------------REPLICAT HR_R Last Started 2010-29-03 15:24 Status RUNNING

    Checkpoint Lag 00:00:00 (updated 00:00:00 ago)Log Read Checkpoint File D:\GG\dirdat\or0000012010-29-03 15:26:35.114956 RBA 1536

    5. I REPLICAT :

    SEND REPLICAT ora_rep, NOHANDLECOLLISIONS USER_REP.employees

    6. R HANDLECOLLISIONS .

    G G , CDC

    DML . T , ,

    ETL GG :

    1. GG EXTRACTOR R L .

    2. T EXTRACTOR .

    3. T REPLICAT CDC (, , ).

    4. W I ETL , REPLICAT ETL .

    O M V (MV) L CDC

    .

    I!MV L , OLTP . Y MV L

    CDC .

    R MV L:

    1. MV L ,

    OLTP .

    2. E MV MV L. O

    OLTP .

    3. A MV L MV. T MV L

    MV .

    R O MV MV L .

    T MV L PS_PROJ_RESOURCE PS

    SDE_PSFT_PBF .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    14/134

    PS ESA A DTTM_STAMP PS_PROJ_RESOURCE,

    SDE_PSFT_PBF . A ,

    SQL .

    T CDC MV L :

    1. C A MV PS_PROJ_RESOURCE :

    CREATE MATERIALIZED VIEW LOG ON PS_PROJ_RESOURCE NOCACHE LOGGING NOPARALLEL WITH SEQUENCE;

    2. C (PK) , PS_PROJ_RESOURCE

    ALTER TABLE PS_PROJ_RESOURCE ADD CONSTRAINT PS_PROJ_RESOURCE_PK PRIMARY KEY

    (BUSINESS_UNIT,PROJECT_ID,ACTIVITY_ID,RESOURCE_ID) USING INDEX PS_PROJ_RESOURCE;

    3. C M V PS_PROJ_RESOURCE LAST_UPDATE_DT . T

    SYSDATE :

    CREATE TABLE OBIEE_PS_PROJ_RESOURCE_MV AS SELECT * FROM PS_PROJ_RESOURCE WHERE 1=2;

    ALTER TABLE OBIEE_PS_PROJ_RESOURCE_MV ADD (LAST_UPDATE_DT DATE DEFAULT SYSDATE);

    CREATE MATERIALIZED VIEW OBIEE_PS_PROJ_RESOURCE_MVON PREBUILT TABLEREFRESH FAST ON DEMANDAS SELECT * FROM PS_PROJ_RESOURCE;

    4. C MV LAST_UPDATE_DT:

    CREATE INDEX OBIEE_PS_PROJ_RESOURCE_I1 ON OBIEE_PS_PROJ_RESOURCE_MV(LAST_UPDATE_DT);

    5. C MV, SDE F S Q :

    CREATE VIEW OBIEE_PS_PROJ_RESOURCE_VW AS SELECT * FROM OBIEE_PS_PROJ_RESOURCE_MV;

    6. R MV. T ETL MV L.

    exec dbms_mview.refresh(OBIEE_PS_PROJ_RESOURCE_MV,C);

    7. U SDE MV, :

    LAST_UPDATE_DT > _('$$LAST_EXTRACT_DATE', 'MM/DD/YYYY HH24:MI:SS')

    1. O DAC C T > S D > A > T A

    2. C N B T A F R M V.

    3. C C B V .

    4. C A :

    N: OBIEE PS M V C

    T: SQL

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    15/134

    D C: T

    T T: A T

    V D P: O

    5. E SQL S :

    BEGINDBMS_MVIEW.REFRESH('getTableName()', 'F');END;

    6. C OK .

    1. O PS D B > T .

    2. C N OBIEE_PS_PROJ_RESOURCE_MV.

    3. C S.

    4. A LAST_UPDATE_DT (DATE ) .

    5. S .

    1. O P , D > T > N .

    2. C R_OBIEE_PS_PROJ_RESOURCE_MV .

    3. C S PROJ_RESOURCE .

    4. C T OBIEE_PS_PROJ_RESOURCE_MV .

    5. C A .

    6. S .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    16/134

    1. O P , D > T :

    . SDE_PSFT_PBF

    . SDE_PSFT_PCLF

    . SDE_PSFT_PRLF

    2. F , S , PROJ_RESOURCE OBIEE_PS_PROJ_RESOURCE_MV.

    3. S .

    4. O P A. I , A.

    1. O PS D > T G .

    2. C N TASK_GROUP_OBIEE_L_PF,

    , .

    1. O PS , D > S A P

    2. C C T , PS NPS.

    R .

    3. S .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    17/134

    R S A E . V

    E .

    R BI A A A G, "C DAC O D S

    A" .

    D

    Y .

    T OLTP ,

    .

    H O :

    CREATE OR REPLACE TRIGGER CDC_Trigger

    AFTER UPDATE OR INSERT ON Base_Table

    FOR EACH ROW

    BEGIN

    IF INSERTING THEN

    INSERT INTO AUX_TABLE VALUES(:new.TEST_ID, SYSTIMESTAMP);

    END IF;

    IF UPDATING THEN

    UPDATE AUX_TABLE SET LAST_UPDATE_DATE = SYSTIMESTAMP WHERE TEST_ID = :new.TEST_ID;

    END IF;

    END;

    /

    R :

    E CDC .

    C CDC .

    M OLTP CDC ,

    .

    E D

    ETL OLTP D S ETL . ETL

    A ,

    ETL. O ,

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    18/134

    ,

    ETL .

    W OLTP ,

    .

    T ,

    .

    A E D

    O BI A A E ,

    OLTP . A , OLTP D S TEMP

    T TEMP OLTP . S, TEMP BI A E

    100G 1T. Y TEMP OLTP . I

    TEMP ETL ,

    , TEMP ETL.

    I E OLTP S

    ,

    Y (_PS)

    . T G G

    .

    Y I , SELECT

    WHERE :

    C I . I

    , .

    I . Y I U S DML.

    I , , .,

    .

    S DAC .

    E .

    T P S (_PS) , ,

    _PS . A,

    .

    P _PS . Y

    .

    T SDE_ORA_BIF

    I.

    SDE_ORA_BIF EBS :

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    19/134

    BOM_COMPONENTS_B

    BOM_STRUCTURES_B

    BOM_PARAMETERS

    FND_LOOKUP_VALUES

    MTL_SYSTEM_ITEMS_B

    A, CONNECT BY PLSQL API BOM I BOM H. T BOM

    E API OLTP , ETL CONNECT BY AP

    BOM I .T :

    1. C , CONNECT BY API .

    2. C I LAST_UPDATE_DATE CDC .

    3. I W_BOM_HEADER_DS ORG_ID BOM_ITEM . Y

    . F :Org_id = 100 & bom_item=4

    Org_id = 100 & bom_item != 4

    Org_id = 200 & bom_item = 4

    Org_id = 200 & bom_item !=4

    Org_id = 300 & bom_item=4 (*)

    Org_id = 300 & bom_item !=4Org_id = the rest & bom_item =4

    Org_id = the rest & bom_item !=4

    (*) ,

    4. M I CONNECT BY API ORG_ID BOM_ITEM .

    C EB

    O EBS LAST_UPDATE_DATE , O BI A . S O BI A

    LAST_UPDATE_DATE , . T

    :

    - T LAST_UPDATE_DATE EBS ,

    LAST_UPDATE_DATE .

    - T LAST_UPDATE_DATE , O EBS R 12.

    - T LAST_UPDATE_DATE

    EBS .

    C BEE EB 11 12 T , LAST_UPDATE_DATE EBS . T

    LAST_UPDATE_DATE O EB

    P G. A O EBS 11 R12 DDL

    .

    I :

    - EBS R12

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    20/134

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    21/134

    CREATE index AR.OBIEE_HZ_PARTY_SITES ON AR.HZ_PARTY_SITES(LAST_UPDATE_DATE) tablespace

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    22/134

    - EBS 11 11.5.9 OATM*

    APPS_TS_TX_IDX DDL.

    I EBS 11 11.5.9 OATM*,

    X, LAST_UPDATE_DATE

    .

    DDL :

    CREATE index PO.RCV_TRANSACTIONS_N23 ON PO.RCV_TRANSACTIONS (LAST_UPDATE_DATE) INITIAL 4K NEXT 2MMINEXTENTS 1 MAXEXTENTS 50 PCTINCREASE 0 INITRANS 2 MAXTRANS 255 PCTFREE 10 tablespace

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    23/134

    C 11.5.10 OATM OATM M . R O S

    N .

    EB

    T O EBS ,

    LAST_UPDATE_DATE OLTP . F

    OLTP A . O BI A

    LAST_UPDATE_DATE

    ETL OLTP .

    T EBS , A W R (AWR)

    OLTP , / , S S

    LAST_UPDATE_DATE . R O RDBMS

    AWR .

    M :

    CREATE index .OBIEE_ ON . (LAST_UPDATE_DATE) tablespace

    ;

    AP AP_EXPENSE_REPORT_LINES_ALL

    AP AP_INVOICE_DISTRIBUTIONS_ALL

    AP AP_AE_LINES_ALL

    AP AP_PAYMENT_HIST_DISTS

    AR AR_PAYMENT_SCHEDULES_ALL

    AR AR_RECEIVABLE_APPLICATIONS_ALL

    AR RA_CUST_TRX_LINE_GL_DIST_ALL

    AR RA_CUSTOMER_TRX_LINES_ALL

    BOM BOM_COMPONENTS_B

    BOM BOM_STRUCTURES_B

    CST CST_ITEM_COSTS

    GL GL_BALANCES

    GL GL_DAILY_RATES

    GL GL_JE_LINES

    NV MTL_MATERIAL_TRANSACTIONS

    NV MTL_SYSTEM_ITEMS_B

    ONT OE_ORDER_LINES_ALL

    PER PAY_PAYROLL_ACTIONS

    PO RCV_SHIPMENT_LINESWSH WSH_DELIVERY_ASSIGNMENTS

    WSH WSH_DELIVERY_DETAILS

    C EB CEADAE EB 11

    O EBS CREATION_DATE, O BI

    A . Y CREATION_DATE

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    24/134

    ETL . Y CREATION_DATE

    ETL EBS .

    B

    D

    O B I A 7.9.6 O RDBMS 10 11. S O BI A

    , , ETL , O BI A D W :

    - O 10 O 10.2.0.5 .

    - O 11 O 11.1.0.7 .

    I!O 10.2.0.1 O B A W P.

    O BI A . ,

    \\D\ :

    - 10R2. . O RDBMS 10

    - 11. . O RDBMS 11

    - 11R2. . O RDBMS 11R2

    R .

    .

    N: . E / 11R2 E .

    DB 64

    O O B A W O RDBMS 64, 64

    O S (OS). I 64 OS , V L M (VLM) U / L

    A W E (AWE) W 32 P. VLM/AWE

    . R O M VLM AWE .

    :Y _ __ VLM / AWE

    '___ = '. Y SGA

    __ __ .

    E ED

    I ETL REDO ,

    . I ARCHIVELOG , :

    1. S NOARCHIVELOG , I ETL,

    ARCHIVELOG .

    2. A 1015% REDO I ETL.

    B REDO ETL :

    redo log file sequence:start : 641 (11 Jan 21:10)end : 1624 (12 Jan 10:03)total # of redo logs : 983log file size : 52428800

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    25/134

    redo generated: 983*52428800 = 51537510400 (48 GB)

    D L :SQL> select sum(bytes)/1024/1024/1024 Gb from dba_segments where owner='DWH' and segment_type='TABLE';

    Gb----------280.49

    DB

    O O 9

    , CPU , . O ,

    . F

    , , BI A .

    O BI A O

    ETL.

    O :

    - R _.__('') ,

    _.__('') .

    - R _.__('', =>N) N

    .

    I! E _.__, . O

    . U .

    T D W A C (DAC) O P Q

    . B DAC 'PARALLEL'

    . R . , \\D

    :

    __ __

    ___

    I!Y

    I , I/O ,

    .

    S DAC ,

    __ ___

    . T :

    SQL> select name, value from v$sysstat where name like 'Parallel%';

    R "___" "__" .

    B A

    B , DAC : DATA ,

    INDEX . D

    .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    26/134

    T :

    D A EDI AGE

    D W S U 200 G 200 G 1 T 1 T

    T T 50 75 G 75 300 G 150 250G

    DATA T 150 G 150 800 G > 800 G

    INDEX T 50 G 50 200 G > 200 G

    I!Y L M AUTOALLOCATE . DO NOT UNIFORM ,

    .

    U () . DO NOT

    .

    N INDEX T .

    D , DAC ,

    , RAID / IO C, INDEX .

    Y (_FS) (_F) . S

    T L (SIL) I/O RAID .

    B

    O B I A V 7.9.0 B I O RDBMS

    I BT , B

    . T BT

    .

    A , ETL O 10 11. D ETL , ET

    . T

    , ETL

    . C, , ,

    , .

    T DAC

    ETL .

    DAC E

    DAC ETL . P ,

    BT . D

    ETL , DAC ETL , .

    F ETL , DAC DAC

    .

    T , DAC 10.1.3.4.1, ETL :

    E D

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    27/134

    /C

    E

    PY N

    DAC , ,

    . I E .

    I ETL:

    - Y

    - N ETL

    I ETL:

    - Y A D & C (B)

    ETL

    - N ETL

    DB2/390 N. T

    Y, ETL

    ,

    N.

    I!W N,

    .

    Y

    D

    C

    I Y N

    T A D C ,

    .

    - Y B ETL .

    - N B ETL .

    T A D & C B D/C

    I N'. I

    DAC, ETL

    .

    T O .

    N/A

    D

    CI Y N

    T A D C ,

    .

    - Y ETL .

    - N ETL .

    T A D & C D/C I

    N'. I DAC,

    ETL .

    N/A

    U IETL

    QUERY

    - ETL ETL .

    DAC ETL , D/C I, A D C B A D

    & C T. DAC ETL

    , .

    - Q .

    N/A

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    28/134

    A

    N

    ST

    F

    - T T DAC DAC

    .

    - F DAC

    .

    T D/C

    I T, DAC

    ETL .

    F

    P

    P

    D

    S

    NT DAC

    .1

    B

    R .

    P O BI A , DAC ,

    ETL ,

    O BI S .

    R ,

    . T BITMAP DAC :

    - L DAC , D ,

    I .

    - C Q

    - E T I B G.

    T , RPD , BI S

    A T Q R R T

    T DAC D W:

    - C I , .

    - R DAC .

    - C .

    A . Y DAC

    :

    SQL> alter session set nls_date_format='DD-MON-YYYY:HH24:MI:SS';

    -- Identify your ETL Run and put its format into the subsequent queries:

    select ROW_WID, NAME ETL_RUN

    , EXTRACT(DAY FROM (END_TS - START_TS) DAY TO SECOND ) || ' days '

    || EXTRACT(HOUR FROM (END_TS - START_TS) DAY TO SECOND ) || ' hrs '

    || EXTRACT(MINUTE FROM (END_TS - START_TS) DAY TO SECOND ) || ' min '

    || EXTRACT(SECOND FROM (END_TS - START_TS) DAY TO SECOND ) || ' sec ' PLAN_RUN_TIME

    from W_ETL_DEFN_RUN

    order by START_TS DESC;

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    29/134

    -- Identify your custom Execution Plan Name:

    SELECT DISTINCT app.row_wid

    FROM w_etl_defn_run run

    , w_etl_app app

    , w_etl_defn_prm prm

    WHERE prm.etl_defn_wid = run.etl_defn_wid

    AND prm.app_wid = app.row_wid

    AND run.row_wid = ';

    -- Indexes build time:

    SELECT ref_idx.tbl_name table_name

    , ref_idx.idx_name

    , sdtl.start_ts start_time

    , sdtl.end_ts end_time

    , EXTRACT(DAY FROM(sdtl.end_ts - sdtl.start_ts) DAY TO SECOND) || ' days '

    || EXTRACT(HOUR FROM(sdtl.end_ts - sdtl.start_ts) DAY TO SECOND) || ' hrs '

    || EXTRACT(MINUTE FROM(sdtl.end_ts - sdtl.start_ts) DAY TO SECOND) || ' min '

    || EXTRACT(SECOND FROM(sdtl.end_ts - sdtl.start_ts) DAY TO SECOND) || ' sec' idx_bld_time

    FROM w_etl_defn_run def

    , w_etl_run_step stp

    , w_etl_run_sdtl sdtl

    , (SELECT ind_ref.obj_wid

    , ind.name idx_name

    , tbl.name tbl_name

    FROM w_etl_index ind

    , w_etl_obj_ref ind_ref

    , w_etl_obj_ref tbl_ref

    , w_etl_table tbl

    , w_etl_app app

    WHERE ind_ref.obj_type = 'W_ETL_INDEX' AND ind_ref.soft_del_flg = 'N' AND ind_ref.app_wid =

    AND ind_ref.obj_wid = ind.row_wid

    AND tbl_ref.obj_type = 'W_ETL_TABLE' AND tbl_ref.soft_del_flg = 'N' AND tbl_ref.app_wid =

    AND tbl_ref.obj_wid = tbl.row_wid

    AND tbl_ref.obj_ref_wid = ind.table_wid

    AND ind.app_wid = app.row_wid

    AND ind.inactive_flg = 'N'

    ) ref_idx

    WHERE def.row_wid = stp.run_wid

    AND def.row_wid ='

    AND sdtl.run_step_wid = stp.row_wid

    AND sdtl.type_cd = 'Create Index'

    AND sdtl.index_wid = ref_idx.obj_wid

    -- AND ref_idx.tbl_name = 'W_OPTY_D'

    ORDER BY sdtl.end_ts - sdtl.start_ts DESC

    -- Table Stats computing time:

    select TBL.NAME TABLE_NAME

    , STP.STEP_NAME

    , EXTRACT(DAY FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' days '

    || EXTRACT(HOUR FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' hrs '

    || EXTRACT(MINUTE FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' min '

    || EXTRACT(SECOND FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' sec' TBL_STATS_TIME

    from W_ETL_DEFN_RUN DEF

    , W_ETL_RUN_STEP STP

    , W_ETL_RUN_SDTL SDTL

    , W_ETL_TABLE TBL

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    30/134

    where DEF.ROW_WID=STP.RUN_WID

    and DEF.ROW_WID ='

    and SDTL.RUN_STEP_WID = STP.ROW_WID

    and SDTL.TYPE_CD = 'Analyze Table'

    and SDTL.TABLE_WID = TBL.ROW_WID

    order by SDTL.END_TS - SDTL.START_TS desc;

    -- Informatica jobs for the selected ETL run:

    select

    SDTL.NAME SESSION_NAME

    , SDTL.SUCESS_ROWS

    , STP.FAILED_ROWS

    , SDTL.READ_THRUPUT

    , SDTL.WRITE_THRUPUT

    , EXTRACT(DAY FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' days '

    || EXTRACT(HOUR FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' hrs '

    || EXTRACT(MINUTE FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' min '

    || EXTRACT(SECOND FROM (SDTL.END_TS - SDTL.START_TS) DAY TO SECOND ) ||' sec' INFA_RUN_TIME

    from W_ETL_DEFN_RUN DEF

    , W_ETL_RUN_STEP STP

    , W_ETL_RUN_SDTL SDTL

    where DEF.ROW_WID=STP.RUN_WID

    and DEF.ROW_WID ='

    and SDTL.RUN_STEP_WID = STP.ROW_WID

    and SDTL.TYPE_CD = 'Informatica'

    order by SDTL.END_TS - SDTL.START_TS desc;

    I ,

    , :

    O 1: . R .

    O 2: I ,

    . R .

    O 2 (%_F). I , .

    I! B , ,

    SQL DML . T SQL

    . A,

    Y

    .

    I

    ,

    .

    S DAC D C B I A A D & C,

    DAC . T

    :

    L DAC , D ,

    I .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    31/134

    C Q .

    C A D & C I ,

    .

    I:Y I ; DAC

    . S I

    " " , A D & C

    .

    I ,

    PCTFREE 50 . O RDBMS

    B*T . W , , ,

    . T PCTFREE .

    A :

    - A 20 ,

    , 0.5 1 .

    - F ,

    .

    - F ,

    .

    = 0 1

    O BI A ETL . D

    . S

    , D W DAC .

    T , DAC . Y

    DBA , :

    ACCEPT DAC_OWNER PROMPT 'Enter DAC Repository schema name: 'ACCEPT DWH_OWNER PROMPT 'Enter Data Warehouse schema name: '

    SELECT row_wid FROM "&&DAC_OWNER".w_etl_app;ACCEPT APP_ID PROMPT 'Enter your DAC container from the list above: '

    UPDATE "&&DAC_OWNER".w_etl_index SET inactive_flg = 'Y' WHERE row_wid IN (SELECT ind_ref.obj_widFROM "&&DAC_OWNER".w_etl_index ind,

    "&&DAC_OWNER".w_etl_obj_ref ind_ref,"&&DAC_OWNER".w_etl_obj_ref tbl_ref,"&&DAC_OWNER".w_etl_table tbl,"&&DAC_OWNER".w_etl_app app,all_indexes all_ind

    WHERE ind_ref.obj_type = 'W_ETL_INDEX'AND ind_ref.soft_del_flg = 'N'AND ind_ref.app_wid = '&&APP_ID'AND ind_ref.obj_wid = ind.row_widAND tbl_ref.obj_type = 'W_ETL_TABLE'AND tbl_ref.soft_del_flg = 'N'AND tbl_ref.app_wid = '&&APP_ID'AND tbl_ref.obj_wid = tbl.row_widAND tbl_ref.obj_ref_wid = ind.table_widAND ind.app_wid = app.row_widAND ind.inactive_flg = 'N'AND all_ind.index_name = ind.nameAND all_ind.table_name = tbl.nameAND all_ind.distinct_keys

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    32/134

    AND all_ind.uniqueness = 'NONUNIQUE'AND all_ind.num_rows >= 1

    -- AND ind.type_cd = 'Query'AND all_ind.owner = '&&DWH_OWNER');

    COMMIT;

    -- Drop the indexes in the schema:

    spool drop_dist_indexes.sqlSELECT 'DROP INDEX ' || owner|| '.' || index_name || ' ;'

    FROM all_indexesWHERE distinct_keys

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    33/134

    BEGINexecute immediate 'CREATE %1 INDEX

    %2ON

    %3(

    %4)

    NOLOGGING TABLESPACE ';execute immediate 'ALTER INDEX %2 MONITORING USAGE';END;

    BEGINexecute immediate 'CREATE %1 INDEX

    %2ON

    %3(

    %4)NOLOGGING TABLESPACE PARALLEL';

    execute immediate 'ALTER INDEX %2 MONITORING USAGE';END;

    7. O CSQL. ,

    .

    8. I ETL, PL/SQL

    :

    DECLARECURSOR c1 IS

    SELECT index_nameFROM user_indexesWHERE index_name NOT IN (SELECT index_name

    FROM v$object_usageWHERE MONITORING = 'YES');

    BEGINFOR rec IN c1 LOOPEXECUTE IMMEDIATE 'alter index '||rec.index_name||' monitoring usage';

    END LOOP;END;/

    T SQL:

    SELECT DISTINCT index_name FROM myobj_usage WHERE used = 'NO';

    I!T DOES NOT I U M

    :

    DML P ( DELETE UPDATE), C

    F K (FK) FK N I C , C FK , O

    $_.

    $.

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    34/134

    O , , ,

    $_. S BI A ,

    BITMAP , NORMAL ( )

    , ETL OBIEE .

    Y

    DAC .

    A , DAC ,

    :

    1. R ///CSQL/CSQL. .

    2. R "S ETL" S DAC

    3. E PL/SQL :

    DECLARECURSOR c1 ISSELECT index_name

    FROM user_indexesWHERE index_name IN (SELECT index_name FROM v$object_usage WHERE MONITORING = 'YES');

    BEGINFOR rec IN c1 LOOPEXECUTE IMMEDIATE 'alter index '||rec.index_name||' nomonitoring usage';

    END LOOP;END;

    I!Y , ,

    DAC .

    E

    O BI A , ETL OBIEE

    . M BITMAP O . C

    ETL . T

    , ,

    .

    Y ALL ETL :

    1. D > ETL > > ETL > OBIEE

    2. D > ETL > > ETL > OBIE

    T , : 1ETL > 2ETL > OBIEE. Y 1ETL > OBIEE > 2ETL .

    I!I

    , ,

    .

    I PRIOR ETL :

    CREATE TABLE psr_initial_query_idx AS

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    35/134

    SELECT ind_ref.obj_wid,ind.NAME idx_name,tbl.NAME tbl_name

    FROM w_etl_index ind,w_etl_obj_ref ind_ref,w_etl_obj_ref tbl_ref,w_etl_table tbl,w_etl_app app

    WHERE ind_ref.obj_type = 'W_ETL_INDEX'AND ind_ref.soft_del_flg = 'N'AND ind_ref.app_wid = :APP_ID

    AND ind_ref.obj_wid = ind.row_widAND tbl_ref.obj_type = 'W_ETL_TABLE'AND tbl_ref.soft_del_flg = 'N'AND tbl_ref.app_wid = :APP_IDAND tbl_ref.obj_wid = tbl.row_widAND tbl_ref.obj_ref_wid = ind.table_widAND ind.app_wid = app.row_widAND ind.inactive_flg = 'N'AND ind.isunique = 'N'AND ind.type_cd = 'Query'AND (ind.DRP_CRT_ALWAYS_FLG = 'Y' OR ind.DRP_CRT_BITMAP_FLG = 'Y')

    APP_ID :

    SELECT row_wid FROM w_etl_app;

    D PRIOR ETL :

    SQL> UPDATE w_etl_index SET inactive_flg = 'Y' WHERE row_wid IN (SELECT obj_wid FROMpsr_initial_query_idx);

    SQL> commit;

    E ETL .

    E PRIOR ETL :

    SQL> UPDATE w_etl_index SET inactive_flg = 'N' WHERE row_wid IN (SELECT obj_wid FROMpsr_initial_query_idx);

    SQL> commit;

    E ETL . DAC .

    T , ,

    ETL, S (),

    , . O

    ,

    .

    L , 20 , . T

    , , , , . Y

    , .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    36/134

    T O B A D W, DAC

    .

    F DAC . P

    , .

    C

    P .

    C ,

    ETL . R

    :

    I DATE .

    C O BI S

    .

    A

    , , .

    B , .

    T ,

    .

    S ,

    . C O

    .

    T ETL (90%) ,

    . D ,

    :

    - M : , .. PREVIOUS

    CURRENT

    - Q : , CURRENT .

    - Y : , CURRENT .

    T O BI A F :

    A K

    F W_AP_XACT_F POSTED_ON_DT_WID

    F W_AR_XACT_F POSTED_ON_DT_WID

    F W_GL_REVN_F POSTED_ON_DT_WID

    F W_GL_COGS_F POSTED_ON_DT_WID

    F W_TAX_XACT_F POSTED_ON_DT_WID

    F W_GL_OTHER_F ACCT_PERIOD_END_DT_WID

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    37/134

    S W_SALES_ORDER_LINE_F ORDERED_ON_DT_WID

    S W_SALES_PICK_LINE_F ACT_PICKED_ON_DT_WID

    S W_SALES_INVOICE_LINE_F INVOICED_ON_DT_WID

    S W_SALES_SCHEDULE_LINE_F ORDERED_ON_DT_WID

    P W_PURCH_SCHEDULE_LINE_F ORDERED_ON_DT_WID

    P W_PURCH_RQSTN_LINE_F APPROVED_ON_DT_WID

    P W_RQSTN_LINE_COST_F APPROVED_ON_DT_WID

    S S W_REVN_F CLOSE_DT_WID

    HR W_WRKFC_EVT_MONTH_F EVENT_MONTH_WID

    HR W_ABSENCE_EVENT_F ABSENCE_MONTH_WID

    HR W_WRKFC_EVT_POW_F EVENT_YEAR

    HR W_PAYROLL_F PAY_PERIOD_END_DT_WID

    HR W_LM_ENROLLMENT_EVENT_F STATUS_DT

    C F P

    :

    A K K

    F W_GL_LINKAGE_INFORMATION_G DISTRIBUTION_SOURCE POSTED_ON_DT_WID (*)

    P W_PROJ_EXP_LINE_F CHANGED_ON_DT EXPENDITURE_DT_WID

    (*) I W_GL_LINKAGE_INFORMATION_G

    . T

    POSTED_ON_DT_WID .

    R C RR P V C .

    Y ,

    . I

    , DO NOT . Y

    : () , () . T

    . T

    .

    T :

    W_WRKFC_EVT_MONTH_F

    W_PROJ_EXP_LINE_F

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    38/134

    1. R

    SQL> rename W_WRKFC_EVT_MONTH_F to W_WRKFC_EVT_MONTH_F_ORIG;

    2. C , :

    SQL> create table W_WRKFC_EVT_MONTH_F partition by range (EVENT_YEAR)(

    partition PART_MIN values less than (2006),

    partition PART_2006 values less than (2007),

    partition PART_2007 values less than (2008),

    partition PART_2008 values less than (2009),

    partition PART_2009 values less than (2010),

    partition PART_2010 values less than (2011),

    partition PART_MAX values less than (maxvalue)

    )

    tablespace BIAPPS_DATA

    nologging parallel enable row movement

    as select * from W_WRKFC_EVT_MONTH_F_ORIG;

    EVENT_YEAR (4) ,

    YYYY. I WID ,

    YYYYMMDD.

    I , :

    SQL> create table W_PROJ_EXP_LINE_F

    partition by range (CHANGED_ON_DT)

    subpartition by range (EXPENDITURE_DT_WID)

    (partition PART_MIN values less then (TO_DATE('01-JAN-2008','DD-MON-YYYY'))

    ( subpartition PART_MIN_MIN values less than (19980000)

    , subpartition PART_MIN_1998 values less than (19990000)

    , subpartition PART_MIN_1999 values less than (20010000)

    , subpartition PART_MIN_2001 values less than (20020000)

    , subpartition PART_MIN_2002 values less than (20030000)

    , subpartition PART_MIN_2003 values less than (20040000)

    , subpartition PART_MIN_2004 values less than (20050000)

    , subpartition PART_MIN_2005 values less than (20060000)

    , subpartition PART_MIN_2006 values less than (20070000)

    , subpartition PART_MIN_2007 values less than (20080000)

    , subpartition PART_MIN_2008 values less than (20090000)

    , subpartition PART_MIN_2009 values less than (20100000)

    , subpartition PART_MIN_MAX values less than (maxvalue)

    )

    , partition PART_200801 values less than (TO_DATE('01-APR-2008','DD-MON-YYYY'))

    ( subpartition PART_200801_MIN values less than (19980000)

    , subpartition PART_200801_1998 values less than (19990000)

    , subpartition PART_200801_1999 values less than (20010000)

    , subpartition PART_200801_2001 values less than (20020000)

    , subpartition PART_200801_2002 values less than (20030000)

    , subpartition PART_200801_2003 values less than (20040000)

    , subpartition PART_200801_2004 values less than (20050000)

    , subpartition PART_200801_2005 values less than (20060000)

    , subpartition PART_200801_2006 values less than (20070000)

    , subpartition PART_200801_2007 values less than (20080000)

    , subpartition PART_200801_2008 values less than (20090000)

    , subpartition PART_200801_2009 values less than (20100000)

    , subpartition PART_200801_MAX values less than (MAXVALUE)

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    39/134

    )

    ...

    ...

    , partition PART_MAX values less than (maxvalue)

    ( subpartition PART_MAX_MIN values less than (19980000)

    , subpartition PART_MAX_1998 values less than (19990000)

    , subpartition PART_MAX_1999 values less than (20010000)

    , subpartition PART_MAX_2001 values less than (20020000)

    , subpartition PART_MAX_2002 values less than (20030000)

    , subpartition PART_MAX_2003 values less than (20040000)

    , subpartition PART_MAX_2004 values less than (20050000)

    , subpartition PART_MAX_2005 values less than (20060000)

    , subpartition PART_MAX_2006 values less than (20070000)

    , subpartition PART_MAX_2007 values less than (20080000)

    , subpartition PART_MAX_2008 values less than (20090000)

    , subpartition PART_MAX_2009 values less than (20100000)

    , subpartition PART_MAX_MAX values less than (maxvalue)

    )

    ) nologging parallel

    enable row movement

    as (select * from W_PROJ_EXP_LINE_F_ORIG);

    T Q Y .

    EXPENDITURE_DT_WID (8) , YYYYMMDD.

    I!Y YYYY, YYYYQQ YYYYMMDD Y, Q M

    . Y .

    3. D / R

    T :

    SQL> spool drop_ind.sqlSQL> SELECT 'DROP INDEX '|| INDEX_NAME||';'FROM USER_INDEXESWHERE TABLE_NAME = 'W_WRKFC_EVT_MONTH_F_ORIG';

    SQL> spool offSQL> @drop_ind.sql

    I ,

    :

    SQL> spool rename_ind.sqlSQL> SELECT ALTER INDEX || INDEX_NAME || rename to || INDEX_NAME ||

    _ORIG; FROM USER_INDEXESWHERE TABLE_NAME = W_WRKFC_EVT_MONTH_F_ORIG;

    SQL> spool offSQL> @rename_ind.sql

    4. C G L .

    E DAC R :

    SQL> spool indexes.sql

    SQL> SELECT 'CREATE '

    ||DECODE(ISUNIQUE,'Y','UNIQUE ')

    ||DECODE(ISBITMAP,'Y','BITMAP ')

    ||'INDEX '

    ||I.NAME ||CHR(10)

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    40/134

    ||' ON '

    ||T.NAME

    ||' ('

    ||MAX(DECODE(POSTN,1,C.NAME||' ASC')) ||CHR(10)

    ||MAX(DECODE(POSTN,2,' ,'||C.NAME||' ASC'))

    ||MAX(DECODE(POSTN,3,' ,'||C.NAME||' ASC'))

    ||MAX(DECODE(POSTN,4,' ,'||C.NAME||' ASC'))

    ||MAX(DECODE(POSTN,5,' ,'||C.NAME||' ASC'))

    ||MAX(DECODE(POSTN,6,' ,'||C.NAME||' ASC'))

    ||MAX(DECODE(POSTN,7,' ,'||C.NAME||' ASC'))

    ||') tablespace USERS_IDX ' ||CHR(10)

    ||DECODE(ISUNIQUE,'Y','GLOBAL','LOCAL')

    ||' NOLOGGING;'

    FROM W_ETL_TABLE T, W_ETL_INDEX I, W_ETL_INDEX_COL C

    WHERE T.ROW_WID = I.TABLE_WID

    AND T.NAME = 'W_WRKFC_EVT_MONTH_F'

    AND I.ROW_WID = C.INDEX_WID

    AND I.INACTIVE_FLG = 'N'

    GROUP BY T.NAME,I.NAME,ISBITMAP,ISUNIQUE;

    SQL> spool off;

    T . I

    , "MAX(DECODE(POSTN...))" .

    R . .

    SQL> @indexes.sql

    I , :

    C ETL . L ETL

    .

    C . I N , Q DAC

    , BITMAP.C :

    SQL> BEGIN

    dbms_stats.Gather_table_stats(

    NULL,

    tabname => 'W_WRKFC_EVT_MONTH_F',

    CASCADE => true,

    estimate_percent => dbms_stats.auto_sample_size,

    method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO');

    END;

    1. E R M

    2. S __ = TRUE DW R C I W M. O

    W M > C > R > DW > U C E SQL:

    ALTER SESSION SET SKIP_UNUSABLE_INDEXES=TRUE;

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    41/134

    I!T PREVIOUS

    CURRENT . Y PREVIOUS CURRENT

    . I , CURRENT

    . M PREVIOUS

    ETL .

    D :

    S D M

    C S S P

    C N B :

    N: $$CURRENT_YEAR_WID

    D T: SQL

    V ( ):

    L D S: DBC_OLAP

    E SQL:

    SELECT TO_CHAR(ROW_WID) FROM W_YEAR_D WHERE W_CURRENT_CAL_YEAR_CODE = 'Current'

    N: $$PREVIOUS_YEAR_WID

    D T: SQL

    V ( ):

    L D S: DBC_OLAP

    E SQL:

    SELECT TO_CHAR(ROW_WID) FROM W_YEAR_D WHERE W_CURRENT_CAL_YEAR_CODE = 'Previous'

    I!V L D S, DBCA,

    , .

    I , :

    N: $$PREVIOUS_MONTH_WID

    V: SELECT TO_CHAR(ROW_WID) FROM W_MONTH_D WHERE W_CURRENT_CAL_MONTH_CODE ='Previous'

    N: $$CURRENT_MONTH_WID

    V:SELECT TO_CHAR(ROW_WID) FROM W_MONTH_D WHERE W_CURRENT_CAL_MONTH_CODE = 'Current'

    I Q , / :

    N: $$PREVIOUS_QTR_WID

    V: SELECT TO_CHAR(ROW_WID) FROM W_QTR_D WHERE W_CURRENT_CAL_QTR_CODE = 'Previous'

    N: $$CURRENT_QTR_WID

    V:SELECT TO_CHAR(ROW_WID) FROM W_QTR_D WHERE W_CURRENT_CAL_QTR_CODE = 'Current'

    :I ETL,

    . F :

    N: $$THIRD_MONTH_WID

    V: SELECT to_char(add_months(TO_DATE(ROW_WID,'YYYYMMDD'), -2),'YYYYMM') FROM W_DAY_D WHERE

    W_CURRENT_CAL_DAY_CODE = 'Current'

    N: $$FOURTH_MONTH_WID

    V: SELECT to_char(add_months(TO_DATE(ROW_WID,'YYYYMMDD'), -3),'YYYYMM') FROM w_DAY_D WHERE

    W_CURRENT_CAL_DAY_CODE = 'Current'

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    42/134

    C I A DAC A F:

    1. : D I P

    N T > S D > A > I A > N

    E N: Y P: D L I

    C C I V

    C A

    D PREVIOUS_YEAR_WID L I SQL:

    N: D PREVIOUS_YEAR_WID L I

    T: SQL

    D C:

    V D P: ORACLE

    E T A:

    alter index getIndexName() modify partition PART_@DAC_$$PREVIOUS_YEAR_WIDunusable

    I! D (;) SQL T A.

    C A SQL .

    D CURRENT_YEAR_WID L I SQL:

    N: D CURRENT_YEAR_WID L I

    T: SQL

    D C:

    V D P: ORACLE

    E T A:

    alter index getIndexName() modify partition PART_@DAC_$$CURRENT_YEAR_WIDunusable

    S .

    :I Q M , PREVIOUS_MONTH_WID / CURRENT_MONTH_WID

    PREVIOUS_QTR_WID / CURRENT_QTR_WID A SQL.

    I!I Y, Q, M,

    .

    2. : E I P

    C N I A

    E N: Y P: E L I

    C C I V

    C A

    D :

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    43/134

    N E PREVIOUS_YEAR_WID L I

    T: SQL

    D C:

    V D P: ORACLE

    E T A:

    alter index getIndexName() rebuild partition PART_@DAC_$$PREVIOUS_YEAR_WIDnologging

    N E CURRENT_YEAR_WID L IT: SQL

    D C:

    V D P: ORACLE

    E T A:

    alter index getIndexName() rebuild partition PART_@DAC_$$CURRENT_YEAR_WIDnologging

    S .

    :I Q M , PREVIOUS_MONTH_WID /

    CURRENT_MONTH_WID PREVIOUS_QTR_WID / CURRENT_QTR_WID A SQL.

    3. : E I P( )

    C N I A

    E N: Y P: E L I

    C C I V

    C A

    D :

    N E L S I

    T: S P

    D C:

    V D P: ORACLE

    E T A:

    DECLARE

    CURSOR C1 IS

    SELECT DISTINCT SUBPARTITION_NAME

    FROM USER_IND_SUBPARTITIONS

    WHERE INDEX_NAME='getIndexName()' AND STATUS = 'UNUSABLE';

    BEGIN

    FOR REC IN C1 LOOP

    EXECUTE IMMEDIATE 'alter index getIndexName() rebuild subpartition'||REC.SUBPARTITION_NAME||'';

    END LOOP;

    END

    S .

    4. : C B I P

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    44/134

    C N I A

    E N: Y P: C L B I

    C C I V

    C A

    D :

    N C L B I

    T: SQL

    D C:

    V D P: ORACLE

    E T A:

    Create bitmap index getIndexName() on getTableName()(getUniqueColumns()) tablespace

    getTableSpace() local parallel nologging

    S .

    5. : C B I P

    C N I A

    E N: Y P: C L BT I

    C C I V

    C A

    D :

    N C L BT I

    T: SQL

    D C:

    V D P: ORACLE

    E T A:

    Create index getIndexName() on getTableName()(getUniqueColumns()) tablespace getTableSpace(

    local parallel nologging

    S .

    6. : C G I P

    C N I A

    E N: Y P: C G U I

    C C I V

    C A

    D :

    N C L BT I

    T: SQL

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    45/134

    D C:

    V D P: ORACLE

    E T A:

    Create unique index getIndexName() on getTableName()(getUniqueColumns()) tablespace

    getTableSpace() global parallel nologging

    S .

    C T A DAC A F:

    1. : G P

    N T > S D > A > T A > N

    E N: Y P: G P S

    C C I V

    C A

    D :

    N: G P S

    T: S P

    D C:

    V D P: ORACLE

    E T A:

    DECLARECURSOR C1 ISSELECT DISTINCT UTP.PARTITION_NAMEFROM USER_IND_PARTITIONS UIP,

    USER_PART_INDEXES UPI,USER_TAB_PARTITIONS UTP

    WHERE UIP.INDEX_NAME=UPI.INDEX_NAMEAND UIP.STATUS = 'USABLE'AND UTP.TABLE_NAME=UPI.TABLE_NAMEAND UTP.PARTITION_POSITION=UIP.PARTITION_POSITIONAND UPI.TABLE_NAME = 'getTableName()'AND UTP.PARTITION_NAME IN

    ('PART_@DAC_$$CURRENT_YEAR_WID','PART_@DAC_$$PREVIOUS_YEAR_WID');BEGINFOR REC IN C1 LOOP

    DBMS_STATS.GATHER_TABLE_STATS(NULL,TABNAME => 'getTableName()',CASCADE => FALSE,PARTNAME => REC.PARTITION_NAME,ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE,

    GRANULARITY => 'PARTITION',METHOD_OPT => 'FOR ALL INDEXED COLUMNS SIZE AUTO',DEGREE => DBMS_STATS.DEFAULT_DEGREE);

    END LOOP;END;

    S .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    46/134

    :I Q M , PREVIOUS_MONTH_WID / CURRENT_MONTH_WID

    PREVIOUS_QTR_WID / CURRENT_QTR_WID A SQL.

    2. C : G P ( )

    N T > S D > A > T A > N

    E N: Q C P: G P S

    C C I V C A

    D :

    N: G P S

    T: S P

    D C:

    V D P: ORACLE

    E T A:

    DECLARECURSOR C1 ISSELECT DISTINCT UTP.PARTITION_NAMEFROM USER_IND_PARTITIONS UIP,

    USER_PART_INDEXES UPI,USER_TAB_PARTITIONS UTP

    WHERE UIP.INDEX_NAME=UPI.INDEX_NAMEAND UIP.STATUS = 'USABLE'AND UTP.TABLE_NAME=UPI.TABLE_NAMEAND UTP.PARTITION_POSITION=UIP.PARTITION_POSITIONAND UPI.TABLE_NAME = 'getTableName()'AND UTP.PARTITION_NAME IN

    ('PART_@DAC_$$CURRENT_QTR_WID','PART_@DAC_$$PREVIOUS_QTR_WID');BEGINFOR REC IN C1 LOOP

    DBMS_STATS.GATHER_TABLE_STATS(NULL,TABNAME => 'getTableName()',CASCADE => FALSE,PARTNAME => REC.PARTITION_NAME,ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE,GRANULARITY => 'PARTITION',METHOD_OPT => 'FOR ALL INDEXED COLUMNS SIZE AUTO',DEGREE => DBMS_STATS.DEFAULT_DEGREE);

    END LOOP;END;

    I! DO NOT D / C A D / C A B

    U DAC , I A F.

    R . N D > I > Q >T N

    'W_WRKFC_EVT_MONTH_F', I B > G.

    I! Y . T

    NOT .

    R (U ) A A

    S D I A T

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    47/134

    S I L T

    C C A

    S Y P: D L I A N

    C OK C A

    C OK A A .

    R (U ) A A

    S C I A T

    S I L T

    C C A

    S Y P: E L I A N

    C OK C A

    C OK A A .

    T , . I I A

    , , A

    T N .

    R Y P: C L B I, Y P: C

    L BT I Y P: C G U I ,

    ETL .

    I!Y I L T , Y P: C L B

    I, Y P: C L BT I Y P: C G U I I A

    T.

    E D/C I A T, DAC ,

    I A F. E , DAC D I ,

    , C I .

    R . N D > T > Q > N 'W_WRKFC_EVT_MONTH_F' > G

    R (U ) A A

    S A T A T

    S I L T

    C C A

    S Y P: G A N

    C OK C A

    C OK A A .

    I!Y Q C P: G P S

    .

    I T A ,

    , A . T N

    .

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    48/134

    W DAC A T ,

    T A F.

    Y , ,

    .

    F :

    S E S

    C O

    R

    C U .

    C Y .

    V .

    I!DO NOT .

    E .

    C C

    T , ,

    O . O ,

    . T . F ,

    WID 201020110120000 20110120 YYYYMMDD .

    I W_GL_BALANCE_F :

    I , , :

    A :

    ALTER TABLE W_GL_BALANCE_F add BALANCE_DT_V AS (TO_NUMBER(SUBSTR(BALANCE_DT_WID, 5, 8)));

    T BI A A

    Area Table Name Partitioning Key Sub-partitioning Key Sub-partitioning V-Column Value

    F W_GL_BALANCE_F CHANGED_ON_DT BALANCE_DT_V(TO_NUMBER(SUBSTR(BALANCE_DT_WID, 5,

    8)))

    P W_PROJ_COST_LINE_F CHANGED_ON_DT PROJ_ACCOUNTING_DT_V(TO_NUMBER(SUBSTR(PROJ_ACCOUNTING_DT

    WID, 5, 8)))

    P W_PROJ_REVENUE_LINE_F CHANGED_ON_DT GL_ACCOUNTING_DT_V(TO_NUMBER(SUBSTR(GL_ACCOUNTING_DT_

    ID, 5, 8)))

    R :

    RENAME W_GL_BALANCE_F TO W_GL_BALANCE_F_REF;

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    49/134

    C :

    CREATE TABLE W_GL_BALANCE_F

    PARTITION BY RANGE (CHANGED_ON_DT)

    SUBPARTITION BY RANGE (BALANCE_DT_V)

    (PARTITION PART_MIN VALUES LESS THAN (TO_DATE('01-JAN-2008', 'DD-MON-YYYY'))

    (SUBPARTITION PART_MIN_MIN VALUES LESS THAN (20080101),

    SUBPARTITION PART_MIN_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_MIN_2009 VALUES LESS THAN (20100101),

    SUBPARTITION PART_MIN_2010 VALUES LESS THAN (20110101),SUBPARTITION PART_MIN_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_MIN_MAX VALUES LESS THAN (MAXVALUE)

    ),

    PARTITION PART_2008 VALUES LESS THAN (TO_DATE('01-JAN-2009', 'DD-MON-YYYY'))

    (SUBPARTITION PART_2008_MIN VALUES LESS THAN (20080101),

    SUBPARTITION PART_2008_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_2008_2009 VALUES LESS THAN (20100101),

    SUBPARTITION PART_2008_2010 VALUES LESS THAN (20110101),

    SUBPARTITION PART_2008_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_2008_MAX VALUES LESS THAN (MAXVALUE)

    ),

    PARTITION PART_2009 VALUES LESS THAN (TO_DATE('01-JAN-2010', 'DD-MON-YYYY'))

    (SUBPARTITION PART_2009_MIN VALUES LESS THAN (20080101),SUBPARTITION PART_2009_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_2009_2009 VALUES LESS THAN (20100101),

    SUBPARTITION PART_2009_2010 VALUES LESS THAN (20110101),

    SUBPARTITION PART_2009_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_2009_MAX VALUES LESS THAN (MAXVALUE)

    ),

    PARTITION PART_2010 VALUES LESS THAN (TO_DATE('01-JAN-2011', 'DD-MON-YYYY'))

    (SUBPARTITION PART_2010_MIN VALUES LESS THAN (20080101),

    SUBPARTITION PART_2010_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_2010_2009 VALUES LESS THAN (20100101),

    SUBPARTITION PART_2010_2010 VALUES LESS THAN (20110101),

    SUBPARTITION PART_2010_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_2010_MAX VALUES LESS THAN (MAXVALUE)),

    PARTITION PART_2011 VALUES LESS THAN (TO_DATE('01-JAN-2012', 'DD-MON-YYYY'))

    (SUBPARTITION PART_2011_MIN VALUES LESS THAN (20080101),

    SUBPARTITION PART_2011_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_2011_2009 VALUES LESS THAN (20100101),

    SUBPARTITION PART_2011_2010 VALUES LESS THAN (20110101),

    SUBPARTITION PART_2011_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_2011_MAX VALUES LESS THAN (MAXVALUE)

    ),

    PARTITION PART_MAX VALUES LESS THAN (MAXVALUE)

    (SUBPARTITION PART_MAX_MIN VALUES LESS THAN (20080101),

    SUBPARTITION PART_MAX_2008 VALUES LESS THAN (20090101),

    SUBPARTITION PART_MAX_2009 VALUES LESS THAN (20100101),SUBPARTITION PART_MAX_2010 VALUES LESS THAN (20110101),

    SUBPARTITION PART_MAX_2011 VALUES LESS THAN (20120101),

    SUBPARTITION PART_MAX_MAX VALUES LESS THAN (MAXVALUE)

    )

    ) NOLOGGING PARALLEL ENABLE ROW MOVEMENT

    AS (SELECT * FROM W_GL_BALANCE_F_REF);

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    50/134

    F R C RR P

    I, DAC .

    O 11G , I P. O

    . W I P .

    T O BI A DATE YYYYMMDD. F ,

    POSTED_ON_WID 20041101, 20041201, 20050101,20050201, . Y INTERVAL 100 . O

    . I POSTED_ON_WID 20041201 20050101, O

    .

    F , :

    SQL> create table W_WRKFC_EVT_MONTH_F partition by range (EVENT_YEAR)interval(100) (partition PART_MIN values less than (19900101))tablespace BIAPPS_DATAnologging parallel enable row movementas select * from W_WRKFC_EVT_MONTH_F_ORIG;

    Y SQL DAC :

    N: $$PREVIOUS_MONTH_WID

    V: SELECT partition_nameFROM user_tab_partitionsWHERE table_name = 'W_WRKFC_EVT_MONTH_F'AND partition_position = (SELECT MAX(partition_position)-1

    FROM user_tab_partitionsWHERE table_name = 'W_WRKFC_EVT_MONTH_F');

    N: $$CURRENT_MONTH_WID

    V: SELECT partition_nameFROM user_tab_partitions

    WHERE table_name = 'W_WRKFC_EVT_MONTH_F'AND partition_position = (SELECT MAX(partition_position)

    FROM user_tab_partitionsWHERE table_name = 'W_WRKFC_EVT_MONTH_F');

    I!Y PART_ DAC A

    F . F , @DAC_$$PREVIOUS_MONTH_WID

    PART_@DAC_$$PREVIOUS_MONTH_WID.

    I! O ,

    . S ETL, O ,

    , . T ,

    DML . DAC

    ETL.

    E I ETL,

    . T , , O O

    :

    ) B BI A A OBIEE ( RPD). T

    . F ,

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    51/134

    CHANGED_ON_DT , OBIEE , OBIEE

    . I, CHANGED_ON_DT

    T D T D .

    ) BI A A S S B S

    T. W O S T

    .

    T O .

    A OBIEE W_SALES_ORDER_LINE_F (T90499)

    ORDERED_ON_DT_WID. T :

    W_SLS_ORD_LN_F_T_F100 PROFIT_CENTER_WID

    W_SLS_ORD_LN_F_T_F200 ORDERED_ON_DT_WID,

    W_SLS_ORD_LN_F_T_F300 CHNL_TYPE_WID

    W_SLS_ORD_LN_F_T_F500 is a local btree index on (ORDERED_ON_DT_WID, CHNL_TYPE_WID)

    WITH

    SAWITH0 AS (select T156337.MCAL_DAY_DT as c1,

    case when T96128.W_XACT_TYPE_CODE 'PAYMENT' then T90499.SALES_ORDER_NUM/*SALES_INVOICE_NUM*/else NULL end as c2,T96094.W_STATUS_CODE as c3,

    T96094.STATUS_CODE as c4,

    T96128.W_XACT_TYPE_CODE as c5,

    T96128.W_XACT_SUBTYPE_CODE as c6,

    T157680.NAME as c7,

    T95085.PAYMENT_TERM_CODE as c8,

    T174959.MCAL_DAY_DT as c9,

    T175106.MCAL_DAY_DT as c10,

    T175253.MCAL_DAY_DT as c11,

    sum(T90499.NET_AMT /*.AR_DOC_AMT*/* T90499.GLOBAL1_EXCHANGE_RATE) as c12,

    T156337.ROW_WID as c13

    from

    W_MCAL_DAY_D T175106 /* Dim_W_MCAL_DAY_D_Invoice_Cleared_Date_Fiscal_Calendar */,

    W_MCAL_DAY_D T174959 /* Dim_W_MCAL_DAY_D_Invoiced_Date_Fiscal_Calendar */,

    W_MCAL_DAY_D T175253 /* Dim_W_MCAL_DAY_D_Payment_Due_Date_Fiscal_Calendar */,

    W_MCAL_DAY_D T156337 /* Dim_W_MCAL_DAY_D_Fiscal_Day */,

    W_PROFIT_CENTER_D T92473 /* Dim_W_PROFIT_CENTER_D */,

    DWH_7962.W_PAYMENT_TERMS_D T95085 /* Dim_W_PAYMENT_TERMS_D */,

    W_SALES_ORDER_LINE_F_TEST T90499--W_AR_XACT_F T90499 /* Fact_W_AR_XACT_F */

    left outer join W_DAY_D T124588 /* Dim_W_DAY_D_ARSales Invoice Cleared Date */

    On T90499.CANCELLED_ON_DT_WID/*CLEARED_ON_DT_WID*/= T124588.ROW_WID,

    --W_GL_ACCOUNT_D T91397 /* Dim_W_GL_ACCOUNT_D */ ,

    DWH_7962.W_STATUS_D T96094 /* Dim_W_STATUS_D_Generic */,

    DWH_7962.W_XACT_TYPE_D T96128 /* Dim_W_XACT_TYPE_D_Financials */,

    DWH_7962.W_PARTY_D T157680

    where ( T90499.ENTERED_ON_DT_WID /*CLEARED_ON_DT_WID */= T175106.MCAL_DAY_DT_WID

    and T90499.CHNL_TYPE_WID/*MCAL_CAL_WID*/= T175106.MCAL_CAL_WID

    and T174959.ADJUSTMENT_PERIOD_FLG = 'N'

    and T90499.BOOKED_ON_DT_WID /*INVOICED_ON_DT_WID*/= T174959.MCAL_DAY_DT_WID

    and T90499.CHNL_TYPE_WID/*MCAL_CAL_WID*/= T174959.MCAL_CAL_WID

    and T156337.ADJUSTMENT_PERIOD_FLG = 'N'

    and T90499.ORDERED_ON_DT_WID/*POSTED_ON_DT_WID*/= T156337.MCAL_DAY_DT_WID

    and T90499.CHNL_TYPE_WID/*MCAL_CAL_WID*/= T156337.MCAL_CAL_WID

    and T90499.PROFIT_CENTER_WID = T92473.ROW_WID

    and T90499.PAYMENT_TERMS_WID/*PAY_TERMS_WID*/= T95085.ROW_WID

    --and T90499.GL_ACCOUNT_WID = T91397.ROW_WID

    and T90499.ORDER_STATUS_WID/*DOC_STATUS_WID*/= T96094.ROW_WID

    and T90499.XACT_TYPE_WID/*DOC_TYPE_WID*/= T96128.ROW_WID

    and T90499.CUSTOMER_WID = T157680.ROW_WID

    and T175106.ADJUSTMENT_PERIOD_FLG = 'N'

    and T90499.PROMISED_ON_DT_WID/*PAYMENT_DUE_DT_WID*/= T175253.MCAL_DAY_DT_WID

    and T90499.CHNL_TYPE_WID/*MCAL_CAL_WID*/= T175253.MCAL_CAL_WID

    and T90499.DELETE_FLG = 'N'

    and T92473.PROFIT_CENTER_NAME = 'Amazon.com, Inc.'

    and T156337.MCAL_PERIOD_NAME = 'JAN-05'

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    52/134

    and T175253.ADJUSTMENT_PERIOD_FLG = 'N'

    --and case when 0 > 0 then T91397.ACCOUNT_SEG5_CODE else 'All' end = 'All'

    --and case when 0 > 0 then T91397.ACCOUNT_SEG1_CODE else 'All' end = 'All'

    and TO_DATE('2011-03-10 00:00:00' , 'YYYY-MM-DD HH24:MI:SS') is not null )

    group by T95085.PAYMENT_TERM_CODE,

    T96094.STATUS_CODE,T96094.W_STATUS_CODE,

    T96128.W_XACT_SUBTYPE_CODE,T96128.W_XACT_TYPE_CODE,

    T156337.ROW_WID, T156337.MCAL_DAY_DT, T157680.NAME,

    T174959.MCAL_DAY_DT, T175106.MCAL_DAY_DT,

    T175253.MCAL_DAY_DT,

    case when T96128.W_XACT_TYPE_CODE 'PAYMENT' then T90499.SALES_ORDER_NUM/*SALES_INVOICE_NUM */else NULL end ,

    T92473.PROFIT_CENTER_NAME )

    select SAWITH0.c1 as c1,SAWITH0.c2 as c2,

    SAWITH0.c3 as c3,

    SAWITH0.c4 as c4,

    SAWITH0.c5 as c5,

    SAWITH0.c6 as c6,

    SAWITH0.c7 as c7,

    SAWITH0.c8 as c8,

    SAWITH0.c9 as c9,

    SAWITH0.c10 as c10,

    SAWITH0.c11 as c11,

    SAWITH0.c12 as c12

    from

    SAWITH0

    order by c1 desc

    O O

    , , (, , ).

    T S T:

    ALTER INDEX W_SLS_ORD_LN_F_T_F100 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F200 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F300 INVISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F500 INVISIBLE;

    Execution Plan-------------------------------------------------------------------------------------------------------------------------------------------

    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

    -------------------------------------------------------------------------------------------------------------------------------------------

    | 0 | SELECT STATEMENT | | 1 | 415 | 1342 (1)| 00:01:16 | | |

    | 1 | SORT GROUP BY | | 1 | 415 | 1342 (1)| 00:01:16 | | |

    | 2 | NESTED LOOPS | | | | | | | |

    | 3 | NESTED LOOPS | | 1 | 415 | 1341 (1)| 00:01:16 | | |

    | 4 | NESTED LOOPS | | 1 | 392 | 1340 (1)| 00:01:16 | | |

    | 5 | NESTED LOOPS | | 1 | 376 | 1339 (1)| 00:01:16 | | |

    | 6 | NESTED LOOPS | | 1 | 344 | 1338 (1)| 00:01:16 | | |

    |* 7 | HASH JOIN | | 1 | 315 | 1337 (1)| 00:01:16 | | |

    |* 8 | HASH JOIN | | 1 | 291 | 912 (1)| 00:00:52 | | |

    | 9 | NESTED LOOPS | | | | | | | |

    | 10 | NESTED LOOPS | | 1 | 267 | 486 (1)| 00:00:28 | | |

    |* 11 | HASH JOIN | | 30 | 7290 | 142 (1)| 00:00:09 | | |

    | 12 | NESTED LOOPS | | | | | | | |

    | 13 | NESTED LOOPS | | 40 | 8840 | 140 (0)| 00:00:08 | | |

    |* 14 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 41 | 12 (0)| 00:00:01 | | |

    | 15 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 16 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_M4 | | | | | | |

    | 17 | PARTITION RANGE ITERATOR | | | | | | KEY | KEY |

    | 18 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 19 | BITMAP INDEX SINGLE VALUE | W_SLS_ORD_LN_F_T_F200 | | | | | KEY | KEY |

    |* 20 | TABLE ACCESS BY LOCAL INDEX ROWID| W_SALES_ORDER_LINE_F_TEST | 76 | 13680 | 140 (0)| 00:00:08 | 1 | 1 || 21 | TABLE ACCESS BY INDEX ROWID | W_PROFIT_CENTER_D | 2 | 44 | 1 (0)| 00:00:01 | | |

    | 22 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 23 | BITMAP INDEX SINGLE VALUE | W_PROFT_CNTR_D_M11 | | | | | | |

    | 24 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    | 25 | BITMAP AND | | | | | | | |

    |* 26 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    |* 27 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_T_F1 | | | | | | |

    |* 28 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 486 (1)| 00:00:28 | | |

    |* 29 | TABLE ACCESS FULL | W_MCAL_DAY_D | 2150 | 51600 | 425 (1)| 00:00:25 | | |

    |* 30 | TABLE ACCESS FULL | W_MCAL_DAY_D | 2150 | 51600 | 425 (1)| 00:00:25 | | |

    | 31 | TABLE ACCESS BY INDEX ROWID | W_PARTY_D | 1 | 29 | 1 (0)| 00:00:01 | | |

    |* 32 | INDEX UNIQUE SCAN | W_PARTY_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 33 | TABLE ACCESS BY INDEX ROWID | W_STATUS_D | 1 | 32 | 1 (0)| 00:00:01 | | |

    |* 34 | INDEX UNIQUE SCAN | W_STATUS_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    53/134

    | 35 | TABLE ACCESS BY INDEX ROWID | W_PAYMENT_TERMS_D | 1 | 16 | 1 (0)| 00:00:01 | | |

    |* 36 | INDEX UNIQUE SCAN | W_PAYMNT_TRM_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    |* 37 | INDEX UNIQUE SCAN | W_XACT_TYPE_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 38 | TABLE ACCESS BY INDEX ROWID | W_XACT_TYPE_D | 1 | 23 | 1 (0)| 00:00:01 | | |

    ------------------------------------------------------------------------------------------------------------------------------------------

    T O S T:

    ALTER INDEX W_SLS_ORD_LN_F_T_F100 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F200 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F300 VISIBLE;ALTER INDEX W_SLS_ORD_LN_F_T_F500 INVISIBLE;

    Execution Plan-----------------------------------------------------------------------------------------------------------------------------------------------

    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

    -----------------------------------------------------------------------------------------------------------------------------------------------

    | 0 | SELECT STATEMENT | | 1 | 403 | 4077 (1)| 00:03:51 | | |

    | 1 | TEMP TABLE TRANSFORMATION | | | | | | | |

    | 2 | LOAD AS SELECT | SYS_TEMP_0FD9D67D7_67849FF2 | | | | | | |

    |* 3 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 41 | 12 (0)| 00:00:01 | | |

    | 4 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 5 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_M4 | | | | | | |

    | 6 | SORT GROUP BY | | 1 | 403 | 4065 (1)| 00:03:51 | | |

    |* 7 | HASH JOIN | | 1 | 403 | 4064 (1)| 00:03:51 | | |

    |* 8 | HASH JOIN | | 1 | 380 | 2492 (1)| 00:02:22 | | |

    |* 9 | HASH JOIN | | 1 | 364 | 2485 (1)| 00:02:21 | | |

    |* 10 | HASH JOIN | | 1 | 340 | 2060 (1)| 00:01:57 | | |

    | 11 | NESTED LOOPS | | | | | | | |

    | 12 | NESTED LOOPS | | 13 | 4108 | 1635 (1)| 00:01:33 | | |

    |* 13 | HASH JOIN | | 13 | 3731 | 1622 (1)| 00:01:32 | | |

    |* 14 | TABLE ACCESS FULL | W_MCAL_DAY_D | 2150 | 51600 | 425 (1)| 00:00:25 | | |

    |* 15 | HASH JOIN | | 4281 | 1099K| 1197 (1)| 00:01:08 | | |

    | 16 | TABLE ACCESS FULL | W_STATUS_D | 173 | 5536 | 2 (0)| 00:00:01 | | |

    |* 17 | HASH JOIN | | 4281 | 965K| 1194 (1)| 00:01:08 | | |

    | 18 | TABLE ACCESS BY INDEX ROWID | W_PROFIT_CENTER_D | 2 | 44 | 1 (0)| 00:00:01 | | |

    | 19 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 20 | BITMAP INDEX SINGLE VALUE | W_PROFT_CNTR_D_M11 | | | | | | |

    |* 21 | HASH JOIN | | 5704 | 1164K| 1192 (1)| 00:01:08 | | |

    | 22 | TABLE ACCESS FULL | SYS_TEMP_0FD9D67D7_67849FF2 | 1 | 29 | 2 (0)| 00:00:01 | | |

    | 23 | PARTITION RANGE SUBQUERY | | 5704 | 1002K| 1190 (1)| 00:01:08 |KEY(SQ)|KEY(SQ)|

    |* 24 | TABLE ACCESS BY LOCAL INDEX ROWID | W_SALES_ORDER_LINE_F_TEST | 5704 | 1002K| 1190 (1)| 00:01:08 |KEY(SQ)|KEY(SQ)|

    | 25 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    | 26 | BITMAP AND | | | | | | | |

    | 27 | BITMAP MERGE | | | | | | | |

    | 28 | BITMAP KEY ITERATION | | | | | | | |

    | 29 | BUFFER SORT | | | | | | | |

    | 30 | TABLE ACCESS FULL | SYS_TEMP_0FD9D67D7_67849FF2 | 1 | 13 | 2 (0)| 00:00:01 | | ||* 31 | BITMAP INDEX RANGE SCAN |W_SLS_ORD_LN_F_T_F200 | | | | |KEY(SQ)|KEY(SQ)|

    | 32 | BITMAP MERGE | | | | | | | |

    | 33 | BITMAP KEY ITERATION | | | | | | | |

    | 34 | BUFFER SORT | | | | | | | |

    | 35 | TABLE ACCESS BY INDEX ROWID | W_PROFIT_CENTER_D | 2 | 44 | 1 (0)| 00:00:01 | | |

    | 36 | BITMAP CONVERSION TO ROWIDS| | | | | | | |

    |* 37 | BITMAP INDEX SINGLE VALUE | W_PROFT_CNTR_D_M11 | | | | | | |

    |* 38 | BITMAP INDEX RANGE SCAN |W_SLS_ORD_LN_F_T_F100 | | | | |KEY(SQ)|KEY(SQ)|

    |* 39 | INDEX UNIQUE SCAN | W_PARTY_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 40 | TABLE ACCESS BY INDEX ROWID | W_PARTY_D | 1 | 29 | 1 (0)| 00:00:01 | | |

    |* 41 | TABLE ACCESS FULL | W_MCAL_DAY_D | 2150 | 51600 | 425 (1)| 00:00:25 | | |

    |* 42 | TABLE ACCESS FULL | W_MCAL_DAY_D | 2150 | 51600 | 425 (1)| 00:00:25 | | |

    | 43 | TABLE ACCESS FULL | W_PAYMENT_TERMS_D | 6227 | 99632 | 6 (0)| 00:00:01 | | |

    | 44 | TABLE ACCESS FULL | W_XACT_TYPE_D | 1885K| 41M| 1569 (1)| 00:01:29 | | |

    -----------------------------------------------------------------------------------------------------------------------------------------------

    W , O P RI S. I T , O N L+I R S .

    ALTER INDEX W_SLS_ORD_LN_F_T_F100 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F200 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F300 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F500 VISIBLE; -- local index on the partitioning key column

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    54/134

    Execution Plan

    ------------------------------------------------------------------------------------------------------------------------------------------

    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

    ------------------------------------------------------------------------------------------------------------------------------------------

    | 0 | SELECT STATEMENT | | 1 | 415 | 475 (2)| 00:00:27 | | |

    | 1 | SORT GROUP BY | | 1 | 415 | 475 (2)| 00:00:27 | | |

    | 2 | NESTED LOOPS | | | | | | | |

    | 3 | NESTED LOOPS | | 1 | 415 | 474 (2)| 00:00:27 | | |

    | 4 | NESTED LOOPS | | 1 | 383 | 473 (2)| 00:00:27 | | |

    | 5 | NESTED LOOPS | | 1 | 367 | 472 (2)| 00:00:27 | | |

    | 6 | NESTED LOOPS | | 1 | 344 | 471 (2)| 00:00:27 | | |

    | 7 | NESTED LOOPS | | 1 | 315 | 470 (2)| 00:00:27 | | |

    | 8 | NESTED LOOPS | | 1 | 291 | 231 (2)| 00:00:14 | | |

    | 9 | NESTED LOOPS | | 1 | 267 | 112 (1)| 00:00:07 | | |

    |* 10 | HASH JOIN | | 30 | 7290 | 17 (6)| 00:00:01 | | |

    | 11 | NESTED LOOPS | | | | | | | |

    | 12 | NESTED LOOPS | | 40 | 8840 | 15 (0)| 00:00:01 | | |

    |* 13 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 41 | 12 (0)| 00:00:01 | | |

    | 14 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 15 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_M4 | | | | | | |

    | 16 | PARTITION RANGE ITERATOR | | 1 | | 2 (0)| 00:00:01 | KEY | KEY |

    |* 17 | INDEX RANGE SCAN | W_SLS_ORD_LN_F_T_F500 | 1 | | 2 (0)| 00:00:01 | KEY | KEY |

    |* 18 | TABLE ACCESS BY LOCAL INDEX ROWID| W_SALES_ORDER_LINE_F_TEST | 76 | 15352 | 3 (0)| 00:00:01 | 1 | 1 |

    | 19 | TABLE ACCESS BY INDEX ROWID | W_PROFIT_CENTER_D | 2 | 44 | 1 (0)| 00:00:01 | | |

    | 20 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 21 | BITMAP INDEX SINGLE VALUE | W_PROFT_CNTR_D_M11 | | | | | | |

    |* 22 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 112 (1)| 00:00:07 | | |

    | 23 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    | 24 | BITMAP AND | | | | | | | |

    |* 25 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    |* 26 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_T_F1 | | | | | | |

    |* 27 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 231 (2)| 00:00:14 | | |

    | 28 | BITMAP CONVERSION TO ROWIDS | | | | | | | ||* 29 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    |* 30 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 470 (2)| 00:00:27 | | |

    | 31 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 32 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    | 33 | TABLE ACCESS BY INDEX ROWID | W_PARTY_D | 1 | 29 | 1 (0)| 00:00:01 | | |

    |* 34 | INDEX UNIQUE SCAN | W_PARTY_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 35 | TABLE ACCESS BY INDEX ROWID | W_XACT_TYPE_D | 1 | 23 | 1 (0)| 00:00:01 | | |

    |* 36 | INDEX UNIQUE SCAN | W_XACT_TYPE_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 37 | TABLE ACCESS BY INDEX ROWID | W_PAYMENT_TERMS_D | 1 | 16 | 1 (0)| 00:00:01 | | |

    |* 38 | INDEX UNIQUE SCAN | W_PAYMNT_TRM_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    |* 39 | INDEX UNIQUE SCAN | W_STATUS_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 40 | TABLE ACCESS BY INDEX ROWID | W_STATUS_D | 1 | 32 | 1 (0)| 00:00:01 | | |

    ------------------------------------------------------------------------------------------------------------------------------------------

    A T W_SLS_ORD_LN_F_T_F500 :

    Execution Plan

    -------------------------------------------------------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

    -------------------------------------------------------------------------------------------------------------------------------------------

    | 0 | SELECT STATEMENT | | 1 | 415 | 475 (2)| 00:00:27 | | |

    | 1 | SORT GROUP BY | | 1 | 415 | 475 (2)| 00:00:27 | | |

    | 2 | NESTED LOOPS | | | | | | | |

    | 3 | NESTED LOOPS | | 1 | 415 | 474 (2)| 00:00:27 | | |

    | 4 | NESTED LOOPS | | 1 | 383 | 473 (2)| 00:00:27 | | |

    | 5 | NESTED LOOPS | | 1 | 367 | 472 (2)| 00:00:27 | | |

    | 6 | NESTED LOOPS | | 1 | 344 | 471 (2)| 00:00:27 | | |

    | 7 | NESTED LOOPS | | 1 | 315 | 470 (2)| 00:00:27 | | |

    | 8 | NESTED LOOPS | | 1 | 291 | 231 (2)| 00:00:14 | | |

    | 9 | NESTED LOOPS | | 1 | 267 | 112 (1)| 00:00:07 | | |

    |* 10 | HASH JOIN | | 30 | 7290 | 17 (6)| 00:00:01 | | |

    | 11 | NESTED LOOPS | | | | | | | |

    | 12 | NESTED LOOPS | | 40 | 8840 | 15 (0)| 00:00:01 | | |

    |* 13 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 41 | 12 (0)| 00:00:01 | | |

    | 14 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 15 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_M4 | | | | | | |

    |* 16 | INDEX RANGE SCAN | W_SLS_ORD_LN_F_T_F500 | 1 | | 2 (0)| 00:00:01 | | ||* 17 | TABLE ACCESS BY GLOBAL INDEX ROWID| W_SALES_ORDER_LINE_F_TEST| 76 | 15352 | 3 (0)| 00:00:01 | ROWID | ROWID |

    | 18 | TABLE ACCESS BY INDEX ROWID | W_PROFIT_CENTER_D | 2 | 44 | 1 (0)| 00:00:01 | | |

    | 19 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 20 | BITMAP INDEX SINGLE VALUE | W_PROFT_CNTR_D_M11 | | | | | | |

    |* 21 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 112 (1)| 00:00:07 | | |

    | 22 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    | 23 | BITMAP AND | | | | | | | |

    |* 24 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    |* 25 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_T_F1 | | | | | | |

    |* 26 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 231 (2)| 00:00:14 | | |

    | 27 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

    |* 28 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    |* 29 | TABLE ACCESS BY INDEX ROWID | W_MCAL_DAY_D | 1 | 24 | 470 (2)| 00:00:27 | | |

    | 30 | BITMAP CONVERSION TO ROWIDS | | | | | | | |

  • 8/10/2019 BI Apps796 Perf Tech Note V9

    55/134

    |* 31 | BITMAP INDEX SINGLE VALUE | W_MCAL_DAY_D_F2 | | | | | | |

    | 32 | TABLE ACCESS BY INDEX ROWID | W_PARTY_D | 1 | 29 | 1 (0)| 00:00:01 | | |

    |* 33 | INDEX UNIQUE SCAN | W_PARTY_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 34 | TABLE ACCESS BY INDEX ROWID | W_XACT_TYPE_D | 1 | 23 | 1 (0)| 00:00:01 | | |

    |* 35 | INDEX UNIQUE SCAN | W_XACT_TYPE_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 36 | TABLE ACCESS BY INDEX ROWID | W_PAYMENT_TERMS_D | 1 | 16 | 1 (0)| 00:00:01 | | |

    |* 37 | INDEX UNIQUE SCAN | W_PAYMNT_TRM_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    |* 38 | INDEX UNIQUE SCAN | W_STATUS_D_P1 | 1 | | 0 (0)| 00:00:01 | | |

    | 39 | TABLE ACCESS BY INDEX ROWID | W_STATUS_D | 1 | 32 | 1 (0)| 00:00:01 | | |

    -------------------------------------------------------------------------------------------------------------------------------------------

    L ,

    , :

    T90499.ORDERED_ON_DT_WID = T156337.MCAL_DAY_DT_WID

    andT90499.CHNL_TYPE_WID = T156337.MCAL_CAL_WID

    ...

    and T90499.PROFIT_CENTER_WID = T92473.ROW_WID

    ...

    and T156337.MCAL_PERIOD_NAME = 'JAN-05'

    T :

    ALTER INDEX W_SLS_ORD_LN_F_T_F100 INVISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F200 VISIBLE;

    ALTER INDEX W_SLS_ORD_LN_F_T_F300 VISIBLE;ALTER INDEX W_SLS_ORD_LN_F_T_F500 INVISIBLE;

    Execution Plan---------------------------------------------------------------------------------