powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Дата последнего обновления таблицы
10 сообщений из 10, страница 1 из 1
Дата последнего обновления таблицы
    #39493433
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует ли способ узнать время последней вставки для набора таблиц ( хотя бы приблизительно, точность несколько минут подойдет)? Таблицы каждый день заполняются внешними процессами, хочется научить быстро понимать - произошло это сегодня или нет. Заставить их как-то логировать свои процессы - дело небыстрое, да и ручные операции встречаются.

select scn_to_timestamp(max(ora_rowscn)) from ... ( сегодняшняя партиция )
дает, конечно, результат, но слишком медленно - таблички большие.

dba_tab_modifications.timestamp должно работать судя по доке, но в наших условиях показывает какую-то чушь. Скорее всего, она не учитывает загрузки sql*loader-ом, транкейты и т.п.
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39493438
ВалераГад
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valergradпоказывает какую-то чушьА вызывать dbms_stats.flush_database_monitoring_info пробовали?

еще варианты
- встроенный аудит
- лог майнер
- джоб, выполняющий слепки v$segment_statistics со статистиками типа physical writes, db block changes
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39493440
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам ты гадА вызывать dbms_stats.flush_database_monitoring_info пробовали?

Блин, ну разумеется.
Вариант с v$segment_statistics можно покурить если ничего лучше не посоветуют.
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39493837
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если есть, например, PK из сиквенса, то можно

select scn_to_timestamp(ora_rowscn) from table where ID=...
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39501994
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nobody1111Если есть, например, PK из сиквенса, то можно

select scn_to_timestamp(ora_rowscn) from table where ID=...

Для конкретной таблички можно построить запрос, который по индексу находит последнюю строку или блок последних строк и смотрит max(ora_rowscn) по ним, но сделать код который бы умел это в общем случае - нетривиально.

Попробовал v$segment_statistics. К сожалению для небольшого количества строк числа уменьшаются со временем ( как будто бы обнуляются ), чего быть не должно. Пока что размышляю как такое могло произойти и почему.
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39502008
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad,

Valergradкаждый день заполняются внешними процессами
Каждый процесс работает от своей учётной записи?
Если да, то на скорую руку можно как уже сказали и аудит повесить. Как минимум будет видно, использовалась ли привилегия INSERT.
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39502022
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

аудит на все DMLи? Насколько сильно это влияет на производительность базы?
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39502024
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad,

Зависит от частоты DML. Если у вас идут непрерывно сигналы с охренелиона датчиков, то повлияет сильно и может быстро засрать место в system / на диске.
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39502101
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
больше трэша, используй v$sqlarea и вьюхи ash
...
Рейтинг: 0 / 0
Дата последнего обновления таблицы
    #39502166
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все же, почему глючит v$segment_statistics? Причем глючит только по интервально партиционированным таблицам, и еще как-то странно глючит.
Сравнил два снапшота:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 SELECT a.subobject_name, a.value value_old, b.VALUE value_new, b.VALUE - a.VALUE diff
    FROM segment_statistics_4 a
         FULL OUTER JOIN segment_statistics_5 b
            ON     a.owner = b.owner
               AND a.object_name = b.object_name
               AND a.statistic# = b.statistic#
               AND a.subobject_name = b.subobject_name
   WHERE     a.VALUE != b.VALUE        
         AND a.statistic# = 3
         AND b.VALUE - a.VALUE < 0
ORDER BY 1, 2, 3;         



PARTITION_NAME VALUE_OLD VALUE_NEW DIFFSYS_P1205 1936320 32 -1936288SYS_P2505 17760 3664 -14096SYS_P384470 146464 112 -146352SYS_P385168 539328 16 -539312SYS_P386402 2191072 64 -2191008SYS_P85961 48144 32 -48112
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Дата последнего обновления таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]