Oracle: как посчитать количество вставок в базу данных между двумя датами - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу посчитать количество вставок в созданные пользователем таблицы между двумя датами.Например, если есть 5 вставок в 4 таблицы из 20 таблиц.Есть ли способ сделать это без выполнения запроса для каждой таблицы?

1 Ответ

0 голосов
/ 25 сентября 2018

Будет отображено имя таблицы и количество вставок, обновлений и удалений:

select
   table_owner,
   table_name,
   inserts,
   updates,
   deletes
from
   dba_tab_modifications
where
   timestamp > sysdate-1;

Но вам нужно будет запустить процедуру FLUSH_DATABASE_MONITORING_INFO в пакете DIMS_STATS PL / SQL, чтобы заполнить это представлениепоследняя информация.

Вы найдете процедуру для сбора всей статистики из вашей БД здесь: https://docs.oracle.com/database/121/ARPLS/d_stats.htm#ARPLS68568

Обратите внимание, что для запуска процедуры вам понадобится привилегия ANALYZE_ANY.

Для суммирования : запустите FLUSH_DATABASE_MONITORING_INFO, чтобы обновить все изменения в БД, а затем используйте DBMS_STATS.DBMS_STATS автоматически собирает «устаревшие» объекты, которые нуждаются в анализе.А затем запустите запрос от DBA_TAB_MODIFICATIONS, чтобы распечатать изменения.

...