View
236
Download
0
Category
Preview:
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---------------------------------------------------------------------------------
Recommended