You are on page 1of 5

ADDM Report for Task 'TASK_13297'

--------------------------------Analysis Period
--------------AWR snapshot range from 11974 to 11975.
Time period starts at 18-JUN-15 12.00.23 AM
Time period ends at 18-JUN-15 01.00.25 AM
Analysis Target
--------------Database 'PRODDB' with DB ID 578511947.
Database version 11.2.0.4.0.
ADDM performed an analysis of instance proddb, numbered 1 and hosted at
proddb.
Activity During the Analysis Period
----------------------------------Total database time was 3609 seconds.
The average number of active sessions was 1.
Summary of Findings
------------------Description
s

Active Sessions

Recommendation

Percent of Activity
---------------------------------------- ------------------- -------------1 Top SQL Statements
1 | 99.72
2 Top Segments by "User I/O" and "Cluster" .75 | 74.54

2
1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Findings and Recommendations
---------------------------Finding 1: Top SQL Statements
Impact is 1 active sessions, 99.72% of total activity.
-----------------------------------------------------SQL statements consuming significant database time were found. These
statements offer a good opportunity for performance improvement.
Recommendation 1: SQL Tuning
Estimated benefit is .81 active sessions, 80.89% of total activity.
------------------------------------------------------------------Action
Run SQL Tuning Advisor on the INSERT statement with SQL_ID
"5a62hrvpjvncw".
Related Object
SQL statement with SQL_ID 5a62hrvpjvncw.
INSERT INTO MCIB_DAILY_DATA
(ENTITY_CODE,ENTITY_TYPE,RESIDENT_FLAG,ENTITY_NAME,
ENTITY_OTHER_NAME,DOB,SEX,COUNTRY_CODE,PASSPORT_NO,ADDRESS1,
ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,REF_NO,CREDIT_TYPE,
DATE_APPROVED,PARENT_CO_NO,PARENT_CO_NAME,SECTOR_LOAN_CLASS,CURR,AMOU
NT_ORG,AMOUNT_OUT,AMOUNT_DIS,DATE_UPDATE,AMOUNT_INST,
DATE_FIRST_INST,PERIODICITY,DATE_LAST_INST,DATE_EXP,NO_INST,

DATE_DEFAULT,BAL_DEFAULT,AMOUNT_ARRS,TYPE_CLASS,DATE_REGULARISED,ACTI
ON_TAKEN,ACTION_DATE) SELECT B.UNIQUE_ID_VALUE
ENTITY_CODE,DECODE(O.CUST_MIS_7,:"SYS_B_00",:"SYS_B_01",:"SYS_B_02",
:"SYS_B_03",:"SYS_B_04",:"SYS_B_05",:"SYS_B_06",
:"SYS_B_07",:"SYS_B_08",:"SYS_B_09",:"SYS_B_10",:"SYS_B_11",:"SYS_B_1
2",:"SYS_B_13") ENTITY_TYPE,DECODE(B.NATIONALITY, :"SYS_B_14",
:"SYS_B_15", :"SYS_B_16") RESIDENT_FLAG, B.CUSTOMER_NAME1
ENTITY_NAME, NULL ENTITY_OTHER_NAME, NULL DOB, C.SEX
SEX,DECODE(D.ALT_COUNTRY_CODE, :"SYS_B_17", :"SYS_B_18", :"SYS_B_19",
:"SYS_B_20", :"SYS_B_21", :"SYS_B_22", :"SYS_B_23", :"SYS_B_24",
:"SYS_B_25", :"SYS_B_26", :"SYS_B_27",
:"SYS_B_28",D.ALT_COUNTRY_CODE) COUNTRY_CODE, C.PASSPORT_NO
PASSPORT_NO, B.ADDRESS_LINE1 ADDRESS1, B.ADDRESS_LINE2
ADDRESS2,B.ADDRESS_LINE3 ADDRESS3,B.ADDRESS_LINE4 ADDRESS4,NULL
ADDRESS5, A.ALT_ACC_NO REF_NO, :"SYS_B_29" CREDIT_TYPE,
BOFN_GET_BOOK_DATE(A.ACCOUNT_NUMBER) DATE_APPROVED,NULL PARENT_CO_NO,
NULL PARENT_CO_NAME, DECODE(O.CUST_MIS_2, :"SYS_B_30", :"SYS_B_31",
:"SYS_B_32", :"SYS_B_33", :"SYS_B_34", :"SYS_B_35", :"SYS_B_36",
:"SYS_B_37", :"SYS_B_38",:"SYS_B_39",:"SYS_B_40",:"SYS_B_41",:"SYS_B_
42",:"SYS_B_43", :"SYS_B_44",:"SYS_B_45",:"SYS_B_46",:"SYS_B_47",:"SY
S_B_48",:"SYS_B_49", :"SYS_B_50",
:"SYS_B_51",:"SYS_B_52",:"SYS_B_53", :"SYS_B_54", :"SYS_B_55",
:"SYS_B_56",:"SYS_B_57", :"SYS_B_58",:"SYS_B_59",:"SYS_B_60",
:"SYS_B_61",:"SYS_B_62",
:"SYS_B_63",:"SYS_B_64",:"SYS_B_65",:"SYS_B_66",:"SYS_B_67",:"SYS_B_6
8") SECTOR_LOAN_CLASS,A.CURRENCY CURR,NVL(A.FIELD_NUMBER_1,
A.AMOUNT_DISBURSED) AMOUNT_ORG, -:"SYS_B_69" *
BOFN_PRINCIPAL_OUTSTANDING(A.ACCOUNT_NUMBER, N.TODAY)
AMOUNT_OUT,NVL(A.FIELD_NUMBER_1, A.AMOUNT_DISBURSED) AMOUNT_DIS,
TO_DATE(:"SYS_B_70") DATE_UPDATE, BOFN_AMOUNT_INST(A.ACCOUNT_NUMBER)
AMOUNT_INST,I.DATE_FIRST_INST,
BOFN_MCIB_PERIODICITY_V12(A.ACCOUNT_NUMBER) PERIODICITY,
I.DATE_LAST_INST,NVL(A.MATURITY_DATE, N.TODAY) DATE_EXP,
BOFN_NO_INST(A.ACCOUNT_NUMBER) NO_INST,
BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER) DATE_DEFAULT,
BOFN_MCIB_LD_AMTDEFAULT_V12(A.ACCOUNT_NUMBER) BAL_DEFAULT,
DECODE(BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER), NULL,
TO_NUMBER(NULL), L.AMOUNT_ARRS) AMOUNT_ARRS,(N.NEXT_WORKING_DAY BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER)) TYPE_CLASS,
BOFN_MCIB_LD_REGUL_V12(A.ACCOUNT_NUMBER) DATE_REGULARISED,NULL
ACTION_TAKEN, NULL ACTION_DATE FROM CLTB_ACCOUNT_MASTER
A,STTM_CUSTOMER B, STTM_CUST_PERSONAL C, STTM_COUNTRY D, (SELECT
B.ACCOUNT_NUMBER, DECODE((MAX(D.DATE_UPDATE) - MAX(A.TRN_DT)) ABS(MAX(D.DATE_UPDATE) - MAX(A.TRN_DT)), :"SYS_B_71",
MAX(D.DATE_UPDATE), MAX(A.TRN_DT)) DATE_UPDATE FROM
ACVW_ALL_AC_ENTRIES A, CLTB_ACCOUNT_MASTER B, STTM_CUST_PERSONAL
C, MCIB_HISTORY_DATA D WHERE (A.TRN_REF_NO = B.ALT_ACC_NO OR
A.RELATED_ACCOUNT = B.ACCOUNT_NUMBER) AND B.CUSTOMER_ID =
C.CUSTOMER_NO AND B.ALT_ACC_NO = D.REF_NO AND D.REPORTING_DATE =
(SELECT MAX(REPORTING_DATE) FROM MCIB_HISTORY_DATA WHERE REF_NO =
D.REF_NO) AND A.AMOUNT_TAG = :"SYS_B_72" AND B.ACCOUNT_STATUS =
:"SYS_B_73" GROUP BY B.ACCOUNT_NUMBER, B.ALT_ACC_NO) G, (SELECT
ACCOUNT_NUMBER, MAX(SCHEDULE_DUE_DATE) DATE_LAST_INST,
MIN(SCHEDULE_DUE_DATE) DATE_FIRST_INST FROM (SELECT ACCOUNT_NUMBER,
SCHEDULE_DUE_DATE FROM CLTB_ACCOUNT_SCHEDULES UNION SELECT
X.ACCOUNT_NUMBER, W.DUE_DATE FROM CSTB_AMOUNT_DUE W,
CLTB_ACCOUNT_MASTER X WHERE W.CONTRACT_REF_NO = X.ALT_ACC_NO) GROUP
BY ACCOUNT_NUMBER) I, (SELECT A.ACCOUNT_NUMBER, SUM(A.AMOUNT_DUE NVL(A.AMOUNT_SETTLED, :"SYS_B_74")) AMOUNT_ARRS FROM
CLTB_ACCOUNT_SCHEDULES A, STTM_DATES B WHERE A.BRANCH_CODE =

B.BRANCH_CODE
AND A.SCHEDULE_DUE_DATE < B.TODAY HAVING
SUM(A.AMOUNT_DUE - NVL(A.AMOUNT_SETTLED, :"SYS_B_75")) = :"SYS_B_76"
GROUP BY A.ACCOUNT_NUMBER) L,STTM_DATES N, MITM_CUSTOMER_DEFAULT O
WHERE A.CUSTOMER_ID = B.CUSTOMER_NO AND A.CUSTOMER_ID = C.CUSTOMER_NO
AND A.ACCOUNT_NUMBER = G.ACCOUNT_NUMBER AND A.ACCOUNT_NUMBER =
I.ACCOUNT_NUMBER AND A.BRANCH_CODE = N.BRANCH_CODE AND
A.ACCOUNT_NUMBER = L.ACCOUNT_NUMBER AND B.CUSTOMER_NO = O.CUSTOMER
AND B.NATIONALITY = D.COUNTRY_CODE AND B.CUSTOMER_TYPE = :"SYS_B_77"
AND O.CUST_MIS_7 <> :"SYS_B_78" AND A.ACCOUNT_STATUS = :"SYS_B_79"AND
A.ALT_ACC_NO IN (SELECT REF_NO From MCIB_HISTORY_DATA WHERE
REPORTING_DATE = (SELECT MAX(REPORTING_DATE) From MCIB_HISTORY_DATA
WHERE REF_NO = A.ALT_ACC_NO) AND AMOUNT_OUT <> :"SYS_B_80")
Rationale
The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
This part of database time may be improved by the SQL Tuning Advisor.
Rationale
Database time for this SQL was divided as follows: 100% for SQL
execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java
execution.
Rationale
SQL statement with SQL_ID "5a62hrvpjvncw" was executed 1 times and had
an average elapsed time of 2904 seconds.
Rationale
At least 2 distinct execution plans were utilized for this SQL statement
during the analysis period.
Recommendation 2: SQL Tuning
Estimated benefit is .19 active sessions, 18.84% of total activity.
------------------------------------------------------------------Action
Run SQL Tuning Advisor on the INSERT statement with SQL_ID
"78h8v86790unb".
Related Object
SQL statement with SQL_ID 78h8v86790unb.
INSERT INTO MCIB_DAILY_DATA
(ENTITY_CODE,ENTITY_TYPE,RESIDENT_FLAG,ENTITY_NAME,
ENTITY_OTHER_NAME,DOB,SEX,COUNTRY_CODE,PASSPORT_NO,ADDRESS1,
ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,REF_NO,CREDIT_TYPE,
DATE_APPROVED,PARENT_CO_NO,PARENT_CO_NAME,SECTOR_LOAN_CLASS,CURR,AMOU
NT_ORG,AMOUNT_OUT,AMOUNT_DIS,DATE_UPDATE,AMOUNT_INST,
DATE_FIRST_INST,PERIODICITY,DATE_LAST_INST,DATE_EXP,NO_INST,
DATE_DEFAULT,BAL_DEFAULT,AMOUNT_ARRS,TYPE_CLASS,DATE_REGULARISED,ACTI
ON_TAKEN,ACTION_DATE) SELECT B.UNIQUE_ID_VALUE ENTITY_CODE,
DECODE(O.CUST_MIS_7,:"SYS_B_00",:"SYS_B_01",:"SYS_B_02",
:"SYS_B_03",:"SYS_B_04",:"SYS_B_05",:"SYS_B_06",
:"SYS_B_07",:"SYS_B_08",:"SYS_B_09",:"SYS_B_10",:"SYS_B_11",:"SYS_B_1
2",:"SYS_B_13") ENTITY_TYPE,DECODE(NVL(C.INCORP_COUNTRY,B.COUNTRY),:"
SYS_B_14",:"SYS_B_15",:"SYS_B_16",:"SYS_B_17",:"SYS_B_18")
RESIDENT_FLAG, B.CUSTOMER_NAME1 ENTITY_NAME, NULL
ENTITY_OTHER_NAME, NULL DOB, NULL SEX, DECODE(D.ALT_COUNTRY_CODE,
:"SYS_B_19", :"SYS_B_20", :"SYS_B_21", :"SYS_B_22", :"SYS_B_23",
:"SYS_B_24", :"SYS_B_25", :"SYS_B_26", :"SYS_B_27", :"SYS_B_28",
:"SYS_B_29", :"SYS_B_30",D.ALT_COUNTRY_CODE)
COUNTRY_CODE,C.C_NATIONAL_ID PASSPORT_NO, B.ADDRESS_LINE1 ADDRESS1,
B.ADDRESS_LINE2 ADDRESS2, B.ADDRESS_LINE3 ADDRESS3, B.ADDRESS_LINE4
ADDRESS4, NULL ADDRESS5, A.ALT_ACC_NO REF_NO, :"SYS_B_31"
CREDIT_TYPE, BOFN_GET_BOOK_DATE(A.ACCOUNT_NUMBER) DATE_APPROVED,
NULL PARENT_CO_NO, NULL PARENT_CO_NAME, DECODE(O.CUST_MIS_2,
:"SYS_B_32", :"SYS_B_33", :"SYS_B_34", :"SYS_B_35", :"SYS_B_36",
:"SYS_B_37", :"SYS_B_38", :"SYS_B_39",

:"SYS_B_40",:"SYS_B_41",:"SYS_B_42",:"SYS_B_43",:"SYS_B_44",:"SYS_B_4
5", :"SYS_B_46",:"SYS_B_47",:"SYS_B_48",:"SYS_B_49",:"SYS_B_50",:"SYS
_B_51", :"SYS_B_52", :"SYS_B_53",:"SYS_B_54",:"SYS_B_55",
:"SYS_B_56", :"SYS_B_57", :"SYS_B_58",:"SYS_B_59",
:"SYS_B_60",:"SYS_B_61",:"SYS_B_62", :"SYS_B_63",:"SYS_B_64",
:"SYS_B_65",:"SYS_B_66",:"SYS_B_67",:"SYS_B_68",:"SYS_B_69",:"SYS_B_7
0") SECTOR_LOAN_CLASS, A.CURRENCY CURR,NVL(A.FIELD_NUMBER_1,
A.AMOUNT_FINANCED) AMOUNT_ORG, -:"SYS_B_71" *
BOFN_PRINCIPAL_OUTSTANDING(A.ACCOUNT_NUMBER, N.TODAY) AMOUNT_OUT,
NVL(A.FIELD_NUMBER_1, A.AMOUNT_DISBURSED) AMOUNT_DIS,
TO_DATE(:"SYS_B_72") DATE_UPDATE, BOFN_AMOUNT_INST(A.ACCOUNT_NUMBER)
AMOUNT_INST, I.DATE_FIRST_INST,
BOFN_MCIB_PERIODICITY_V12(A.ACCOUNT_NUMBER) PERIODICITY,
I.DATE_LAST_INST, A.MATURITY_DATE DATE_EXP,
BOFN_NO_INST(A.ACCOUNT_NUMBER) NO_INST,
BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER) DATE_DEFAULT,
BOFN_MCIB_LD_AMTDEFAULT_V12(A.ACCOUNT_NUMBER) BAL_DEFAULT,
DECODE(BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER),NULL,
TO_NUMBER(NULL), L.AMOUNT_ARRS) AMOUNT_ARRS, (N.NEXT_WORKING_DAY BOFN_MCIB_LD_DATEDEFAULT_V12(A.ACCOUNT_NUMBER))
TYPE_CLASS,BOFN_MCIB_LD_REGUL_V12(A.ACCOUNT_NUMBER) DATE_REGULARISED,
NULL ACTION_TAKEN,NULL ACTION_DATE FROM CLTB_ACCOUNT_MASTER
A,STTM_CUSTOMER B, STTM_CUST_CORPORATE C, STTM_COUNTRY D,(SELECT
B.ACCOUNT_NUMBER, DECODE((MAX(D.DATE_UPDATE) - MAX(A.TRN_DT)) ABS(MAX(D.DATE_UPDATE) - MAX(A.TRN_DT)), :"SYS_B_73",
MAX(D.DATE_UPDATE), MAX(A.TRN_DT)) DATE_UPDATE FROM
ACVW_ALL_AC_ENTRIES A, CLTB_ACCOUNT_MASTER B, STTM_CUST_PERSONAL
C,MCIB_HISTORY_DATA D WHERE (A.TRN_REF_NO = B.ALT_ACC_NO OR
A.RELATED_ACCOUNT = B.ACCOUNT_NUMBER) AND B.CUSTOMER_ID =
C.CUSTOMER_NO AND B.ALT_ACC_NO = D.REF_NO AND D.REPORTING_DATE =
(SELECT MAX(REPORTING_DATE) FROM MCIB_HISTORY_DATA WHERE REF_NO =
D.REF_NO) AND A.AMOUNT_TAG = :"SYS_B_74" AND B.ACCOUNT_STATUS =
:"SYS_B_75" GROUP BY B.ACCOUNT_NUMBER, B.ALT_ACC_NO) G, (SELECT
ACCOUNT_NUMBER, MAX(SCHEDULE_DUE_DATE)
DATE_LAST_INST,MIN(SCHEDULE_DUE_DATE) DATE_FIRST_INST FROM (SELECT
ACCOUNT_NUMBER, SCHEDULE_DUE_DATE FROM CLTB_ACCOUNT_SCHEDULES UNION
SELECT X.ACCOUNT_NUMBER, W.DUE_DATE FROM CSTB_AMOUNT_DUE W,
CLTB_ACCOUNT_MASTER X WHERE W.CONTRACT_REF_NO = X.ALT_ACC_NO) GROUP
BY ACCOUNT_NUMBER) I, (SELECT A.ACCOUNT_NUMBER, SUM(A.AMOUNT_DUE NVL(A.AMOUNT_SETTLED, :"SYS_B_76")) AMOUNT_ARRS FROM
CLTB_ACCOUNT_SCHEDULES A, STTM_DATES B WHERE A.BRANCH_CODE =
B.BRANCH_CODE AND A.SCHEDULE_DUE_DATE < B.TODAY HAVING
SUM(A.AMOUNT_DUE - NVL(A.AMOUNT_SETTLED, :"SYS_B_77")) = :"SYS_B_78"
GROUP BY A.ACCOUNT_NUMBER) L, STTM_DATES N, MITM_CUSTOMER_DEFAULT O
WHERE A.CUSTOMER_ID = B.CUSTOMER_NO AND A.CUSTOMER_ID = C.CUSTOMER_NO
(+) AND A.ACCOUNT_NUMBER = G.ACCOUNT_NUMBER AND A.ACCOUNT_NUMBER =
I.ACCOUNT_NUMBER AND A.BRANCH_CODE = N.BRANCH_CODE AND
A.ACCOUNT_NUMBER = L.ACCOUNT_NUMBER AND B.CUSTOMER_NO = O.CUSTOMER
AND B.COUNTRY = D.COUNTRY_CODE AND B.CUSTOMER_TYPE <> :"SYS_B_79"
AND O.CUST_MIS_7 <> :"SYS_B_80" AND A.ACCOUNT_STATUS = :"SYS_B_81"
AND A.ALT_ACC_NO IN (SELECT REF_NO From MCIB_HISTORY_DATA WHERE
REPORTING_DATE = (SELECT MAX(REPORTING_DATE)
From
MCIB_HISTORY_DATA WHERE REF_NO = A.ALT_ACC_NO) AND AMOUNT_OUT <>
:"SYS_B_82")
Rationale
The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
This part of database time may be improved by the SQL Tuning Advisor.
Rationale
Database time for this SQL was divided as follows: 100% for SQL
execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java

execution.
Rationale
At least 2 distinct execution plans were utilized for this SQL statement
during the analysis period.
Finding 2: Top Segments by "User I/O" and "Cluster"
Impact is .75 active sessions, 74.54% of total activity.
-------------------------------------------------------Individual database segments responsible for significant "User I/O" and
"Cluster" waits were found.
Recommendation 1: Segment Tuning
Estimated benefit is .75 active sessions, 74.54% of total activity.
------------------------------------------------------------------Action
Run "Segment Advisor" on TABLE "ABLLIVE.ACTB_HISTORY" with object ID
446190.
Related Object
Database object with ID 446190.
Action
Investigate application logic involving I/O on TABLE
"ABLLIVE.ACTB_HISTORY" with object ID 446190.
Related Object
Database object with ID 446190.
Action
Look at the "Top SQL Statements" finding for SQL statements consuming
significant I/O on this segment. For example, the INSERT statement with
SQL_ID "5a62hrvpjvncw" is responsible for 100% of "User I/O" and
"Cluster" waits for this segment.
Rationale
The I/O usage statistics for the object are: 165 full object scans,
14074668 physical reads, 0 physical writes and 0 direct reads.
Symptoms That Led to the Finding:
--------------------------------Wait class "User I/O" was consuming significant database time.
Impact is .75 active sessions, 74.54% of total activity.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Additional Information
---------------------Miscellaneous Information
------------------------Wait class "Application" was not consuming significant database time.
Wait class "Commit" was not consuming significant database time.
Wait class "Concurrency" was not consuming significant database time.
Wait class "Configuration" was not consuming significant database time.
CPU was not a bottleneck for the instance.
Wait class "Network" was not consuming significant database time.
Session connect and disconnect calls were not consuming significant database
time.
Hard parsing of SQL statements was not consuming significant database time.

You might also like