Монитор, который пишет в таблицу - PullRequest
1 голос
/ 06 ноября 2019

Я сижу в базе данных оракула с множеством хранимых процедур. Я их не писал и не могу их редактировать.

Я вижу, что данные записываются в таблицу, но я не могу понять, какой процесс это делает, и я уверен, что это автоматический процесс, и никто из пользователей не делает это активно.

Я также знаю процедуру, которая используется для записи данных.

Можно ли каким-то образом отслеживать, какой процесс вызывает процедуру? Я предполагаю, что это событие, но я не уверен.

BR Kresten

1 Ответ

0 голосов
/ 08 ноября 2019

Вы могли бы начать с проверки DBMS_SCHEDULER, чтобы увидеть, если их там выгнали.

Select
   job_name             "Job name",
   owner                "Owner",
   decode(enabled,'TRUE','Yes','FALSE','No')            "Enabled?",
   to_char(last_start_date,'MM/DD/YYYY HH24:MI:SS')     "Last run",
   to_char(next_run_date,'MM/DD/YYYY HH24:MI:SS')       "Next date",
   program_owner        "Program owner",
   program_name         "Program name",
   job_type             "Job type",
   job_action           "Job action",
   schedule_name        "Schedule name",
   start_date           "Start date",
   repeat_interval      "Repeat interval"
from dba_scheduler_jobs order by 2, 3 desc, 4 desc;

Другая возможность - включить аудит для рассматриваемой таблицы, см. Следующий пример в документации Oracle.

Пример аудита

И вы можете просмотреть записи аудита через представление dba_common_audit_trail.

Обратите внимание, что аудит может серьезно снизить производительность, поэтому знайте, как его включить и отключить. Вы, вероятно, не хотите оставлять его на полный рабочий день.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...