Hi Connor,
Still we are unable to get the row source optimizer information but they have shared some statpack statistics. To me it doesn't look useful. let me know if we can get some input from statpack.
Below is snap sent by the DBA.
-----------------------------------------------------------------------------------
ActSes %Thread | SID | EVENT | WAIT_CLASS
-----------------------------------------------------------------------------------
1.00 (100%) | 957 | ON CPU | ON CPU
--------------------------------------------------------------
ActSes %Thread | PLSQL_OBJE | PLSQL_SUBP | SQL_ID
--------------------------------------------------------------
1.00 (100%) | | | 07pfqktr7y6gk
------------------------------------------------------------------------------------------------------
ActSes %Thread | PROGRAM | MODULE | ACTION
------------------------------------------------------------------------------------------------------
1.00 (100%) | frmweb@rws-zcs-002.hr-zcs | SLP3009 |
-- End of ASH snap 1, end=2016-07-20 10:43:14, seconds=50, samples_taken=50, AAS=1
SQL> select * from table(dbms_xplan.display_cursor('07pfqktr7y6gk',null,'ALL'));
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------
SQL_ID 07pfqktr7y6gk, child number 0
-------------------------------------
SELECT ROWID,CARCOD,DOCNUM,ERRTYP,RMK,BATSEQ,APXINKIND,CARNUMCOD,CPNNUM,
REFTRNIDR FROM SLPSALEXC WHERE batseq in (select :1 from dual union
select a.batseq from genagpmst b,slpbathdr a where a.stadat >= :2 and
a.enddat <= :3 and a.loctyp=nvl(:4,a.loctyp) and
a.curcod=nvl(:5,a.curcod) and a.agpcod = b.agpcod and a.agpcod =
nvl(:6,a.agpcod) and b.teacod = nvl(:7,b.teacod) ) and ((:8='T' and
errtyp='T') or (:9!='T')) order by errtyp, docnum
Plan hash value: 505003130
---------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 9 (100)| |
| 1 | SORT ORDER BY | | 1 | 114 | 9 (23)| 00:00:01 |
| 2 | NESTED LOOPS | | 1 | 114 | 8 (13)| 00:00:01 |
| 3 | NESTED LOOPS | | 6 | 114 | 8 (13)| 00:00:01 |
| 4 | VIEW | VW_NSO_1 | 3 | 39 | 8 (25)| 00:00:01 |
| 5 | SORT UNIQUE | | 3 | 144 | 8 (25)| 00:00:01 |
| 6 | UNION-ALL | | | | | |
| 7 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
| 8 | CONCATENATION | | | | | |
|* 9 | FILTER | | | | | |
| 10 | NESTED LOOPS | | 1 | 48 | 2 (0)| 00:00:01 |
| 11 | NESTED LOOPS | | 1 | 48 | 2 (0)| 00:00:01 |
|* 12 | TABLE ACCESS BY INDEX ROWID| SLPBATHDR | 1 | 36 | 1 (0)| 00:00:01 |
|* 13 | INDEX RANGE SCAN | SLPBATHDR_IND7 | 1 | | 1 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | GENAGPMST_UIND1 | 1 | | 1 (0)| 00:00:01 |
|* 15 | TABLE ACCESS BY INDEX ROWID | GENAGPMST | 1 | 12 | 1 (0)| 00:00:01 |
|* 16 | FILTER | | | | | |
| 17 | NESTED LOOPS | | 1 | 48 | 2 (0)| 00:00:01 |
| 18 | NESTED LOOPS | | 1 | 48 | 2 (0)| 00:00:01 |
| 19 | TABLE ACCESS BY INDEX ROWID| GENAGPMST | 1 | 12 | 1 (0)| 00:00:01 |
|* 20 | INDEX RANGE SCAN | GENAGPMST_IND3 | 1 | | 1 (0)| 00:00:01 |
|* 21 | INDEX RANGE SCAN | SLPBATHDR_IND7 | 1 | | 1 (0)| 00:00:01 |
|* 22 | TABLE ACCESS BY INDEX ROWID | SLPBATHDR | 1 | 36 | 1 (0)| 00:00:01 |
|* 23 | INDEX RANGE SCAN | SLPSALEXC_IND1 | 2 | | 1 (0)| 00:00:01 |
|* 24 | TABLE ACCESS BY INDEX ROWID | SLPSALEXC | 1 | 101 | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$940CEDA2
4 - SET$FCA7A018 / VW_NSO_1@SEL$940CEDA2
5 - SET$FCA7A018
7 - SEL$2 / DUAL@SEL$2
8 - SEL$3
12 - SEL$3_1 / A@SEL$3
13 - SEL$3_1 / A@SEL$3
14 - SEL$3_1 / B@SEL$3
15 - SEL$3_1 / B@SEL$3
19 - SEL$3_2 / B@SEL$3_2
20 - SEL$3_2 / B@SEL$3_2
21 - SEL$3_2 / A@SEL$3_2
22 - SEL$3_2 / A@SEL$3_2
23 - SEL$940CEDA2 / SLPSALEXC@SEL$1
24 - SEL$940CEDA2 / SLPSALEXC@SEL$1
Predicate Information (identified by operation id):
---------------------------------------------------
9 - filter(:7 IS NULL)
12 - filter(("A"."STADAT">=:2 AND "A"."LOCTYP"=NVL(:4,"A"."LOCTYP") AND
"A"."CURCOD"=NVL(:5,"A"."CURCOD") AND "A"."AGPCOD"=NVL(:6,"A"."AGPCOD")))
13 - access("A"."ENDDAT"<=:3)
14 - access("A"."AGPCOD"="B"."AGPCOD")
15 - filter("B"."TEACOD" IS NOT NULL)
16 - filter(:7 IS NOT NULL)
20 - access("B"."TEACOD"=:7)
21 - access("A"."ENDDAT"<=:3)
22 - filter(("A"."STADAT">=:2 AND "A"."LOCTYP"=NVL(:4,"A"."LOCTYP") AND
"A"."CURCOD"=NVL(:5,"A"."CURCOD") AND "A"."AGPCOD"=NVL(:6,"A"."AGPCOD") AND
"A"."AGPCOD"="B"."AGPCOD"))
23 - access("BATSEQ"=":1")
24 - filter((:9<>'T' OR (:8='T' AND "ERRTYP"='T')))
Column Projection Information (identified by operation id):
-----------------------------------------------------------
1 - (#keys=2) "ERRTYP"[CHARACTER,1], "DOCNUM"[NUMBER,22], ROWID[ROWID,10],
"CARCOD"[VARCHAR2,3], "CPNNUM"[NUMBER,22], "REFTRNIDR"[NUMBER,22], "RMK"[VARCHAR2,2000],
"BATSEQ"[NUMBER,22], "APXINKIND"[VARCHAR2,1], "CARNUMCOD"[VARCHAR2,3]
2 - ROWID[ROWID,10], "DOCNUM"[NUMBER,22], "BATSEQ"[NUMBER,22], "CARCOD"[VARCHAR2,3],
"RMK"[VARCHAR2,2000], "ERRTYP"[CHARACTER,1], "APXINKIND"[VARCHAR2,1], "CARNUMCOD"[VARCHAR2,3],
"CPNNUM"[NUMBER,22], "REFTRNIDR"[NUMBER,22]
3 - ROWID[ROWID,10], "BATSEQ"[NUMBER,22]
4 - ":1"[NUMBER,22]
5 - (#keys=1) STRDEF[22]
6 - STRDEF[22]
8 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7],
"B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3]
9 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7],
"B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3]
10 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7],
"B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3]
11 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7],
"B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7]
12 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7]
13 - "A".ROWID[ROWID,10], "A"."ENDDAT"[DATE,7]
14 - "B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7]
15 - "B".ROWID[ROWID,10], "B"."TEACOD"[VARCHAR2,3]
16 - "B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3],
"A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7]
17 - "B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3],
"A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7], "A"."ENDDAT"[DATE,7]
18 - "B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3],
"A".ROWID[ROWID,10], "A"."ENDDAT"[DATE,7]
19 - "B".ROWID[ROWID,10], "B"."AGPCOD"[VARCHAR2,7], "B"."TEACOD"[VARCHAR2,3]
20 - "B".ROWID[ROWID,10], "B"."TEACOD"[VARCHAR2,3]
21 - "A".ROWID[ROWID,10], "A"."ENDDAT"[DATE,7]
22 - "A".ROWID[ROWID,10], "A"."LOCTYP"[CHARACTER,1], "A"."BATSEQ"[NUMBER,22],
"A"."AGPCOD"[VARCHAR2,7], "A"."CURCOD"[VARCHAR2,3], "A"."STADAT"[DATE,7]
23 - ROWID[ROWID,10], "BATSEQ"[NUMBER,22]
24 - ROWID[ROWID,10], "DOCNUM"[NUMBER,22], "CARCOD"[VARCHAR2,3], "RMK"[VARCHAR2,2000],
"ERRTYP"[CHARACTER,1], "APXINKIND"[VARCHAR2,1], "CARNUMCOD"[VARCHAR2,3], "CPNNUM"[NUMBER,22],
"REFTRNIDR"[NUMBER,22]
127 rows selected.