Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вопрос для экспертов, как найти виновника изменений данных / 9 сообщений из 9, страница 1 из 1
05.06.2020, 13:58
    #39966510
Осенев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Комрады,

Есть RAC 12.1.0.2, в теории все изменения осуществляются на экземпляре 1 (inst_id=1), на экземпляре 2 работают только отчеты и изменений данных на нем (inst_id=2) не производится (кроме записи в GTT). Однако, периодически, inst1 запрашивает блоки данных из inst2 (CacheFusion).
На inst2, v$segstat и AWR отчеты свидетельствуют об сегментах с write IO operations на таблицах и индексах.

Внимание вопрос :)
Как отследить какой именно процесс изменяет данные на inst2?

Это точно не пользовательский DML. Похоже на что-то системное.
...
Рейтинг: 0 / 0
05.06.2020, 14:58
    #39966528
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Либо заранее включить аудит, либо грудью на Log Miner
...
Рейтинг: 0 / 0
05.06.2020, 15:06
    #39966534
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Системные задания посмотрите.
Сбор статистики, подрезка orphanned и прочее обслуживание экземпляра.
...
Рейтинг: 0 / 0
05.06.2020, 15:38
    #39966546
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Осенев

Это точно не пользовательский DML. Похоже на что-то системное.


И откуда ты так уверен? Ты можешь гарантировать что у всех юзеров которые пишут в TNS/connect string прописано INSTANCE=instance_1_name? Обычно вместо того что у тебя instance 2 используют standby.

SY.
...
Рейтинг: 0 / 0
05.06.2020, 15:58
    #39966557
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
SY
Ты можешь гарантировать что у всех юзеров которые пишут в TNS/connect string прописано INSTANCE=instance_1_name?

Вообще именно это в RAC это управляется, см. instance affinity.
И если юзверь соединяется с сервисом, который поднят только на одной ноде - то туда он и попадет.
Другой вопрос что, к примеру, при параллельном выполнении RAC легко может выделить слейвов и на других нодах, если это не забанено специально.
С другой стороны, parallel dml надо включать специально/осознанно, по дефолту оно не случается, а вот delayed block cleanout случается и при select...
...
Рейтинг: 0 / 0
05.06.2020, 16:22
    #39966574
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
andrey_anonymous

И если юзверь соединяется с сервисом, который поднят только на одной ноде - то туда он и попадет.


Ничто не мешает юзверю использовать сервис который поднят на ноде 2 или дефолтный сервис PDB.

SY.
...
Рейтинг: 0 / 0
05.06.2020, 16:36
    #39966578
Осенев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
tru55,
Буду пробовать LogMiner, но давно его не юзал, нужно освежить.

2 andrey_anonymous
Из системных задач только сбор статистики включен, он работает ночью и не должен изменять пользовательские данные.
Да, основное подозрение delayed block cleanout.
Еще странный модуль работает KTSJ, вроде segment maintanence, инфы по нему не много.

2 SY откуда ты так уверен?
Конечно за все сто не уверен, но не должны. Мониторю ASH, ничего подозрительного не вижу.
Они подключаются по сервису который работает только на второй ноде. Параллельность мы не используем и я ее не вижу в ASH.
И да отчеты должны работать на standby, но из-за бага связанного с индексами в GTT, пока использовать standby не можем.
...
Рейтинг: 0 / 0
05.06.2020, 16:45
    #39966580
Осенев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Вообще я не уверен как работает delayed block cleanout если изменения были сделаны на иснт1 а читает данные инст2. Кто будет делать очистку? И будет ли remastering блока.
...
Рейтинг: 0 / 0
05.06.2020, 19:07
    #39966627
Осенев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос для экспертов, как найти виновника изменений данных
Logminer ничего не нашел за последние пол часа, искал по table_name, data_obj#, sql_redo, sql_undo.
Тот же период AWR, segments by db block changes and segments by physical writes, показывает изменения в сегментах индексов и таблиц.
Вот думаю покажет ли logminer delayed block cleanout, поидее если блок изменился, то он должен попасть в redo.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / вопрос для экспертов, как найти виновника изменений данных / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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