Рекомендации по результатам расследования инцидента с повреждёнными блоками на промышленном кластере.
Рекомендации orachk (раздел Maximum Availability Architecture (MAA) Scorecard):
Провести настройку параметров:
DB_BLOCK_CHECKSUM=FULL
DB_LOST_WRITE_PROTECT=TYICAL/FULL
DB_BLOCK_CHECKING=MEDIUM/FULL
To achieve the most comprehensive data corruption prevention and detection , use Oracle Active Data Guard and configure DB_BLOCK_CHECKSUM,DB_LOST_WRITE_PROTECT and DB_BLOCK_CHECKING database initialization parameters on the primary database and all standby databases in a Data Guard environment.
Установку этих параметров по отдельности можно заменить на установку единого параметра DB_ULTRA_SAFE:
DATA_ONLY - эквивалент:
Для установки степени влияния указанных параметров на работу БД были проведены следующие проверки:
На двух серверах gamma (Oracle 11.2.0.4) и iota (Oracle 12.1.0.2) произведена тестовая вставка данных:
insert into dbax.test_table select * from dbax.source_table where rownum < 100000;
Тестирование параметров DB_LOST_WRITE_PROTECT, DB_BLOCK_CHECKSUM, DB_BLOCK_CHECKING, установленных вручную.
При применении параметров DB_LOST_WRITE_PROTECT = FULL,DB_BLOCK_CHECKSUM = FULL и DB_BLOCK_CHECKING = FULL отмечено пятикратное снижение скорости операции.
При применении параметров DB_LOST_WRITE_PROTECT = FULL, DB_BLOCK_CHECKSUM = FULL и DB_BLOCK_CHECKING = MEDIUM отмечено снижение скорости в 1,5 – 2 раза.
Подробные результаты
на gamma:
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking FULL
Elapsed: 00:00:30.60
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking MEDIUM
Elapsed: 00:00:09.01
db_lost_write_protect NONE
db_block_checksum OFF
db_block_checking OFF
Elapsed: 00:00:06.79
на iota:
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking FULL
Elapsed: 00:00:23.03
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking MEDIUM
Elapsed: 00:00:06.94
db_lost_write_protect NONE
db_block_checksum OFF
db_block_checking OFF
Elapsed: 00:00:04.29
Как уже было отмечено, параметр DB_BLOCK_CHECKING = FULL увеличивает время выполнения операции до 5 раз.
Однако, Oracle сообщает, что параметр DB_BLOCK_CHECKING = MEDIUM позволяет обеспечить достаточный уровень обнаружения повреждённых блоков
"With DB_BLOCK_CHECKING=MED or FULL, logical data block corruptions can be detected and prevented on the primary or standby database."
При указанном значении – время выполнения увеличивается в 1,5 – 2 раза.
Тестирование параметра DB_ULTRA_SAFE:
Параметр DB_ULTRA_SAFE требует перезапуска экземпляра (scope=spfile), поэтому тестировался только на никем не занятом сервере gamma.
Внимание: Перед установкой требуется провести
alter system reset ..
для DB_LOST_WRITE_PROTECT, DB_BLOCK_CHECKSUM, DB_BLOCK_CHECKING, иначе параметр DB_ULTRA_SAFE будет проигнорирован.
При установке на gamma параметра DB_ULTRA_SAFE = DATA_ONLY
время выполнения тестовой вставки составило 00:00:07.64 – замедление в 2 раза
при установке значения в OFF 00:00:04.66
при значении DATA_AND_INDEX 00:00:29.02 – замедление в 6 раз
Вывод:
Для обеспечения защиты от повреждённых блоков с наименьшим ухудшением производительности можно рекомендовать установить параметры:
DB_ULTRA_SAFE = DATA_ONLY
Либо
DB_LOST_WRITE_PROTECT = FULL
DB_BLOCK_CHECKSUM = FULL
DB_BLOCK_CHECKING = MEDIUM
Рекомендации orachk (раздел Maximum Availability Architecture (MAA) Scorecard):
Провести настройку параметров:
DB_BLOCK_CHECKSUM=FULL
DB_LOST_WRITE_PROTECT=TYICAL/FULL
DB_BLOCK_CHECKING=MEDIUM/FULL
To achieve the most comprehensive data corruption prevention and detection , use Oracle Active Data Guard and configure DB_BLOCK_CHECKSUM,DB_LOST_WRITE_PROTECT and DB_BLOCK_CHECKING database initialization parameters on the primary database and all standby databases in a Data Guard environment.
Установку этих параметров по отдельности можно заменить на установку единого параметра DB_ULTRA_SAFE:
DATA_ONLY - эквивалент:
- DB_BLOCK_CHECKING = MEDIUM.
- DB_LOST_WRITE_PROTECT = TYPICAL.
- DB_BLOCK_CHECKSUM = FULL.
- DB_BLOCK_CHECKING = FULL.
- DB_LOST_WRITE_PROTECT = TYPICAL.
- DB_BLOCK_CHECKSUM = FULL.
Для установки степени влияния указанных параметров на работу БД были проведены следующие проверки:
На двух серверах gamma (Oracle 11.2.0.4) и iota (Oracle 12.1.0.2) произведена тестовая вставка данных:
insert into dbax.test_table select * from dbax.source_table where rownum < 100000;
Тестирование параметров DB_LOST_WRITE_PROTECT, DB_BLOCK_CHECKSUM, DB_BLOCK_CHECKING, установленных вручную.
При применении параметров DB_LOST_WRITE_PROTECT = FULL,DB_BLOCK_CHECKSUM = FULL и DB_BLOCK_CHECKING = FULL отмечено пятикратное снижение скорости операции.
При применении параметров DB_LOST_WRITE_PROTECT = FULL, DB_BLOCK_CHECKSUM = FULL и DB_BLOCK_CHECKING = MEDIUM отмечено снижение скорости в 1,5 – 2 раза.
Подробные результаты
на gamma:
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking FULL
Elapsed: 00:00:30.60
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking MEDIUM
Elapsed: 00:00:09.01
db_lost_write_protect NONE
db_block_checksum OFF
db_block_checking OFF
Elapsed: 00:00:06.79
на iota:
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking FULL
Elapsed: 00:00:23.03
db_lost_write_protect FULL
db_block_checksum FULL
db_block_checking MEDIUM
Elapsed: 00:00:06.94
db_lost_write_protect NONE
db_block_checksum OFF
db_block_checking OFF
Elapsed: 00:00:04.29
Как уже было отмечено, параметр DB_BLOCK_CHECKING = FULL увеличивает время выполнения операции до 5 раз.
Однако, Oracle сообщает, что параметр DB_BLOCK_CHECKING = MEDIUM позволяет обеспечить достаточный уровень обнаружения повреждённых блоков
"With DB_BLOCK_CHECKING=MED or FULL, logical data block corruptions can be detected and prevented on the primary or standby database."
При указанном значении – время выполнения увеличивается в 1,5 – 2 раза.
Тестирование параметра DB_ULTRA_SAFE:
Параметр DB_ULTRA_SAFE требует перезапуска экземпляра (scope=spfile), поэтому тестировался только на никем не занятом сервере gamma.
Внимание: Перед установкой требуется провести
alter system reset ..
для DB_LOST_WRITE_PROTECT, DB_BLOCK_CHECKSUM, DB_BLOCK_CHECKING, иначе параметр DB_ULTRA_SAFE будет проигнорирован.
При установке на gamma параметра DB_ULTRA_SAFE = DATA_ONLY
время выполнения тестовой вставки составило 00:00:07.64 – замедление в 2 раза
при установке значения в OFF 00:00:04.66
при значении DATA_AND_INDEX 00:00:29.02 – замедление в 6 раз
Вывод:
Для обеспечения защиты от повреждённых блоков с наименьшим ухудшением производительности можно рекомендовать установить параметры:
DB_ULTRA_SAFE = DATA_ONLY
Либо
DB_LOST_WRITE_PROTECT = FULL
DB_BLOCK_CHECKSUM = FULL
DB_BLOCK_CHECKING = MEDIUM
Комментарии
Отправить комментарий