Как объединить таблицы DBA_HIST_* с таблицей V$LOGMNR_CONTENTS - Oracle DB
Мне нужно собрать некоторую информацию как в журнале повторов, так и в таблице dba_hist_* (например, DBA_HIST_SQLTEXT, DBA_HIST_SQL_PLAN, DBA_SQLSET_PLANS). Поскольку некоторая информация, которая мне нужна, отсутствует в журнале повторов, но существует в таблице dba.
Я попытался присоединиться через идентификатор транзакции (двоичное поле), но результат кажется неправильным. Я также не могу узнать sql id в журнале повторного выполнения. Как я могу это решить, спасибо
1 ответ
Не существует точного соответствия между оператором SQL и сгенерированным повтором.
Вы можете получить приблизительное представление о влиянии повтора на SQL на основе SQL, просмотрев эти операторы SQL в V$SQL, V$SQLSTATS или эквивалентных исторических представлениях, просмотрев столбец ROWS_PROCESSED, где этими операторами являются INSERT, UPDATE, DELETE или MERGE.
Кроме того, просмотр V$SEGMENT_STATISTICS для значения 'db block changes' даст вам большое количество сегментов повтора, которые вы можете связать с операторами SQL, влияющими на эти сегменты.