-- PUB Contract monitoring:
SELECT A.QUEUENAME,DECODE(A.PUBCONSTATUS,0,'ERROR',6,'TIME',A.PUBCONSTATUS) STATUS, COUNT(*) FROM PSAPMSGPUBCON A
WHERE A.LASTUPDDTTM >= sysdate - 99 AND (A.PUBCONSTATUS IN (0,6)
OR (A.PUBCONSTATUS = 0 AND A.LASTUPDDTTM < SYSDATE - 1/48))
GROUP BY A.QUEUENAME, DECODE(A.PUBCONSTATUS,0,'ERROR',6,'TIME',A.PUBCONSTATUS);
--Oper Instance monitoring:
SELECT A.QUEUENAME,DECODE(A.PUBSTATUS,0,'ERROR',6,'TIME',A.PUBSTATUS) STATUS, COUNT(*) FROM PSAPMSGPUBHDR A
WHERE A.LASTUPDDTTM >= sysdate - 99
AND (A.PUBSTATUS IN (0, 6) OR (A.PUBSTATUS = 0 AND A.LASTUPDDTTM < SYSDATE - 1/48))
GROUP BY A.QUEUENAME, DECODE(A.PUBSTATUS,0,'ERROR',6,'TIME',A.PUBSTATUS);
--Sub Contract monitoring
SELECT A.QUEUENAME,DECODE(A.SUBCONSTATUS,0,'ERROR',6,'TIME',A.SUBCONSTATUS) STATUS, COUNT(*)
FROM PSAPMSGSUBCON A
WHERE A.LASTUPDDTTM >= sysdate - 99
AND (A.SUBCONSTATUS IN (0, 6)
OR (A.SUBCONSTATUS = 0 AND A.LASTUPDDTTM < SYSDATE - 1/48))
GROUP BY A.QUEUENAME, DECODE(A.SUBCONSTATUS,0,'ERROR',6,'TIME',A.SUBCONSTATUS);
Note :
Script updated to check only last 99 days "error and timeout" messages.
Useful Oracle Timeout format :
|
Time Interval |
Format |
|
Now |
sysdate |
|
Tomorrow/Next Day |
sysdate + 1 |
|
Seven Days from Now |
sysdate + 7 |
|
One Hour from Now |
sysdate + 1/24 |
|
Three Hours from Now |
sysdate + 3/24 |
|
Half an Hour from Now |
sysdate + 1/48 |
|
Ten Minutes from Now |
sysdate + 10/1440 |
|
Thirty Seconds from Now |
sysdate + 30/86400 |
|
Tomorrow at 12 Midnight |
trunc(sysdate + 1) |
|
Tomorrow at 8am |
trunc(sysdate + 1) + 8/24 |
|
Next Monday at 12 Noon |
next_day(trunc(sysdate), 'MONDAY') + 12/24 |
|
First Day of the Month at 12 Midnight |
trunc(last_day(sysdate) + 1) |
|
The Nex Monday, Wednesday or Friday at 9am |
trunc(least(next_day(sysdate,''MONDAY''),next_day(sysdate,''WEDNESDAY''),next_day(sysdate,''FRIDAY''))) + (9/24) |
No comments:
Post a Comment