...
Мониторинг даты последней загрузки CDR
Данный Следующий запрос показывает в какое время была произведена последняя загрузка CDR в АСР , (его удобно использовать для анализа человеком):
Code Block | ||
---|---|---|
| ||
SELECT DECODE(MAX(D_LOG_CREATE), NULL, 'Never',
TO_CHAR(MAX(D_LOG_CREATE), 'DD.MM.YYYY HH24:MI:SS')) VC_LAST_LOAD_DATE
FROM EX_V_CDR; |
В результате выполнения запроса может быть либо точная дата в следующем виде:
Code Block |
---|
LAST_DATE_LOAD
-------------------
29.01.2013 11:05:54 |
либо строка «Never», если в БД нет CDR:
Code Block |
---|
LAST_DATE_LOAD
-------------------
Never |
В следующем запросе в качестве результата выводится либо время, когда была произведена последняя загрузка CDR (в секундах от даты загрузки до текущего момента времени), либо «-1», если в БД нет CDR. Данный запрос удобно применять для обработки в системах мониторинга:
Code Block | ||
---|---|---|
| ||
WITH last_cdr AS (
SELECT N_CDR_ID
FROM (
SELECT N_CDR_ID
FROM EX_V_CDR
ORDER BY N_CDR_ID DESC)
WHERE ROWNUM = 1)
SELECT DECODE(MAX(D_LOG_CREATE), NULL, -1, TO_CHAR((SYSDATE-MAX(D_LOG_CREATE))*(86400), 'FM99999999999999990')) SEC
FROM EX_V_CDR CDR,
last_cdr
WHERE CDR.N_CDR_ID = last_cdr.N_CDR_ID; |
Триггер для мониторинга следует настраивать в зависимости от интервала загрузки.
Мониторинг даты последнего обновления интернет-сессий
Данный запрос показывает в какое время была произведена последнее обновление интернет-сессий абонентов в АСР, его удобно использовать для анализа человеком:
Code Block | ||
---|---|---|
| ||
SELECT DECODE(MAX(D_END), NULL, 'Never',
TO_CHAR(MAX(D_END), 'DD.MM.YYYY HH24:MI:SS')) Last_Date_Load
FROM EX_V_CDR
WHERE N_CDR_ID = (SELECT MAX(N_CDR_ID)
FROM EX_V_CDR); |
Результатом будет либо либо:
Code Block |
---|
LAST_DATE_LOAD ------------------- 29.01.2013 11:05:54 |
либо либо:
Code Block |
---|
LAST_DATE_LOAD ------------------- Never |
...