Statspack. Установка и настройка.

«А у нас в квартире газ! А у вас?» А у нас Standard Edition!

Лишенные радости использования AWR (Automatic Workload Repository) в Enterprise Edition администраторы SE могут использовать набор утилит мониторинга производительности Statspack.

Установить Statspack
@%ORACLE_HOME%\rdbms\admin\spcreate

OR
@?/rdbms/admin/spcreate

Хорошо, установили, но статистика от этого собирается просто так не станет.
Что бы автоматом собиралась статистика:
@?/rdbms/admin/spauto.sql
Читать далее «Statspack. Установка и настройка.»

Повышенное ожидание log file sync. LGWR — Post/wait и Polling.

Version 11.2.0.3 , Windows 2008R2

Столкнулись с ситуацией повышенного log file sync wait.

Конечно написанное приложение далеко от идеала, и в БД очень много коммитов. Но раньше такой ситуации по ожиданиям не возникало, а код остался нетронутым.

Деградации в производительности дискового хранилища и сети не были найдены, всё железо стабильно продолжало работать. В алертлоге ничего путного тоже нет, только:
«Thu Mar 30 15:20:19 2017
Thread 1 cannot allocate new log, sequence 4824
Private strand flush not complete»
Читать далее «Повышенное ожидание log file sync. LGWR — Post/wait и Polling.»

Сбор статистики

Иногда просадка по производительности запросов связана с тем, что собранная статистика по таблицам  не актуальна. Поможет нам в этом

Сбор статистики по схеме:
begin
dbms_stats.gather_schema_stats(ownname => 'ИМЯ_СХЕМЫ',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, cascade=>TRUE);
end;

Сбор статистики по таблице:
dbms_stats.gather_table_stats('ИМЯ_СХЕМЫ',upper('ИМЯ_ТАБЛИЦЫ'))

Посмотреть статистику по юзеру:
select * from DBA_TAB_STATISTICS
where OWNER like 'ИМЯ_СХЕМЫ'
--and num_rows is not null
--order by num_rows desc