Проблема с отчетами
Я собирал данные о
производительности в незнакомой базе данных. После того, как я запустил отчет AWR, выполнив команду
@?/Rdbms/admin/awrrpt.sql
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: parse time elapsed
WARNING (-20023) ORA-20023: Missing start and end values for time model stat:
DB CPU WARNING (-20016) ORA-20016: Missing value for SGASTAT: free memory ...
Есть ли вероятность,
что диагностический пакет отключен?
Давайте посмотрим параметр CONTROL_MANAGEMENT_PACK_ACCESS.
SQL>
show parameter control_management_pack_access
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_management_pack_access string
NONE
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_management_pack_access string
NONE
Я немного осторожно оценил значение NONE. Поскольку Oracle Enterprise Edition включает лицензию
диагностического пакета, а Standart Edition - нет, я не имел права использовать ее. Посмотрим информацию о версии.
.SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 64-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 64-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
Как мы видим, «Enterprise Edition» не отобразилась в консоли . Это
определенно Standart Edidtion. Ну, по крайней мере, я знаю, что я не
имею права использовать его.
Когда я снова
посмотрел в директорию <ORACLE_HOME>/rdbms/admin ,я обнаружил, что STATSPACK все еще там, что является оригинальным инструментом сбора данных о
производительности для более старых баз данных и очень похож на AWR в функциях. Лучше всего, что мы можем использовать STATSPACK в качестве замены AWR в стандартных
изданиях без ограничений.
Установка STATSPACK
Для создания STATSPACK с запланированным заданием необходимо выполнить по крайней мере два шага.
1)
Выполнить скрипт spcreate.sql
Я предлагаю вам
перейти в директорию <ORACLE_HOME>/rdbms/admin как ваш текущий
рабочий каталог, потому что все журналы во время выполнения останутся с этим
каталогом.
Выполним скрипт:
SQL> @spcreate.sql;
Давайте посмотрим, что
у нас есть в этом скрипте:
@@spcusr
connect perfstat/&&perfstat_password
@@spctab
@@spcpkg
connect perfstat/&&perfstat_password
@@spctab
@@spcpkg
Для запуска требуется 3 основных
сценария SQL.
spcusr.sql
- Он
создаст пользователя под названием PERFSTAT, табличное пространство по
умолчанию будет SYSAUX, а временное табличное
пространство dafault будет TEMP.
- Оба
табличных пространства могут быть настроены, но перед запуском этого
сценария вы должны убедиться, что табличные пространства существуют в
вашей базе данных.
- Вам
нужно запомнить пароль, если вы захотите выполнить некоторые подпрограммы
позднее.spctab.sql
В таблице spctab.sql будет создано 71 таблица STATSPACK.
STATS$DATABASE_INSTANCE
STATS$LEVEL_DESCRIPTION
STATS$SNAPSHOT
STATS$DB_CACHE_ADVICE
STATS$FILESTATXS
STATS$TEMPSTATXS
STATS$LATCH
STATS$LATCH_CHILDREN
STATS$LATCH_PARENT
STATS$LATCH_MISSES_SUMMARY
STATS$LIBRARYCACHE
STATS$BUFFER_POOL_STATISTICS
STATS$ROLLSTAT
STATS$ROWCACHE_SUMMARY
STATS$SGA
STATS$SGASTAT
STATS$SYSSTAT
STATS$SESSTAT
STATS$SYSTEM_EVENT
STATS$SESSION_EVENT
STATS$WAITSTAT
STATS$ENQUEUE_STATISTICS
STATS$SQL_SUMMARY
STATS$SQLTEXT
STATS$SQL_STATISTICS
STATS$RESOURCE_LIMIT
STATS$DLM_MISC
STATS$CR_BLOCK_SERVER
STATS$CURRENT_BLOCK_SERVER
STATS$INSTANCE_CACHE_TRANSFER
STATS$UNDOSTAT
STATS$SQL_PLAN_USAGE
STATS$SQL_PLAN
STATS$SEG_STAT
STATS$SEG_STAT_OBJ
STATS$PGASTAT
STATS$PARAMETER
STATS$INSTANCE_RECOVERY
STATS$STATSPACK_PARAMETER
STATS$SHARED_POOL_ADVICE
STATS$SQL_WORKAREA_HISTOGRAM
STATS$PGA_TARGET_ADVICE
STATS$JAVA_POOL_ADVICE
STATS$THREAD
STATS$FILE_HISTOGRAM
STATS$EVENT_HISTOGRAM
STATS$TIME_MODEL_STATNAME
STATS$SYS_TIME_MODEL
STATS$SESS_TIME_MODEL
STATS$STREAMS_CAPTURE
STATS$STREAMS_APPLY_SUM
STATS$PROPAGATION_SENDER
STATS$PROPAGATION_RECEIVER
STATS$BUFFERED_QUEUES
STATS$BUFFERED_SUBSCRIBERS
STATS$RULE_SET
STATS$OSSTATNAME
STATS$OSSTAT
STATS$PROCESS_ROLLUP
STATS$PROCESS_MEMORY_ROLLUP
STATS$SGA_TARGET_ADVICE
STATS$STREAMS_POOL_ADVICE
STATS$MUTEX_SLEEP
STATS$DYNAMIC_REMASTER_STATS
STATS$IOSTAT_FUNCTION_NAME
STATS$IOSTAT_FUNCTION
STATS$MEMORY_TARGET_ADVICE
STATS$MEMORY_DYNAMIC_COMPS
STATS$MEMORY_RESIZE_OPS
STATS$INTERCONNECT_PINGS
STATS$IDLE_EVENT
STATS$LEVEL_DESCRIPTION
STATS$SNAPSHOT
STATS$DB_CACHE_ADVICE
STATS$FILESTATXS
STATS$TEMPSTATXS
STATS$LATCH
STATS$LATCH_CHILDREN
STATS$LATCH_PARENT
STATS$LATCH_MISSES_SUMMARY
STATS$LIBRARYCACHE
STATS$BUFFER_POOL_STATISTICS
STATS$ROLLSTAT
STATS$ROWCACHE_SUMMARY
STATS$SGA
STATS$SGASTAT
STATS$SYSSTAT
STATS$SESSTAT
STATS$SYSTEM_EVENT
STATS$SESSION_EVENT
STATS$WAITSTAT
STATS$ENQUEUE_STATISTICS
STATS$SQL_SUMMARY
STATS$SQLTEXT
STATS$SQL_STATISTICS
STATS$RESOURCE_LIMIT
STATS$DLM_MISC
STATS$CR_BLOCK_SERVER
STATS$CURRENT_BLOCK_SERVER
STATS$INSTANCE_CACHE_TRANSFER
STATS$UNDOSTAT
STATS$SQL_PLAN_USAGE
STATS$SQL_PLAN
STATS$SEG_STAT
STATS$SEG_STAT_OBJ
STATS$PGASTAT
STATS$PARAMETER
STATS$INSTANCE_RECOVERY
STATS$STATSPACK_PARAMETER
STATS$SHARED_POOL_ADVICE
STATS$SQL_WORKAREA_HISTOGRAM
STATS$PGA_TARGET_ADVICE
STATS$JAVA_POOL_ADVICE
STATS$THREAD
STATS$FILE_HISTOGRAM
STATS$EVENT_HISTOGRAM
STATS$TIME_MODEL_STATNAME
STATS$SYS_TIME_MODEL
STATS$SESS_TIME_MODEL
STATS$STREAMS_CAPTURE
STATS$STREAMS_APPLY_SUM
STATS$PROPAGATION_SENDER
STATS$PROPAGATION_RECEIVER
STATS$BUFFERED_QUEUES
STATS$BUFFERED_SUBSCRIBERS
STATS$RULE_SET
STATS$OSSTATNAME
STATS$OSSTAT
STATS$PROCESS_ROLLUP
STATS$PROCESS_MEMORY_ROLLUP
STATS$SGA_TARGET_ADVICE
STATS$STREAMS_POOL_ADVICE
STATS$MUTEX_SLEEP
STATS$DYNAMIC_REMASTER_STATS
STATS$IOSTAT_FUNCTION_NAME
STATS$IOSTAT_FUNCTION
STATS$MEMORY_TARGET_ADVICE
STATS$MEMORY_DYNAMIC_COMPS
STATS$MEMORY_RESIZE_OPS
STATS$INTERCONNECT_PINGS
STATS$IDLE_EVENT
- spcpkg.sql
Он создаст необходимые хранимые процедуры STATSPACK для PERFSTAT.
- Выполнить
скрипт spauto.sql
Этот скрипт отправит
задание с заданным интервалом (1 час).
SQL> @spauto.sql;
В котором он
представляет такую работу:
SQL> begin
2 select instance_number into :instno from v$instance;
3 dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
4 commit;
5 end;
6 /
2 select instance_number into :instno from v$instance;
3 dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
4 commit;
5 end;
6 /
А затем покажите
следующее время выполнения.
SQL> select job, next_date, next_sec
2 from user_jobs
3 where job = :jobno;
2 from user_jobs
3 where job = :jobno;
Больше соображений
Для дальнейшей настройки более легко, вы
можете захотеть собрать статистику более глубоко на уровне сегмента, который
более значим и полезен, пожалуйста, измените уровень моментального снимка на 7
вместо уровня по умолчанию 5.
SQL>
exec statspack.snap(i_snap_level => 7, i_modify_parameter => 'true');
Этот оператор изменит уровень привязки на 7 и одновременно сделает снимок.
Этот оператор изменит уровень привязки на 7 и одновременно сделает снимок.
recommends using ADDM and AWR.
However, Statspack is available for backward
Комментарии
Отправить комментарий