Как объединить таблицы 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, влияющими на эти сегменты.

Другие вопросы по тегам