SQL Monitor

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 11

<SQL_EXPLAIN_PLAN>

<DATA_DS>
<![CDATA[
Datamodel SQL Explain Plan Report
================================================================
Driver Details:JDBC Driver:Oracle JDBC
driver:weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection:19.17.
0.0.0
DBName:Oracle
DBVersion:Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.20.0.0.0
SQLQuery:EXPLAIN PLAN SET STATEMENT_ID = 'dm_plan_Timecard_240206_095815' FOR
WITH

FUNCTION GET_SHIFT_SCHD(
P_ASSGIN_ID IN NUMBER, P_PERIOD_START IN DATE,
P_PERIOD_END IN DATE
) RETURN VARCHAR2 AS RTN_VALUE VARCHAR2(1000);
BEGIN
SELECT
DISTINCT OBJECT_NAME INTO RTN_VALUE
FROM
TABLE(
PER_AVAILABILITY_DETAILS.GET_SCHEDULE_DETAILS(
P_RESOURCE_TYPE => 'ASSIGN',
P_RESOURCE_ID => P_ASSGIN_ID,
P_PERIOD_START => P_PERIOD_START,
P_PERIOD_END => P_PERIOD_END,
P_INCLUDE_CALEVENTS => 'Y'
)
) SCHED_DET
WHERE
1 = 1
AND SCHED_DET.AVAILABILITY_CODE = 'AVL'
AND ROWNUM = 1;
RETURN RTN_VALUE;
EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL;
END;

SELECT
NVL((
case when TM_REC.RegularHours is not null then TRUNC(TM_REC.RegularHours) ||
':' || to_char(
extract (
minute
from
numtodsinterval(TM_REC.RegularHours, 'HOUR')
),
'00'
) else '' end
),0) RegularHours,
ALL_DATES.ABS_DATE,
NVL(TM_REC.ShortageLateIn, 0) + NVL(TM_REC.ShortageEarlyOut, 0)
shortage_duration,
NVL(TM_REC.OvertimeEarlyIn, 0) + NVL(TM_REC.OvertimeLateOut,0) Overtime,
1 STATUS_FLAG,
0 ABSENCE,
0 HOLIDAY_DAYS,

1 WEEKEND,
ASG.ASSIGNMENT_ID,
TM_REC.TIME_IN,
TM_REC.TIME_OUT,
GET_SHIFT_SCHD(
ASG.ASSIGNMENT_ID,
TO_DATE(ALL_DATES.ABS_DATE),
TO_DATE(ALL_DATES.ABS_DATE)+ 1
) WORK_SCHD

FROM
(
SELECT
resource_id,
TO_CHAR(actual_date, 'DD-MON-RRRR') actual_date,
RegularHours,
Overtime,
OvertimeEarlyIn,
OvertimeLateOut,
ShortageLateIn,
ShortageEarlyOut,
TIME_IN,
TIME_OUT,
'1' flag
FROM
(
SELECT
rec.resource_id,
rec.measure minutes,
TO_CHAR(rec.START_TIME, 'HH:MI') TIME_IN,
TO_CHAR(rec.STOP_TIME, 'HH:MI') TIME_OUT,
TRUNC(rec.actual_date) actual_date,
atrbs.attribute_category
from hwm_tm_rec rec, hwm_tm_rec_grp trg, hwm_tm_rec_grp trd,
hwm_tm_rec_grp_usages usg, Hwm_Tm_Rep_Atrb_Usages atrbusg, hwm_tm_rep_atrbs
atrbs, hwm_tm_atrb_flds_vl flds, hwm_tm_approved_ts_v status
where rec.latest_version = 'Y'
and usg.tm_rec_id = rec.orig_tm_rec_id
and usg.tm_rec_version = rec.orig_tm_rec_version
and trd.tm_rec_grp_id = usg.tm_rec_grp_id
and trd.tm_rec_grp_version = usg.tm_rec_grp_version
and trg.tm_rec_grp_id = trd.parent_tm_rec_grp_id
and trg.tm_rec_grp_version = trd.parent_tm_rec_grp_version
and status.tm_bldg_blk_id = trg.tm_rec_grp_id
and status.tm_bldg_blk_version = trg.tm_rec_grp_version
and atrbusg.usages_source_id = rec.tm_rec_id
and atrbusg.usages_source_version = rec.tm_rec_version
and atrbusg.tm_rep_atrb_id = atrbs.tm_rep_atrb_id
and flds.tm_atrb_fld_id = atrbs.master_attribute_id
and rec.delete_flag is null
and rec.orig_tm_rec_id is not null
and trd.delete_flag is null
and trg.delete_flag is null
and flds.name = 'PayrollTimeType'
and atrbs.attribute_category IN ('Regular Hours', 'Overtime', 'Overtime Early
In',
'Overtime Late Out', 'Shortage Late In',
'Shortage Early Out')
and trunc(rec.start_time) between :P_FROM_DATE and :P_TO_DATE
and status.approved_timestamp between trg.date_from
and trg.date_to
and status.approved_timestamp between trd.date_from
and trd.date_to
and status.approved_timestamp between rec.date_from
and rec.date_to
GROUP BY
rec.actual_date,
atrbs.attribute_category,
rec.measure,
TO_CHAR(rec.START_TIME, 'HH:MI'),
TO_CHAR(rec.STOP_TIME, 'HH:MI'),
rec.resource_id
) PIVOT(
SUM(minutes) FOR attribute_category IN(
'Regular Hours' RegularHours, 'Overtime' Overtime,
'Overtime Early In' OvertimeEarlyIn,'Overtime Late Out'
OvertimeLateOut,
'Shortage Late In' ShortageLateIn, 'Shortage Early Out' ShortageEarlyOut
)
)
) TM_REC,
(
select
SUBSTR(
(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1
),
1,
10
) ABS_DATE,
TO_CHAR(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1,
'DAY',
'NLS_DATE_LANGUAGE= ENGLISH '
) MY_day
from
all_objects
where
rownum <= TO_DATE(
TO_CHAR(:P_TO_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)- to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)+ 1
) ALL_DATES,
PER_ALL_ASSIGNMENTS_M ASG
WHERE
ALL_DATES.ABS_DATE = TM_REC.actual_date(+)
AND ASG.ASSIGNMENT_TYPE IN ('E','C')
AND ASG.PRIMARY_FLAG = 'Y'
AND ASG.EFFECTIVE_LATEST_CHANGE = 'Y'
AND ASG.PERSON_ID = TM_REC.RESOURCE_ID(+)
AND ALL_DATES.ABS_DATE BETWEEN ASG.EFFECTIVE_START_DATE
AND ASG.EFFECTIVE_END_DATE and :ASSIGNMENT_ID=ASG.ASSIGNMENT_ID
SQL Query Timeout: 500
oracle.xdo.XDOException: java.sql.SQLException: ORA-01039: insufficient privileges
on underlying objects of the view

at oracle.xdo.dataengine.diagnostic.Xplan.execute(Xplan.java:292)
at
oracle.xdo.dataengine.diagnostic.Xplan.processSQLDataSource(Xplan.java:245)
at oracle.xdo.dataengine.diagnostic.Xplan.generate(Xplan.java:117)
at oracle.xdo.dataengine.XMLPGEN.processMergedDataSet(XMLPGEN.java:2061)
at oracle.xdo.dataengine.XMLPGEN.processMergedDataSet(XMLPGEN.java:3932)
at oracle.xdo.dataengine.DataProcessor.processData(DataProcessor.java:386)
at
oracle.xdo.servlet.dataengine.DataProcessorImpl.processData(DataProcessorImpl.java:
311)
at
oracle.xdo.servlet.dataengine.DataProcessorImpl.render(DataProcessorImpl.java:688)
at
oracle.xdo.servlet.ReportModelContextImpl.getReportXMLData(ReportModelContextImpl.j
ava:448)
at oracle.xdo.servlet.CoreProcessor.getReportXMLData(CoreProcessor.java:2266)
at oracle.xdo.servlet.CoreProcessor.process(CoreProcessor.java:627)
at oracle.xdo.servlet.CoreProcessor.processRequest(CoreProcessor.java:292)
at oracle.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:164)
at oracle.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:1719)
at oracle.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:806)
at oracle.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:252)
at
oracle.xdo.servlet.resources.ReportItemServiceImpl$ReportItemRunner.call(ReportItem
ServiceImpl.java:117)
at
oracle.xdo.servlet.resources.ReportItemServiceImpl$ReportItemRunner.call(ReportItem
ServiceImpl.java:82)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:767)
Caused by: java.sql.SQLException: ORA-01039: insufficient privileges on underlying
objects of the view

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:510)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:462)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1105)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:554)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:270)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:656)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:271)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:92)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:97
1)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1280)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.
java:3719)
at
oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1
427)
at
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:383
1)
at
oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWr
apper.java:1082)
at
weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:119)
at oracle.xdo.dataengine.diagnostic.Xplan.execute(Xplan.java:272)
... 21 more
Caused by: Error : 1039, Position : 4435, Sql = EXPLAIN PLAN SET STATEMENT_ID =
'dm_plan_Timecard_240206_095815' FOR
WITH

FUNCTION GET_SHIFT_SCHD(
P_ASSGIN_ID IN NUMBER, P_PERIOD_START IN DATE,
P_PERIOD_END IN DATE
) RETURN VARCHAR2 AS RTN_VALUE VARCHAR2(1000);
BEGIN
SELECT
DISTINCT OBJECT_NAME INTO RTN_VALUE
FROM
TABLE(
PER_AVAILABILITY_DETAILS.GET_SCHEDULE_DETAILS(
P_RESOURCE_TYPE => 'ASSIGN',
P_RESOURCE_ID => P_ASSGIN_ID,
P_PERIOD_START => P_PERIOD_START,
P_PERIOD_END => P_PERIOD_END,
P_INCLUDE_CALEVENTS => 'Y'
)
) SCHED_DET
WHERE
1 = 1
AND SCHED_DET.AVAILABILITY_CODE = 'AVL'
AND ROWNUM = 1;
RETURN RTN_VALUE;
EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL;
END;

SELECT
NVL((
case when TM_REC.RegularHours is not null then TRUNC(TM_REC.RegularHours) ||
':' || to_char(
extract (
minute
from
numtodsinterval(TM_REC.RegularHours, 'HOUR')
),
'00'
) else '' end
),0) RegularHours,
ALL_DATES.ABS_DATE,
NVL(TM_REC.ShortageLateIn, 0) + NVL(TM_REC.ShortageEarlyOut, 0)
shortage_duration,
NVL(TM_REC.OvertimeEarlyIn, 0) + NVL(TM_REC.OvertimeLateOut,0) Overtime,
1 STATUS_FLAG,
0 ABSENCE,
0 HOLIDAY_DAYS,

1 WEEKEND,
ASG.ASSIGNMENT_ID,
TM_REC.TIME_IN,
TM_REC.TIME_OUT,
GET_SHIFT_SCHD(
ASG.ASSIGNMENT_ID,
TO_DATE(ALL_DATES.ABS_DATE),
TO_DATE(ALL_DATES.ABS_DATE)+ 1
) WORK_SCHD

FROM
(
SELECT
resource_id,
TO_CHAR(actual_date, 'DD-MON-RRRR') actual_date,
RegularHours,
Overtime,
OvertimeEarlyIn,
OvertimeLateOut,
ShortageLateIn,
ShortageEarlyOut,
TIME_IN,
TIME_OUT,
'1' flag
FROM
(
SELECT
rec.resource_id,
rec.measure minutes,
TO_CHAR(rec.START_TIME, 'HH:MI') TIME_IN,
TO_CHAR(rec.STOP_TIME, 'HH:MI') TIME_OUT,
TRUNC(rec.actual_date) actual_date,
atrbs.attribute_category
from hwm_tm_rec rec, hwm_tm_rec_grp trg, hwm_tm_rec_grp trd,
hwm_tm_rec_grp_usages usg, Hwm_Tm_Rep_Atrb_Usages atrbusg, hwm_tm_rep_atrbs
atrbs, hwm_tm_atrb_flds_vl flds, hwm_tm_approved_ts_v status
where rec.latest_version = 'Y'
and usg.tm_rec_id = rec.orig_tm_rec_id
and usg.tm_rec_version = rec.orig_tm_rec_version
and trd.tm_rec_grp_id = usg.tm_rec_grp_id
and trd.tm_rec_grp_version = usg.tm_rec_grp_version
and trg.tm_rec_grp_id = trd.parent_tm_rec_grp_id
and trg.tm_rec_grp_version = trd.parent_tm_rec_grp_version
and status.tm_bldg_blk_id = trg.tm_rec_grp_id
and status.tm_bldg_blk_version = trg.tm_rec_grp_version
and atrbusg.usages_source_id = rec.tm_rec_id
and atrbusg.usages_source_version = rec.tm_rec_version
and atrbusg.tm_rep_atrb_id = atrbs.tm_rep_atrb_id
and flds.tm_atrb_fld_id = atrbs.master_attribute_id
and rec.delete_flag is null
and rec.orig_tm_rec_id is not null
and trd.delete_flag is null
and trg.delete_flag is null
and flds.name = 'PayrollTimeType'
and atrbs.attribute_category IN ('Regular Hours', 'Overtime', 'Overtime Early
In',
'Overtime Late Out', 'Shortage Late In',
'Shortage Early Out')
and trunc(rec.start_time) between :P_FROM_DATE and :P_TO_DATE
and status.approved_timestamp between trg.date_from
and trg.date_to
and status.approved_timestamp between trd.date_from
and trd.date_to
and status.approved_timestamp between rec.date_from
and rec.date_to
GROUP BY
rec.actual_date,
atrbs.attribute_category,
rec.measure,
TO_CHAR(rec.START_TIME, 'HH:MI'),
TO_CHAR(rec.STOP_TIME, 'HH:MI'),
rec.resource_id
) PIVOT(
SUM(minutes) FOR attribute_category IN(
'Regular Hours' RegularHours, 'Overtime' Overtime,
'Overtime Early In' OvertimeEarlyIn,'Overtime Late Out'
OvertimeLateOut,
'Shortage Late In' ShortageLateIn, 'Shortage Early Out' ShortageEarlyOut
)
)
) TM_REC,
(
select
SUBSTR(
(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1
),
1,
10
) ABS_DATE,
TO_CHAR(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1,
'DAY',
'NLS_DATE_LANGUAGE= ENGLISH '
) MY_day
from
all_objects
where
rownum <= TO_DATE(
TO_CHAR(:P_TO_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)- to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)+ 1
) ALL_DATES,
PER_ALL_ASSIGNMENTS_M ASG

WHERE
ALL_DATES.ABS_DATE = TM_REC.actual_date(+)
AND ASG.ASSIGNMENT_TYPE IN ('E','C')
AND ASG.PRIMARY_FLAG = 'Y'
AND ASG.EFFECTIVE_LATEST_CHANGE = 'Y'
AND ASG.PERSON_ID = TM_REC.RESOURCE_ID(+)
AND ALL_DATES.ABS_DATE BETWEEN ASG.EFFECTIVE_START_DATE
AND ASG.EFFECTIVE_END_DATE and :ASSIGNMENT_ID=ASG.ASSIGNMENT_ID, OriginalSql =
EXPLAIN PLAN SET STATEMENT_ID = 'dm_plan_Timecard_240206_095815' FOR
WITH

FUNCTION GET_SHIFT_SCHD(
P_ASSGIN_ID IN NUMBER, P_PERIOD_START IN DATE,
P_PERIOD_END IN DATE
) RETURN VARCHAR2 AS RTN_VALUE VARCHAR2(1000);
BEGIN
SELECT
DISTINCT OBJECT_NAME INTO RTN_VALUE
FROM
TABLE(
PER_AVAILABILITY_DETAILS.GET_SCHEDULE_DETAILS(
P_RESOURCE_TYPE => 'ASSIGN',
P_RESOURCE_ID => P_ASSGIN_ID,
P_PERIOD_START => P_PERIOD_START,
P_PERIOD_END => P_PERIOD_END,
P_INCLUDE_CALEVENTS => 'Y'
)
) SCHED_DET
WHERE
1 = 1
AND SCHED_DET.AVAILABILITY_CODE = 'AVL'
AND ROWNUM = 1;
RETURN RTN_VALUE;
EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL;
END;

SELECT
NVL((
case when TM_REC.RegularHours is not null then TRUNC(TM_REC.RegularHours) ||
':' || to_char(
extract (
minute
from
numtodsinterval(TM_REC.RegularHours, 'HOUR')
),
'00'
) else '' end
),0) RegularHours,
ALL_DATES.ABS_DATE,
NVL(TM_REC.ShortageLateIn, 0) + NVL(TM_REC.ShortageEarlyOut, 0)
shortage_duration,
NVL(TM_REC.OvertimeEarlyIn, 0) + NVL(TM_REC.OvertimeLateOut,0) Overtime,
1 STATUS_FLAG,
0 ABSENCE,
0 HOLIDAY_DAYS,

1 WEEKEND,
ASG.ASSIGNMENT_ID,
TM_REC.TIME_IN,
TM_REC.TIME_OUT,
GET_SHIFT_SCHD(
ASG.ASSIGNMENT_ID,
TO_DATE(ALL_DATES.ABS_DATE),
TO_DATE(ALL_DATES.ABS_DATE)+ 1
) WORK_SCHD

FROM
(
SELECT
resource_id,
TO_CHAR(actual_date, 'DD-MON-RRRR') actual_date,
RegularHours,
Overtime,
OvertimeEarlyIn,
OvertimeLateOut,
ShortageLateIn,
ShortageEarlyOut,
TIME_IN,
TIME_OUT,
'1' flag
FROM
(
SELECT
rec.resource_id,
rec.measure minutes,
TO_CHAR(rec.START_TIME, 'HH:MI') TIME_IN,
TO_CHAR(rec.STOP_TIME, 'HH:MI') TIME_OUT,
TRUNC(rec.actual_date) actual_date,
atrbs.attribute_category
from hwm_tm_rec rec, hwm_tm_rec_grp trg, hwm_tm_rec_grp trd,
hwm_tm_rec_grp_usages usg, Hwm_Tm_Rep_Atrb_Usages atrbusg, hwm_tm_rep_atrbs
atrbs, hwm_tm_atrb_flds_vl flds, hwm_tm_approved_ts_v status
where rec.latest_version = 'Y'
and usg.tm_rec_id = rec.orig_tm_rec_id
and usg.tm_rec_version = rec.orig_tm_rec_version
and trd.tm_rec_grp_id = usg.tm_rec_grp_id
and trd.tm_rec_grp_version = usg.tm_rec_grp_version
and trg.tm_rec_grp_id = trd.parent_tm_rec_grp_id
and trg.tm_rec_grp_version = trd.parent_tm_rec_grp_version
and status.tm_bldg_blk_id = trg.tm_rec_grp_id
and status.tm_bldg_blk_version = trg.tm_rec_grp_version
and atrbusg.usages_source_id = rec.tm_rec_id
and atrbusg.usages_source_version = rec.tm_rec_version
and atrbusg.tm_rep_atrb_id = atrbs.tm_rep_atrb_id
and flds.tm_atrb_fld_id = atrbs.master_attribute_id
and rec.delete_flag is null
and rec.orig_tm_rec_id is not null
and trd.delete_flag is null
and trg.delete_flag is null
and flds.name = 'PayrollTimeType'
and atrbs.attribute_category IN ('Regular Hours', 'Overtime', 'Overtime Early
In',
'Overtime Late Out', 'Shortage Late In',
'Shortage Early Out')
and trunc(rec.start_time) between :P_FROM_DATE and :P_TO_DATE
and status.approved_timestamp between trg.date_from
and trg.date_to
and status.approved_timestamp between trd.date_from
and trd.date_to
and status.approved_timestamp between rec.date_from
and rec.date_to
GROUP BY
rec.actual_date,
atrbs.attribute_category,
rec.measure,
TO_CHAR(rec.START_TIME, 'HH:MI'),
TO_CHAR(rec.STOP_TIME, 'HH:MI'),
rec.resource_id
) PIVOT(
SUM(minutes) FOR attribute_category IN(
'Regular Hours' RegularHours, 'Overtime' Overtime,
'Overtime Early In' OvertimeEarlyIn,'Overtime Late Out'
OvertimeLateOut,
'Shortage Late In' ShortageLateIn, 'Shortage Early Out' ShortageEarlyOut
)
)
) TM_REC,
(
select
SUBSTR(
(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1
),
1,
10
) ABS_DATE,
TO_CHAR(
to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
) + rownum - 1,
'DAY',
'NLS_DATE_LANGUAGE= ENGLISH '
) MY_day
from
all_objects
where
rownum <= TO_DATE(
TO_CHAR(:P_TO_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)- to_date(
TO_CHAR(:P_FROM_DATE, 'dd-mon-yyyy'),
'dd-mon-yyyy'
)+ 1
) ALL_DATES,
PER_ALL_ASSIGNMENTS_M ASG

WHERE
ALL_DATES.ABS_DATE = TM_REC.actual_date(+)
AND ASG.ASSIGNMENT_TYPE IN ('E','C')
AND ASG.PRIMARY_FLAG = 'Y'
AND ASG.EFFECTIVE_LATEST_CHANGE = 'Y'
AND ASG.PERSON_ID = TM_REC.RESOURCE_ID(+)
AND ALL_DATES.ABS_DATE BETWEEN ASG.EFFECTIVE_START_DATE
AND ASG.EFFECTIVE_END_DATE and :ASSIGNMENT_ID=ASG.ASSIGNMENT_ID, Error Msg = ORA-
01039: insufficient privileges on underlying objects of the view

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:514)
... 36 more

]]>
</DATA_DS>
</SQL_EXPLAIN_PLAN>

]]>
</DATA_PROCESSOR_LOG>
</DIAGNOSTIC_OUT>

You might also like