oracle: манипуляции с PERFSTAT
Актуально для Oracle 9i, версии выше используют AWR.
Вся статистика лежит в схеме PERFSTAT
-- список снепшотов
select * from stats$snapshot;
-- посмотреть начальный snap_id
select * from perfstat.stats$snapshot order by snap_id;
Сформировать отчёт spreport
BEGIN_SNAP: Specifies the begin snapshot ID
END_SNAP: Specifies the end snapshot ID
REPORT_NAME: Specifies the report output name
Сформировать отчёт sprepsql (отчёт по конкретному sql запросу)
BEGIN_SNAP: specifies the begin snapshot ID
END_SNAP: specifies the end snapshot ID
HASH_VALUE: specifies the hash value (hash запроса смотрим из spreport)
REPORT_NAME: specifies the report output name
Собрать статистику.
Перед созданием отчёта рекомендуется собрать статистику по PERFSTAT,
если данных много и давно не собиралась статистика.
Удалить ненужные снепшоты
После этого нужно сделать commit
Актуально для Oracle 9i, версии выше используют AWR.
Вся статистика лежит в схеме PERFSTAT
-- список снепшотов
select * from stats$snapshot;
-- посмотреть начальный snap_id
select * from perfstat.stats$snapshot order by snap_id;
Сформировать отчёт spreport
SQL> @?/rdbms/admin/spreport
В процессе выполнения нужно указать следующие переменные:BEGIN_SNAP: Specifies the begin snapshot ID
END_SNAP: Specifies the end snapshot ID
REPORT_NAME: Specifies the report output name
Сформировать отчёт sprepsql (отчёт по конкретному sql запросу)
SQL> @?/rdbms/admin/sprepsql
В процессе выполнения нужно указать следующие переменные:BEGIN_SNAP: specifies the begin snapshot ID
END_SNAP: specifies the end snapshot ID
HASH_VALUE: specifies the hash value (hash запроса смотрим из spreport)
REPORT_NAME: specifies the report output name
Собрать статистику.
Перед созданием отчёта рекомендуется собрать статистику по PERFSTAT,
если данных много и давно не собиралась статистика.
EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME=>'PERFSTAT',CASCADE=>TRUE);
или
EXECUTE DBMS_UTILITY.ANALYZE_SCHEMA('PERFSTAT','COMPUTE');
или
EXECUTE DBMS_UTILITY.ANALYZE_SCHEMA('PERFSTAT','COMPUTE');
Удалить ненужные снепшоты
SQL> CONNECT perfstat/my_perfstat_password
SQL> @?/rdbms/admin/sppurge
спросит начальный и конечный snap_id для удаленияПосле этого нужно сделать commit