performance issue with the Oracle SQL query

Dears

Good evening

I am new to begin to use Oracle SQL, I have a sql query which takes longer to run in production.

Each table in the query contains 1.2 million records and DBA suggested using the "Oracle - tips. I don't have good knowledge on this subject and the difficulties to implement this advice for imrpovise performance. In the product the jobs Informatica are failed and stuck with this problem of query performance.

I ask this forum for an emergency for me to solve this problem by using "advice". kindly help me.

 

SELECT
CASE.ID,
CASE. DTYPE,
CASE. Version
CASE. EXTERNAL_REF,
CASE. CREATION_TS,
RQ. TYPE
Of
PAS_CASE CASE,
AS_REQUEST RQ,
CN PAS_CONTEXT
where rq.case_id = case.id
AND rq.id = cn.request_id
and rq. DTYPE = "MAINREQUEST."
and rq. TYPE in
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)
and CN. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')
AND CAST (CN. CREATION_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)
AND
CAST (CN. CREATION_TS AS DATE) < TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

-2nd request

SELECT
RA.ID,
RHEUMATOID ARTHRITIS. Version
RHEUMATOID ARTHRITIS. REQUEST_ID,
RA.NAME,
RHEUMATOID ARTHRITIS. VALUE,
RHEUMATOID ARTHRITIS. LOB_ID,
RHEUMATOID ARTHRITIS. DTYPE,
RHEUMATOID ARTHRITIS. CREATION_TS,
TASK. MAIN_REQ_TYPE
PAS_REQUESTATTRIBUTE RA
Join
(
Select tsk.ID, tsk. TYPE, main_req_type main_req.
of tsk PAS_REQUEST
Join
(
Select cn.id as context_id, rq. TYPE main_req_type
of PAS_REQUEST rq
Cn PAS_CONTEXT
where rq.id = cn.request_id
and rq. DTYPE = "MAINREQUEST."
and rq. TYPE in
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')
and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)
and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)
and cn.ID between the 20141999999999999 AND 20141800000000000
and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req
On tsk.parent_context_id = main_req.context_id
and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')
and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1
) task
on the RA REQUEST_ID = task.ID
and RA.ID between $$ LOW_ID1 AND $$ HIGH_ID1
UNION

SELECT
RA.ID,
RHEUMATOID ARTHRITIS. Version
RHEUMATOID ARTHRITIS. REQUEST_ID,
RA.NAME,
RHEUMATOID ARTHRITIS. VALUE,
RHEUMATOID ARTHRITIS. LOB_ID,
RHEUMATOID ARTHRITIS. DTYPE,
RHEUMATOID ARTHRITIS. CREATION_TS,
MAIN_REQ. TYPE
PAS_REQUESTATTRIBUTE RA
Join
(
Select rq.id, rq.type
of PAS_REQUEST rq
Cn PAS_CONTEXT
where rq.id = cn.request_id
and rq. DTYPE = "MAINREQUEST."
and rq. TYPE in
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')
and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)
and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)
and cn.ID between the 20141999999999999 AND 20141800000000000
and rq.ID between the 20141999999999999 AND 20141800000000000
) main_req
on the RA REQUEST_ID = main_req.ID

-3rd request

SELECT

RB.ID,

RB. DTYPE,

RB. Version

RB. TYPE,

RB. CREATION_TS,

RB. TASK_ID,

RB. Color

RB. GLOBAL_RESULT,

TASK. MAIN_REQ_TYPE

Of

PAS_RESULTBLOCK RB

Join

(

Select tsk.ID, tsk. TYPE, main_req_type main_req.

of tsk PAS_REQUEST

Join

(

Select cn.id as context_id, rq. TYPE main_req_type

of PAS_REQUEST rq

Cn PAS_CONTEXT

where rq.id = cn.request_id

and rq. DTYPE = "MAINREQUEST."

and rq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1

) task

We rb.task_id = task.ID

and rb.ID between $$ LOW_ID1 AND $$ HIGH_ID1

and RB. TYPE is not null

and RB. TYPE IN

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

UNION

SELECT

RB.ID,

RB. DTYPE,

RB. Version

RB. TYPE,

RB. CREATION_TS,

RB. TASK_ID,

RB. Color

RB. GLOBAL_RESULT,

TASK. MAIN_REQ_TYPE

Of

PAS_RESULTBLOCK RB

Join

(

Select tsk.ID, tsk. TYPE, main_req_type main_req.

of tsk PAS_REQUEST

Join

(

Select cn.id as context_id, rq. TYPE main_req_type

of PAS_REQUEST rq

Cn PAS_CONTEXT

where rq.id = cn.request_id

and rq. DTYPE = "MAINREQUEST."

and rq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1

) task

We rb.task_id = task.ID

and rb.ID between $$ LOW_ID1 AND $$ HIGH_ID1

and RB. TYPE is nullSELECT

RB.ID,

RB. DTYPE,

RB. Version

RB. TYPE,

RB. CREATION_TS,

RB. TASK_ID,

RB. Color

RB. GLOBAL_RESULT,

TASK. MAIN_REQ_TYPE

Of

PAS_RESULTBLOCK RB

Join

(

Select tsk.ID, tsk. TYPE, main_req_type main_req.

of tsk PAS_REQUEST

Join

(

Select cn.id as context_id, rq. TYPE main_req_type

of PAS_REQUEST rq

Cn PAS_CONTEXT

where rq.id = cn.request_id

and rq. DTYPE = "MAINREQUEST."

and rq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1

) task

We rb.task_id = task.ID

and rb.ID between $$ LOW_ID1 AND $$ HIGH_ID1

and RB. TYPE is not null

and RB. TYPE IN

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

UNION

SELECT

RB.ID,

RB. DTYPE,

RB. Version

RB. TYPE,

RB. CREATION_TS,

RB. TASK_ID,

RB. Color

RB. GLOBAL_RESULT,

TASK. MAIN_REQ_TYPE

Of

PAS_RESULTBLOCK RB

Join

(

Select tsk.ID, tsk. TYPE, main_req_type main_req.

of tsk PAS_REQUEST

Join

(

Select cn.id as context_id, rq. TYPE main_req_type

of PAS_REQUEST rq

Cn PAS_CONTEXT

where rq.id = cn.request_id

and rq. DTYPE = "MAINREQUEST."

and rq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1

) task

We rb.task_id = task.ID

and rb.ID between $$ LOW_ID1 AND $$ HIGH_ID1

and RB. TYPE is null

-4th query

SELECT
RI.ID,
UII DTYPE,
UII Version
UII RESULTBLOCK_ID,
RI.NAME,
UII VALUE,
UII UNIT,
UII Color
UII LOB_ID,
UII CREATION_TS,
UII SEQUENCE,
UII DETAILLEVEL,
RES_BLK. MAIN_REQ_TYPE
Of
RI PAS_RESULTITEM
Join
(
Select
rb.ID, rb. TYPE rb_type, task. TYPE as the task_type, task. pas_resultblock rb main_req_type
Join
(
Select tsk.ID, tsk. TYPE, main_req_type main_req.
of tsk PAS_REQUEST
Join
(
Select cn.id as context_id, rq. TYPE main_req_type
of PAS_REQUEST rq
Cn PAS_CONTEXT
where rq.id = cn.request_id
and rq. DTYPE = "MAINREQUEST."
and rq. TYPE in
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')
and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)
and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)
and cn.ID between the 20141999999999999 AND 20141800000000000
and rq.ID between the 20141999999999999 AND 20141800000000000
) main_req
On tsk.parent_context_id = main_req.context_id
and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')
and tsk.ID between the 20141999999999999 AND 20141800000000000
) task
We rb.task_id = task.ID
and rb.ID between the 20141999999999999 AND 20141800000000000
and RB. TYPE IN
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
) res_blk
On ri.resultblock_id = res_blk.ID
where IN RI.NAME
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
and RI.ID between the 20141999999999999 AND 20141800000000000
and RI.NAME is not null
UNION

Select
RI.ID,
UII DTYPE,
UII Version
UII RESULTBLOCK_ID,
RI.NAME,
UII VALUE,
UII UNIT,
UII Color
UII LOB_ID,
UII CREATION_TS,
UII SEQUENCE,
UII DETAILLEVEL,
RES_BLK. MAIN_REQ_TYPE
of pas_resultitem ri
Join
(
Select
rb.ID, rb. TYPE rb_type, task. TYPE as the task_type, task. pas_resultblock rb main_req_type
Join
(
Select tsk.ID, tsk. TYPE, main_req_type main_req.
of tsk PAS_REQUEST
Join
(
Select cn.id as context_id, rq. TYPE main_req_type
of PAS_REQUEST rq
Cn PAS_CONTEXT
where rq.id = cn.request_id
and rq. DTYPE = "MAINREQUEST."
and rq. TYPE in
(
'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.
'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.
)
and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')
and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)
and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)
and cn.ID between the 20141999999999999 AND 20141800000000000
and rq.ID between the 20141999999999999 AND 20141800000000000
) main_req
On tsk.parent_context_id = main_req.context_id
and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')
and tsk.ID between the 20141999999999999 AND 20141800000000000
) task
We rb.task_id = task.ID
and rb.ID between the 20141999999999999 AND 20141800000000000
) res_blk
On ri.resultblock_id = res_blk.ID
where RI.ID between 20141800000000000 20141999999999999 AND
and RI.NAME is null

-REQUEST OF 5HT

SELECT

TSK.ID,

TSK. Version

TSK. DTYPE,

TSK. CASE_ID,

TSK. TYPE,

TSK. CORRELATION_ID,

TSK. INITIATOR,

TSK. EXECUTOR,

TSK. CATEGORY,

TSK. PARENT_CONTEXT_ID,

TSK. CREATION_TS,

MAIN_REQ. MAIN_REQ_TYPE

Of

TSK PAS_REQUEST

Join

(

Select cn.id as context_id, rq. TYPE main_req_type

of PAS_REQUEST rq

Cn PAS_CONTEXT

where rq.id = cn.request_id

and rq. DTYPE = "MAINREQUEST."

and rq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and rq.ID between the 20141999999999999 AND 20141800000000000

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk. DTYPE in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.ID between $$ LOW_ID1 AND $$ HIGH_ID1

UNION

Select

MREQ.ID,

MREQ. Version

MREQ. DTYPE,

MREQ. CASE_ID,

MREQ. TYPE,

MREQ. CORRELATION_ID,

MREQ. INITIATOR,

MREQ. EXECUTOR,

MREQ. CATEGORY,

MREQ. PARENT_CONTEXT_ID,

MREQ. CREATION_TS,

MREQ. TYPE

of PAS_REQUEST mreq

Cn PAS_CONTEXT

where mreq.id = cn.request_id

and mreq. DTYPE = "MAINREQUEST."

and mreq. TYPE in

(

'bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ',' bgc.tbf.repair.vap', ' bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ',' bgc.cbm ',' bgc.dar.e2etest.preparation', ' bgc.chc.polling '.

)

and cn. STATUS ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and CAST (cn. END_TS AS DATE) > = TO_DATE ('2014-05-06 00:00:00 ',' ' YYYY-MM-DD HH24:MI:SS)

and CAST (cn. END_TS AS DATE) < = TO_DATE ('2014-05-06 23:59:59 ',' ' YYYY-MM-DD HH24:MI:SS)

and cn.ID between the 20141999999999999 AND 20141800000000000

and mreq.ID between the 20141999999999999 AND 20141800000000000

Tips will be may not be necessary (proportional to the cardinalities need)


Select pc.id, pc.dtype, pc.version, pc.external_ref, pc.creation_ts, rq.type

from pas_case

as_request rq,

CN pas_context

where rq.case_id = pc.id

and rq.id = cn.request_id

and rq.dtype = 'MAINREQUEST. '

and rq.type in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution', ' bgc.tbf.repair.vap',

'bgc.dar.e2etest ',' bgc.dar.e2etest.intermediate.execution', ' bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

and cn.status in ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and cn.creation_ts > = to_timestamp ('2014-05-06 00:00:00 ',' yyyy-mm-dd hh24:mi:ss')

and cn.creation_ts<= to_timestamp('2014-05-06="" 23:59:59.999999','yyyy-mm-dd="">

-2nd request

with

main_request as

(select / * + materialize * /)

CN.ID as context_id, rq.type as main_req_type

of pas_request rq

Join

CN pas_context

On rq.id = cn.request_id

and rq.dtype = 'MAINREQUEST. '

and rq.type in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution', ' bgc.chc.polling',

'bgc.tbf.repair.vap ',' bgc.dar.e2etest', ' bgc.dar.e2etest.intermediate.execution ',.

'bgc.cbm ','bgc.dar.e2etest.preparation '.

)

and cn.status in ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and cn.end_ts > = to_timestamp ('2014-05-06 00:00:00 ',' yyyy-mm-dd hh24:mi:ss')

and cn.end_ts<= to_timestamp('2014-05-06="" 23:59:59.999999','yyyy-mm-dd="">

and cn.id between 20141800000000000 and 20141999999999999

and rq.id between 20141800000000000 and 20141999999999999

)

Select ra.id, ra.version, ra.request_id, ra.name, ra.value, ra.lob_id, ra.dtype, ra.creation_ts, task.main_req_type

of pas_requestattribute ra

Join

(select tsk.id, tsk.type, main_req.main_req_type

from pas_request tsk

Join

main_request main_req

On tsk.parent_context_id = main_req.context_id

and tsk.dtype in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.id between $$ low_id1 and $$ high_id1

) task

We ra.request_id = task.id

and ra.id between $$ low_id1 and $$ high_id1

Union

Select ra.id, ra.version, ra.request_id, ra.name, ra.value, ra.lob_id, ra.dtype, ra.creation_ts, main_req.type

of pas_requestattribute ra

Join

main_request main_req

On ra.request_id = main_req.context_id

-3rd request

Select rb.id, rb.dtype, rb.version, rb.type, rb.creation_ts, rb.task_id, rb.color, rb.global_result, task.main_req_type

of pas_resultblock rb

Join

(select tsk.id, tsk.type, main_req.main_req_type

from pas_request tsk

Join

(select cn.id as context_id, rq.type as main_req_type

of pas_request rq

Join

CN pas_context

On rq.id = cn.request_id

and rq.dtype = 'MAINREQUEST. '

and rq.type in ('bgc.dar.vap.resolution.advice ','bgc.dar.e2etest.execution ',

'bgc.tbf.repair.vap ','bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ','bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

and cn.status in ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and cn.end_ts > = to_timestamp ('2014-05-06 00:00:00 ',' yyyy-mm-dd hh24:mi:ss')

and cn.end_ts<= to_timestamp('2014-05-06="" 23:59:59.999999','yyyy-mm-dd="">

and cn.id between 20141800000000000 and 20141999999999999

and rq.id between 20141800000000000 and 20141999999999999

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk.dtype in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.id between $$ low_id1 and $$ high_id1

) task

We rb.task_id = task.id

and rb.id between $$ low_id1 and $$ high_id1

where the type is null

or (type is not null

type in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution ', ' bgc.tbf.repair.vap',

'bgc.dar.e2etest ',' bgc.dar.e2etest.intermediate.execution', ' bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

)

-4th query

Select ri.id, ri.dtype, ri.version, ri.resultblock_id, ri.name, ri.value, ri.unit, ri.color, ri.lob_id.

RI.creation_ts, RI. Sequence, RI. DetailLevel, res_blk.main_req_type

of pas_resultitem ri

Join

(select rb.id, rb.type as rb_type, task.type as task_type, task.main_req_type)

of pas_resultblock rb

Join

(select main_req_type, tsk.id, tsk.type, main_req.)

from pas_request tsk

Join

(select cn.id as context_id, rq.type as main_req_type

of pas_request rq

Join

CN pas_context

On rq.id = cn.request_id

and rq.dtype = 'MAINREQUEST. '

and rq.type in ('bgc.dar.vap.resolution.advice ','bgc.dar.e2etest.execution ',

'bgc.tbf.repair.vap ','bgc.dar.e2etest ',.

'bgc.dar.e2etest.intermediate.execution ','bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

and cn.status in ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and cn.end_ts > = to_timestamp ('2014-05-06 00:00:00 ',' yyyy-mm-dd hh24:mi:ss')

and cn.end_ts<= to_timestamp('2014-05-06="" 23:59:59.999999','yyyy-mm-dd="">

and cn.id between 20141800000000000 and 20141999999999999

and rq.id between 20141800000000000 and 20141999999999999

) main_req

On tsk.parent_context_id = main_req.context_id

and tsk.dtype in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.id between 20141800000000000 and 20141999999999999

) task

We rb.task_id = task.id

and rb.id between 20141800000000000 and 20141999999999999

and rb.type in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution', ' bgc.tbf.repair.vap',

'bgc.dar.e2etest ',' bgc.dar.e2etest.intermediate.execution', ' bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

) res_blk

On ri.resultblock_id = res_blk.id

and ri.id between 20141800000000000 and 20141999999999999

where ri.name is null

or (ri.name is not null

and ri.name in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution', ' bgc.tbf.repair.vap',

'bgc.dar.e2etest ',' bgc.dar.e2etest.intermediate.execution', ' bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

)

-5th application

with

main_request as

(select / * + materialize * / )

mreq.ID, mreq.version, mreq.dtype, mreq.case_id, mreq.type, mreq.correlation_id, mreq. Initiator, mreq. Executor,

mreq. Category, mreq.parent_context_id, mreq.creation_ts, mreq.type

of pas_request mreq

Join

CN pas_context

On mreq.id = cn.request_id

and mreq.dtype = 'MAINREQUEST. '

and mreq.type in ('bgc.dar.vap.resolution.advice ',' bgc.dar.e2etest.execution', ' bgc.tbf.repair.vap',

'bgc.dar.e2etest ',' bgc.dar.e2etest.intermediate.execution', ' bgc.cbm ',.

'bgc.dar.e2etest.preparation ','bgc.chc.polling '.

)

and cn.status in ('FINISHED', 'CANCEL', 'TIMEOUT', 'ERROR')

and cn.end_ts > = to_timestamp ('2014-05-06 00:00:00 ',' yyyy-mm-dd hh24:mi:ss')

and cn.end_ts<= to_timestamp('2014-05-06="" 23:59:59.999999','yyyy-mm-dd="">

and cn.id between 20141800000000000 and 20141999999999999

and mreq.id between 20141800000000000 and 20141999999999999

)

Select tsk.id, tsk.version, tsk.dtype, tsk.case_id, tsk.type, tsk.correlation_id, tsk.initiator, tsk.executor,

TSK. Category, tsk.parent_context_id, tsk.creation_ts, main_req.main_req_type

from pas_request tsk

Join

main_request main_req

On tsk.parent_context_id = main_req.id

and tsk.dtype in ('ANALYSIS_TASK', 'DECISION_TASK')

and tsk.id between $$ low_id1 and $$ high_id1

Union

SELECT id, version, dtype, case_id, type, correlation_id, initiator, executor,

category, type parent_context_id, creation_ts

of main_request

Concerning

Etbin

Tags: Database

Similar Questions

  • Performance issue with the query when join OKS and tables of the IB

    Hello

    I'm developing an integration for the automation of RMA through repair. The type of repair order is based on the details of the guarantee. This check must be made for each record.

    Request for detailed below, I wrote, but it of a long way and slows down my program. Without this validation, it works perfectly.

    The problem is the join of tables with OKS IB, he kills performance. I also try to my side,

    any suggestion or help is appreciated. Here's the query in the program:

    SELECT DISTINCT (TYPE |) '-' || service | '-' || status)

    IN v_war_details

    FROM (SELECT TO_NUMBER (linesb.line_number) line,

    DECODE

    (fnd_profile. VALUE

    ('OKS_LINE_MIRR_NAME_OR_DESC'),

    'DISPLAY_NAME', sysitems.concatenated_segments,

    "DISPLAY_DESC", sysitems.description

    ) service.

    linestyletl.NAME TYPE,

    status of ststl.meaning,

    start_date linesb.start_date,

    linesb.end_date end_date,

    oks_misc_util_web.duration_period

    (linesb.start_date,

    linesb.end_date

    ) DURATION OF,.

    TimeUnit.unit_of_measure_tl period

    Of okc_k_lines_b linesb,.

    okc_k_lines_tl linestl,

    okc_line_styles_b linestyleb,

    okc_line_styles_tl linestyletl,

    okc_k_headers_all_b hdr,

    oks_k_lines_b slines,

    okc_k_items kitems,

    mtl_system_items_b1_kfv sysitems,

    okc_statuses_b stsb,

    okc_statuses_tl ststl,

    mtl_units_of_measure_tl timeunit,

    okc_lookups_v rentype,

    Glu mtl_units_of_measure_tl

    WHERE linesb.cle_id IS NULL

    AND linesb.ID = linestl.ID

    AND linestl. LANGUAGE = USERENV ("LANG")

    AND linesb.lse_id = linestyleb.ID

    AND linesb.lse_id (1, 12, 14, 19, 46)

    AND linestyleb.ID = linestyletl.ID

    AND linestyletl. LANGUAGE = USERENV ("LANG")

    AND linesb.chr_id = hdr.ID

    AND linesb.ID = slines.cle_id

    AND linesb.ID = kitems.cle_id

    AND kitems.object1_id1 =

    SysItems.inventory_item_id

    AND kitems.object1_id2 =

    SysItems.organization_id

    AND kitems.uom_code = uom.uom_code (+)

    AND unit of measure. LANGUAGE (+) = USERENV ("LANG")

    AND linesb.sts_code = stsb.code

    AND stsb.code = ststl.code

    AND ststl. LANGUAGE = USERENV ("LANG")

    AND timeunit.uom_code =

    oks_misc_util_web.duration_unit

    (linesb.start_date,

    linesb.end_date

    )

    AND timeunit. LANGUAGE = USERENV ("LANG")

    AND linesb.line_renewal_type_code = rentype.lookup_code (+)

    AND rentype.lookup_type (+) =

    'OKC_LINE_RENEWAL_TYPE '.

    AND (IN) hdr.ID

    SELECT kh.ID

    Of okc_k_headers_all_b kh.

    okc_k_lines_b kl,

    Ki okc_k_items,

    okc_line_styles_v ks,

    csi_item_instances c,

    mtl_system_items_b I have

    WHERE kh.org_id = p_org_id

    AND c.instance_id = p_instance_id

    AND c.serial_number = p_serial_num

    AND i.inventory_item_id =

    p_inventory_item_id

    AND kh.contract_number_modifier IS NULL

    -can be filled

    AND kh.ID = kl.dnz_chr_id

    AND kh.ID = ki.dnz_chr_id

    AND kl.ID = ki.cle_id

    AND kl.lse_id = ks.ID

    AND IN ki.jtot_object1_code

    ("OKX_CUSTPROD")

    AND c.last_vld_organization_id =

    i.organization_id

    AND TO_NUMBER (ki.object1_id1) =

    c.INSTANCE_ID

    AND c.inventory_item_id =

    i.inventory_item_id))

    Service = 'GUARANTEE '.

    AND TRUNC (SYSDATE) BETWEEN start_date AND end_date;

    Not sure where it would be so I put it in the section SQL/PLSQL.

    Kind regards

    Prashant

    Found the solution

    AND TO_NUMBER (ki.object1_id1) = c.instance_id

    replaced by to_char (c.instance_id) = ki.object1_id1 AND

  • Performance issue with the Update statement

    Oracle 10204

    I have a problem related to updaing one performance table.
    only 5000 lines should be updated.
    Hir are some details on the tables/M.V concerned:
    TABLE_NAME     LAST_ANALYZED          NUM_ROWS     SAMPLE_SIZE
    PS_RF_INST_PROD     1/20/2010 1:14:22 AM     7194402          7194402
    BL_TMP_INTRNT     1/27/2010 9:08:54 AM     885445          885445
    NAP_INTERNET     1/25/2010 11:47:02 AM     7053990          560777
    I tried to run the update with two options:
    1. with the plan than oracle choose.
    2. with notes I added.
    In both cases I he collapsed after more than an hour.

    Can any one suggest how to speed it up?

    Below are for the two option tkprof.
    Please note that beside the defualt statistics on those tables i also gathered statistics on two column level as followed:
    BEGIN
      SYS.DBMS_STATS.GATHER_TABLE_STATS (
          OwnName        => 'B'
         ,TabName        => 'BL_TMP_INTRNT'
        ,Estimate_Percent  => 100
        ,Degree            => 8
        ,Cascade           => TRUE
        ,No_Invalidate     => FALSE);
    END;
    /
    
    exec dbms_stats.gather_table_stats('B' , 'BL_TMP_INTRNT', cascade=>TRUE, method_opt=>'for columns SERVICE_UID size 254');
    exec dbms_stats.gather_table_stats('B' , 'BL_TMP_INTRNT', cascade=>TRUE, method_opt=>'for columns FIX_IP_USER size 254');
    Plan 1
    UPDATE BL_TMP_INTRNT A
       SET A.FIX_IP_USER =
              (SELECT C.PRODUCT_ID
                 FROM NAP_INTERNET B, PS_RF_INST_PROD C
                WHERE B.INST_PROD_ID = A.SERVICE_UID
                  AND B.SETID = 'SHARE'
                  AND C.INST_PROD_ID = B.NAP_SURF_UID)
     WHERE A.TERM_DESC LIKE '%ip%'
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse        1      0.03       0.02          0          0          0           0
    Execute      1   1166.64    4803.78   17989002   18792167        117           0
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total        2   1166.67    4803.81   17989002   18792167        117           0
    
    Misses in library cache during parse: 1
    Optimizer mode: FIRST_ROWS
    Parsing user id: 13
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          0  UPDATE  BL_TMP_INTRNT (cr=0 pr=0 pw=0 time=2 us)
         46   TABLE ACCESS FULL BL_TMP_INTRNT (cr=586400 pr=22228 pw=0 time=15333652 us)
         15   HASH JOIN  (cr=18170453 pr=17931639 pw=0 time=3991064192 us)
         46    MAT_VIEW ACCESS FULL NAP_INTERNET (cr=5659886 pr=5655436 pw=0 time=988162557 us)
    329499624    MAT_VIEW ACCESS FULL PS_RF_INST_PROD (cr=12545734 pr=12311281 pw=0 time=2636471644 us)
    plan 2
    UPDATE BL_TMP_INTRNT A
       SET A.FIX_IP_USER =
              (SELECT /*+ index(b NAP_INTERNET_PK) index(c PS_RF_INST_PROD_PK)*/ C.PRODUCT_ID
                 FROM NAP_INTERNET B, PS_RF_INST_PROD C
                WHERE B.INST_PROD_ID = A.SERVICE_UID
                  AND B.SETID = 'SHARE'
                  AND C.INST_PROD_ID = B.NAP_SURF_UID)
     WHERE A.TERM_DESC LIKE '%ip%'
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse        1      0.02       0.02          0          0          0           0
    Execute      1   4645.25    4613.70      95783   39798095        735           0
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total        2   4645.27    4613.73      95783   39798095        735           0
    
    Misses in library cache during parse: 1
    Optimizer mode: FIRST_ROWS
    Parsing user id: 13
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          0  UPDATE  BL_TMP_INTRNT (cr=0 pr=0 pw=0 time=1 us)
        473   TABLE ACCESS FULL BL_TMP_INTRNT (cr=10461 pr=10399 pw=0 time=4629385 us)
        408   MAT_VIEW ACCESS BY INDEX ROWID PS_RF_INST_PROD (cr=39776109 pr=85381 pw=0 time=4605125045 us)
       1350    NESTED LOOPS  (cr=39784584 pr=84974 pw=0 time=4601874262 us)
        470     MAT_VIEW ACCESS BY INDEX ROWID NAP_INTERNET (cr=23569112 pr=50472 pw=0 time=2544364336 us)
        470      INDEX FULL SCAN NAP_INTERNET_PK (cr=23568642 pr=50005 pw=0 time=2540300981 us)(object id 11027362)
        408     INDEX FULL SCAN PS_RF_INST_PROD_PK (cr=16215472 pr=34502 pw=0 time=2057500175 us)(object id 10980137)
    
    
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      db file scattered read                       1300        0.50          4.27
      db file sequential read                     85707        0.51         29.88
      latch: cache buffers chains                     1        0.00          0.00
      log file sync                                   1        0.00          0.00
      SQL*Net break/reset to client                   1        0.00          0.00
      SQL*Net message to client                       1        0.00          0.00
      SQL*Net message from client                     1       14.73         14.73
    ********************************************************************************

    The problem in your update statement that is the query in your set clause is executed many times that there are lines in BL_TMP_INTRNT of 'intellectual property' in their column of term_desc. You mentioned there are about 5000, then the query joining NAP_INTERNET with PS_RF_ISNT_PROD is begun 5000 times.
    The trick is to join only once, be updated using join views - provided that it is preserved - key or by using the merge statement.

    Here is an example:

    SQL> create table bl_tmp_intrnt (fix_ip_user,service_uid,term_desc)
      2  as
      3   select level
      4        , level
      5        , 'aipa'
      6     from dual
      7  connect by level <= 5000
      8  /
    
    Tabel is aangemaakt.
    
    SQL> create table nap_internet (inst_prod_id,setid,nap_surf_uid)
      2  as
      3   select level
      4        , 'SHARE'
      5        , level
      6     from dual
      7  connect by level <= 10
      8  /
    
    Tabel is aangemaakt.
    
    SQL> create table ps_rf_inst_prod (product_id,inst_prod_id)
      2  as
      3   select level
      4        , level
      5     from dual
      6  connect by level <= 10
      7  /
    
    Tabel is aangemaakt.
    
    SQL> exec dbms_stats.gather_table_stats(user,'bl_tmp_intrnt')
    
    PL/SQL-procedure is geslaagd.
    
    SQL> exec dbms_stats.gather_table_stats(user,'nap_internet')
    
    PL/SQL-procedure is geslaagd.
    
    SQL> exec dbms_stats.gather_table_stats(user,'ps_rf_inst_prod')
    
    PL/SQL-procedure is geslaagd.
    
    SQL> set serveroutput off
    SQL> update ( select a.fix_ip_user
      2                , c.product_id
      3             from bl_tmp_intrnt a
      4                , nap_internet b
      5                , ps_rf_inst_prod c
      6            where a.term_desc like '%ip%'
      7              and a.service_uid = b.inst_prod_id
      8              and b.setid = 'SHARE'
      9              and b.nap_surf_uid = c.inst_prod_id
     10         )
     11     set fix_ip_user = product_id
     12  /
       set fix_ip_user = product_id
           *
    FOUT in regel 11:
    .ORA-01779: cannot modify a column which maps to a non key-preserved table
    

    Join is one key kept in the case of b.inst_prod_id and c.inst_prod_id are unique. Please refer to the documentation for more information here: http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/views.htm#sthref3055

    SQL> alter table nap_internet add primary key (inst_prod_id)
      2  /
    
    Tabel is gewijzigd.
    
    SQL> alter table ps_rf_inst_prod add primary key (inst_prod_id)
      2  /
    
    Tabel is gewijzigd.
    
    SQL> update /*+ gather_plan_statistics */
      2         ( select a.fix_ip_user
      3                , c.product_id
      4             from bl_tmp_intrnt a
      5                , nap_internet b
      6                , ps_rf_inst_prod c
      7            where a.term_desc like '%ip%'
      8              and a.service_uid = b.inst_prod_id
      9              and b.setid = 'SHARE'
     10              and b.nap_surf_uid = c.inst_prod_id
     11         )
     12     set fix_ip_user = product_id
     13  /
    
    10 rijen zijn bijgewerkt.
    
    SQL> select * from table(dbms_xplan.display_cursor(null,null,'allstats last'))
      2  /
    
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID  c7nqbxwzpyq5p, child number 0
    -------------------------------------
    update /*+ gather_plan_statistics */        ( select a.fix_ip_user               , c.product_id            from bl_tmp_intrnt
    a               , nap_internet b               , ps_rf_inst_prod c           where a.term_desc like '%ip%'             and
    a.service_uid = b.inst_prod_id             and b.setid = 'SHARE'             and b.nap_surf_uid = c.inst_prod_id        )
    set fix_ip_user = product_id
    
    Plan hash value: 1745632149
    
    ---------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                      | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |
    ---------------------------------------------------------------------------------------------------------------------------------------
    |   1 |  UPDATE                        | BL_TMP_INTRNT   |      1 |        |      0 |00:00:00.01 |      32 |       |       |          |
    |   2 |   NESTED LOOPS                 |                 |      1 |     10 |     10 |00:00:00.01 |      21 |       |       |          |
    |   3 |    MERGE JOIN                  |                 |      1 |     10 |     10 |00:00:00.01 |       9 |       |       |          |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| NAP_INTERNET    |      1 |     10 |     10 |00:00:00.01 |       2 |       |       |          |
    |   5 |      INDEX FULL SCAN           | SYS_C00132995   |      1 |     10 |     10 |00:00:00.01 |       1 |       |       |          |
    |*  6 |     SORT JOIN                  |                 |     10 |    250 |     10 |00:00:00.01 |       7 |   267K|   256K|  237K (0)|
    |*  7 |      TABLE ACCESS FULL         | BL_TMP_INTRNT   |      1 |    250 |   5000 |00:00:00.01 |       7 |       |       |          |
    |   8 |    TABLE ACCESS BY INDEX ROWID | PS_RF_INST_PROD |     10 |      1 |     10 |00:00:00.01 |      12 |       |       |          |
    |*  9 |     INDEX UNIQUE SCAN          | SYS_C00132996   |     10 |      1 |     10 |00:00:00.01 |       2 |       |       |          |
    ---------------------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       4 - filter("B"."SETID"='SHARE')
       6 - access("A"."SERVICE_UID"="B"."INST_PROD_ID")
           filter("A"."SERVICE_UID"="B"."INST_PROD_ID")
       7 - filter("A"."TERM_DESC" LIKE '%ip%')
       9 - access("B"."NAP_SURF_UID"="C"."INST_PROD_ID")
    
    32 rijen zijn geselecteerd.
    
    SQL> rollback
      2  /
    
    Rollback is voltooid.
    

    And it's your current statement. Please note the number of 5000 in the column begins:

    SQL> UPDATE /*+ gather_plan_statistics */ BL_TMP_INTRNT A
      2     SET A.FIX_IP_USER =
      3            (SELECT C.PRODUCT_ID
      4               FROM NAP_INTERNET B, PS_RF_INST_PROD C
      5              WHERE B.INST_PROD_ID = A.SERVICE_UID
      6                AND B.SETID = 'SHARE'
      7                AND C.INST_PROD_ID = B.NAP_SURF_UID)
      8   WHERE A.TERM_DESC LIKE '%ip%'
      9  /
    
    5000 rijen zijn bijgewerkt.
    
    SQL> select * from table(dbms_xplan.display_cursor(null,null,'allstats last'))
      2  /
    
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID  f1qtnpa0nmbh8, child number 0
    -------------------------------------
    UPDATE /*+ gather_plan_statistics */ BL_TMP_INTRNT A    SET A.FIX_IP_USER =           (SELECT
    C.PRODUCT_ID              FROM NAP_INTERNET B, PS_RF_INST_PROD C             WHERE B.INST_PROD_ID
    = A.SERVICE_UID               AND B.SETID = 'SHARE'               AND C.INST_PROD_ID =
    B.NAP_SURF_UID)  WHERE A.TERM_DESC LIKE '%ip%'
    
    Plan hash value: 3190675455
    
    -----------------------------------------------------------------------------------------------------------
    | Id  | Operation                     | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    -----------------------------------------------------------------------------------------------------------
    |   1 |  UPDATE                       | BL_TMP_INTRNT   |      1 |        |      0 |00:00:00.10 |    5076 |
    |*  2 |   TABLE ACCESS FULL           | BL_TMP_INTRNT   |      1 |    250 |   5000 |00:00:00.01 |       7 |
    |   3 |   NESTED LOOPS                |                 |   5000 |      1 |     10 |00:00:00.02 |      24 |
    |*  4 |    TABLE ACCESS BY INDEX ROWID| NAP_INTERNET    |   5000 |      1 |     10 |00:00:00.01 |      12 |
    |*  5 |     INDEX UNIQUE SCAN         | SYS_C00132995   |   5000 |      1 |     10 |00:00:00.01 |       2 |
    |   6 |    TABLE ACCESS BY INDEX ROWID| PS_RF_INST_PROD |     10 |     10 |     10 |00:00:00.01 |      12 |
    |*  7 |     INDEX UNIQUE SCAN         | SYS_C00132996   |     10 |      1 |     10 |00:00:00.01 |       2 |
    -----------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - filter("A"."TERM_DESC" LIKE '%ip%')
       4 - filter("B"."SETID"='SHARE')
       5 - access("B"."INST_PROD_ID"=:B1)
       7 - access("C"."INST_PROD_ID"="B"."NAP_SURF_UID")
    
    29 rijen zijn geselecteerd.
    

    Kind regards
    Rob.

  • Performance issue with the method extract in 11g

    I am new to Oracle XML DB. I'm having a problem with an example simple Java application designed to test the response time. I can't find an answer to this question.

    It takes about 1/2 second, whenever my Java client makes a call to the method "extract" of XMLType. Extract is called 3 times for each row returned in a result set. It takes 1 1/2 seconds to process 1 line. With a result set of 55 lines, it takes about 1 1/2 minutes to process the entire result set.

    It seems to me that an appeal must be get done to retrieve the data from the server to each snippet of time is called. This performance is unacceptable and will not evolve. This seems to be a lazy loading problem that could be treated with the configuration; but I still need to find something specific documented.

    Is there something that can be done to solve this problem or is it typical performance?

    I use a binary XML storage. I created a XMLIndex; but it made no difference. Does not seem like an indication that much of a difference, since the problem occurs when you access XML different values in the same line...

    The extract method is implemented in the classes of the JAVA API provided by the Oracle client installation.

    Just to clarify things, this forum is related to a feature in the Oracle database. The API you mentioned and you use are provided by another group within Oracle (I think). In addition, the used API .extract does its job fully without communicating with the DB. You can check this to hard code in an XML response and disconnect your computer from the network before you run the logic of analysis and it would continue to operate.

    The fact that this method is removed must have something to do with its inefficiency

    The disapproval that I mentioned is only in what regards the SQL in the Oracle DB. As noted above, the used API lives under a different set of rules, so I can't speak to that. There is probably a forum for the API, but I haven't been looking.

    Back on topic, a possible rewrite for your SQL statement is (untested)

    select aex.APPLICATION_NAME, aex.VERSION, aex.EVENT_TYPE, xt.sendingSite, xt.receivingSite, xt.eventID
      from AUDITED_EVENT_XML aex,
           XMLTable('/*/MSH'
                    PASSING aex.xml_event_content
                    COLUMNS
                    sendingSite   VARCHAR2(20)  PATH 'MSH.4/HD.2',
                    receivingSite VARCHAR2(20)  PATH 'MSH.6/HD.2',
                    eventID       VARCHAR2(20)  PATH 'MSH.10'
     where EVENT_TYPE = ?
    

    If you have problems with this, just after a small sample XML and someone can twist where I was wrong.

  • retrieve the records from the oracle sql query

    Hello

    I'm stuck with a requirement where I need to retrieve some recordset based on the conditions. I won't be able to produce the same data and table here, but I can explain the problem with the example statement:

    If col2 contains 'y' to any folder, then select only the records. Where, as if no line contains the value 'y' for col2 then retrieve all records.

    Database version: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64 bit Production

    with temp (col1,col2)
    as
    (select level,decode(mod(level,2),0,'y',1,'n')
    from dual
    connect by level < 10)
    select * from temp;
    
    

    Please help, if possible through sql.

    Thank you

    Vikram

    Something like below... Considered as non-null column col2...

    with the temp (col1, col2)

    as

    (select level, decode (mod(level,2), 0, 'y', 1,' no))

    of the double

    connect by level<>

    Select * from temp

    WHERE col2 = NVL ((SELECT col2 FROM temp OÙ col2 = 'y' ET rownum = 1), col2);

  • Install issue with the Oracle database Client in Hyperion 11.1.2.4

    We had problems try raising the EPMA server. I found digging that odp.net was necessary. It seems that we had missed client installation Oracle database on the machine. So I stopped the services and tried to install the client. It always ends with error:



    INFO: Loading file:/G:/Hyperion_Installation/Hyperion_11124_Installation/db64/Disk1/install/... beanstore/internship/shiphomeproperties. XML

    INFO: Translating the external format in raw format

    NEWS: Restoration of class file:/G:/Hyperion_Installation/Hyperion_11124_Installation/db64/Disk1/install/... oracle.install.driver.oui.ShiphomeMetadata/internship/shiphomeproperties. XML

    INFO: Loading Xml Bean store beans. [BeanStoreName:shiphome - metadata]

    NEWS: Development of the property: properties in the bean: shiphome-metadata

    INFO: the inventory location isC:\Program

    INFO: the inventory location isC:\Program

    INFO: Retrieve ASM Cluster File System information...

    INFO: the inventory location isC:\Program

    INFO: the inventory location isC:\Program

    INFO: estimated size for Administratorinstall is 1126.4000005722046

    INFO: Access path is: == > C:\Users\_HYPER~1\AppData\Local\Temp\OraInstall2015-07-16_08-27-52AM\jdk\jre\bin; C:\Windows\System32; C:\Windows; G:\Oracle\Middleware\dbclient32\bin; G:\Oracle\Middleware\dbclient64\bin; C:\Windows\System32; C:\Windows; C:\Windows\System32\Wbem; C:\Windows\system32\WindowsPowerShell\v1.0; G:\Oracle\Middleware\ohs\bin; G:\Oracle\Middleware\ohs\opmn\bin; G:\Oracle\Middleware\ohs\opmn\lib; G:\Oracle\Middleware\ohs\perl\bin; G:\Oracle\Middleware\EPMSystem11R1\common\SAP\bin;.

    GRAVE: Name host [FATAL] [INS-32053] the specified Oracle already exists.

    CAUSE: The Oracle home name specified on the command line is a name of House of Oracle in the Central inventory.

    ACTION: Choose a different name at Oracle. Abandon this installation session and try again.

    INFO: Tips are ABORT

    INFO: Adding ExitStatus INVALID_USER_INPUT to the exit status set

    INFO: Completed state validating < getOracleHome >

    NEWS: Put an end to all operations in the background

    INFO: Finished all operations in the background

    INFO: Find the status of output more suitable for the current application

    INFO: Exit status is - 2

    NEWS: Stop Oracle Client install

    Now it looks like the issue is located here:

    GRAVE: Name host [FATAL] [INS-32053] the specified Oracle already exists.

    CAUSE: The Oracle home name specified on the command line is a name of House of Oracle in the Central inventory.

    ACTION: Choose a different name at Oracle. Abandon this installation session and try again.

    INFO: Tips are ABORT

    That means ODP.net cannot be installed in an existing home to Oracle. If this is not the case, how can I install it separately to get the job of EPMA.

    OK got it works by manipulating inventory. It seems that there is an old facility that was causing the problem.

  • Performance issue with the submodels

    Hello
    I'm working on submodels and my requirement needs only one main calling location several specific submodels (a location may have several own submodels, e.g.: US_subtemp1, US_subtemp2, US_subtemp3... in the same way to other locations).
    I would like to know is there any performance issue associated with calls in the submodels and on how this decrease in performance can be minimized.

    Kind regards
    Arvind

    Use of the submodels with components imported alongside repeated sections in the main template layout is not recommended when the number of repetitions is high and the size of the document is large. BI Publisher optimize the xsl transformation internally, but it is not applied to xsl inside models of void.
    One of the extreme scenario is a main model set only a repeating section that matter a submodel of the header and the footer.
    A body of the repeating section is defined in the subtemplate. In this scenario, there is no xsl optimization made and you can easily see some differences in performance.

    As long as you don't need to repeat the layouts of submodels, you don't need to worry about this performance issue.

    Thank you
    Shinji

  • Potential performance issue with the mobile app

    Hello

    I'm working on a small mobile project to see how the view system and its performance.

    To see what is happening with the objects, I tried the Profiler today and I was surprised to see that the Navigator object does not use view previous instances.

    For example if I navigate between 2 displays the browser instead of using the 2 objects already created, it creates each time it's push() function is called.

    Maybe there is something that I do not understand that it makes the behavior desired, if so can someone explain it to me please? If this isn't the case, then I'm worried about leaks memory after an intensive use of the views in the app.

    I have to make it clear that I do not use any weird code that could disable the browser work properly, my app is less basic at this point and I'm also using weak references on each event listener to avoid problems of memory.

    I didn't not try your code, but you could run this question: http://bugs.adobe.com/jira/browse/SDK-28396 , which was set after the beta version.

    -Ryan

  • treatment of hierarchy in the oracle sql query

    I have two tables:

    The first contains COMPANY_ID and stuff
    The second contains stuff and PARENT_CATEGORY_ID

    I need to return a list containing COMPANY_ID and stuff. Entries, however, must come not only from the first table, but also include all the descendants of the second table.

    Thus, for example (and please read the example carefully) - Let's say in the first table, I have a line:

    COMPANY_ID | STUFF
    1000 | 1

    I have three rows in the second table:

    STUFF | PARENT_CATEGORY_ID
    1. null
    4: 1
    3. 2
    2: null

    I want to have the following accordingly:

    COMPANY_ID | STUFF
    1000 | 1
    1000 | 2
    1000 | 3


    How can I do this in oracle 10 in a single SQL statement?

    You can do this way:

    SQL> with t1 as(
      2  select 1000 COMPANY_ID, 1 CATEGORY_ID from dual),
      3  t2 as (select 1 CATEGORY_ID, to_number(null) PARENT_CATEGORY_ID from dual union
      4  select 2 , 1 from dual union
      5  select 3 , 2 from dual union
      6  select 4 , null from dual),
      7  -- end of test data
      8  t3 as (select category_id, connect_by_root category_id root_cat
      9  from t2
     10  start with t2.PARENT_CATEGORY_ID is null
     11  connect by prior t2.CATEGORY_ID = t2.PARENT_CATEGORY_ID)
     12  select t1.COMPANY_ID, t3.category_id
     13  from t1, t3
     14  where t1.category_id = t3.root_cat;
    
    COMPANY_ID CATEGORY_ID
    ---------- -----------
          1000           1
          1000           2
          1000           3
    

    Max
    [My Italian blog Oracle | http://oracleitalia.wordpress.com/2010/01/31/le-direttive-di-compilazione-pragma/]

  • Performance issue with the point of SHUTTLE with 2000 records

    Hello

    I have a FORM with a SHUTTLE item based on a LOV which is to have about 2000 records.
    When I submit this page (CREATE/APPLY the CHANGES), ask it something about 3-4 seconds to submit.

    When I delete the SHUTTLE of the form point, the sending process is very fast... say 1 sec...
    so it takes more time when we have a SHUTTLE point with 2000 records.

    So, how do I fix this perfomance?... any suggestions?


    Thank you
    Deepak

    Deepak,

    When you have more number of records to select the list, Select Multi, elements of the shuttle, then it will take more time to render the page. In most cases, you cannot remove it.

    Check the performance of the underlying query LOV. If it is a complex query, no doubt, you can see his plan to explain and you can enter.

    Alternatively, you can move this deadline to the popup page. I want to say, create a custom page to pop up and provide multi select such items from the shuttle on this page. Allow the user to select the point of shuttle options in the popup page and return values selected to main page shape :)

    See you soon,.
    Hari

  • Problem with the Oracle text markup

    Hello

    I have a problem with the Oracle text markup.

    I am looking for keywords in a text which is composed by a question and answer.
    Here is the structure of my text:
    & lt; div class = 'question' & gt;
    & lt; a & gt; the title of my question & lt; /a & gt;
    & lt; div class = "reply & gt;
    content of response
    & lt; / div & gt;
    & lt; / div & gt;

    It is possible to search those keywords in the question or answer only. For this, I use the stored procedure:

    {call CTX_DOC. MARKUP)
    index_name = >?
    textkey = >?
    text_Query = >?
    restab = >?
    query_id = >?
    startTag = >?
    (EndTag = >?)}

    _with these parameters: _

    index_name = < my index >
    textkey = < id for the search text >
    text_Query = < a query containing the keywords >
    restab = < a table SQL to store the marked text >
    query_id = < id >
    startTag = ' < span class =-"highlight\" >. "
    EndTag = "</span >.

    The markup should be done only in the place you want (question, answer, or both).
    The markup is good when I search a keyword throughout the text, in the question or answer only.
    * If I search two key words in the question or answer, the markup is bad *.

    _Example: __
    I am looking for the words "* Internet *" in question only.
    Here's the query passed to the stored procedure:
    + * text_query * = 'service & internet' INPATH (//div[@class = 'question'] / has) +.

    In the question, these words are well marked.
    In response, only the first word is marked.

    * Why the first keyword is also marked in the response while the query specifies a search in question only? *

    The same problem appears when I search for the same keywords in the response only.
    In this case, in the answer, these words are marked as well.
    In the issue, only the first word is marked.

    Thanks for your help

    Edited by: user11088931 Apr 21. 2009 06:17

    Try text_query = (service & internet) INPATH (//div/a)

    Single quotes in a query do nothing. I think that your request has been treated as

    Service & (internet INPATH (//div/a))

  • SSRS for lack of outer join with the Oracle data source

    It seems to be a problem with the Oracle driver used in the Reporting SERVICES query designer.

    When you use an Oracle data source, if I create an outer join in the graphic designer, it automatically inserts '{OJ' before the join and '} ' after her.  This is an incorrect syntax for Oracle and refuses to start.  The curly braces and the JO editable in designer text, but if I go back to the graphic designer and immediately to reintegrate them.

    Only, this has started to happen a year or two ago - before that it worked, but with the old (+) syntax.

    Can it not be healed?  It makes things very difficult.

    -Geoff

    Hi Geoff,

    Thanks for posting in the Microsoft Community.

    However, the question you posted would be better suited in the Forums of the Oracle Support; We recommend that you post your query in Oracle Support Forums to get help:

    https://forums.Oracle.com/forums/main.jspa;JSESSIONID=8d92100c30d8fb401bcbd10b46c38c9ddf1a3242549a.e34SbxmSbNyKai0Lc3mPbhmSc3aNe0? CategoryID = 84

    If you have any other questions or you need Windows guru, do not hesitate to post your questions and we will be happy to help you.

  • The Oracle HTTP Server come FREE with the Oracle database

    Hello

    Please let me know if Oracle HTTP Server are FREE with the Oracle database.

    Also any idea how much it would cost roughly to buy independent?

    Thank you
    Please let me know if Oracle HTTP Server are FREE with the Oracle database.

    If this is a related issue of license then better check with the sales representative in your area. Oracle sales team can only confirm the details.

    As far as I know if a product is delivered in another product then product main price includes the price of the licenses for all.

    Example: OEM license purchase, will include the license for Weblogic.

  • problem of installing active sync 6.1 64-bit with active sync. you have a known issue with the compatibility. you have a work around where the way to get these two together?

    problem of installing active sync 6.1 64-bit with active sync.  you have a known issue with the compatibility. you have a work around where the way to get these two together?

    See: http://answers.microsoft.com/en-us/winphone/forum/wp6n-sync/microsoft-windows-mobile-device-center-61-driver/4cd26ba2-9583-47b7-b5e7-32b382cee0b2

  • expdp with the Oracle Wallet closed?

    Can you expdp with the Oracle Wallet closed without receiving an error ORA... I guess not, because I can NOT FIGURE IT OUT...

    Hey Joe,

    Not possible AFAIK. The encryption associated with command line switches all wear them on encrypting the dump files and nothing else. The only way for datapump to read the data of transparent data encryption is if the portfolio of database level is open. This is possible at the level of the database with an alter database command.

    I think you're out of luck, you'd have to somehow coordinate when you extract with when the team opens the wallet.

    See you soon,.

    Rich

Maybe you are looking for

  • mailboxes

    When I click the icon between the indicator and the trash on my iPad pro to view my list of mailboxes there is a message, email, that says "tap on the mailbox to move this message."  It's particularly bad, because I want to just open one of my boxes

  • import photos

    Hey,. I don't know why I feel always stupid when you work with Mac, it is supposed to be so simple! So I tried to import my photos from my iphone to my macbook. AirDrop does not work, I tried everything and apparently this is a problem common on macb

  • Failed to start Microsoft Office

    Hello, I am the owner of a new s5750z model HP with Windows 7 preinstalled. I use a dial-up modem. The first time I started the Microsoft Office Starter, it worked fine. Recently, I did a system recovery for a problem not related and tried to install

  • Removed libraries folder and my pictures

    I had on my computer to my son and deleted the "Libraries" folder with my images. How can I get made restore. Because the libraries folder is missing in windows sidebar, I can't right click to restore my images. Help me please.

  • Bing dynamic theme has stopped working.

    I had recently installed the Bing Dynamic Theme for Windows 7. The theme worked properly and I loved. However the next day of the day where I had it installed I noticed it sitting on an image instead of change. I went to control panel to check the pe