??спользование STATSPACK для Oracle
Сайзинг под базы Oracle есть критически важный параметр для создания системы хранения достаточной производительности. Сбор данных perfstat* и Oracle STATSPACK позволит выбрать правильно сконфигурированную систему хранения NetApp, как в плане размера, так и производительности.
Важно помнить несколько вещей, когда вы собираете статистику системы:
- Собирайте данные, когда система под большой нагрузкой
- Собирайте данные со всех хостов инфраструктуры
- Собирайте данные в perfstat и STATSPACK за один период времени
Установка Oracle STATSPACK.
STATSPACK это утилита диагностики произвдительности СУБД, которая доступна начиная с Oracle8i. STATSPACK это дальнейшее развитие утилит BSTAT и ESTAT. Рекомендуется установить timed_statistics в true. Для установки STATSPACK выполните следующие шаги:
1. Создайте PERFSTAT Tablespace:
SQL> CREATE TABLESPACE statspack
DATAFILE ‘/path_to_file.dbf’ SIZE 200M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
PERMANENT
ONLINE;
2. Запустите catdbsyn.sql и dbmspool.sql как SYS из SQLPLUS
$ sqlplus "/ as sysdba"
SQL> @?/rdbms/admin/catdbsyn.sql
SQL> @?/rdbms/admin/dbmspool.sql
3. Запустите скрипт
$ sqlplus "/ as sysdba"
SQL> @?/rdbms/admin/spcreate
Можете начинать пользоваться Oracle STATSPACK.
Сбор Oracle Statspack с помощью Perfstat с хоста Unix.
Как я могу собирать данные Oracle Statspack и Perfstat одновременно?
Для Perfstat версии 6.28 или позднее мы можем собирать данные Oracle Statspack из Perfstat используя единую команду Perfstat. Это работает для версии perfstat под unix, и не работает для версии perfstat под Windows.
Небольшая выжимка их манов к Perfstat:
Требования:
1. Perfstat может собирать данные Oracle STATSPACK только с одного хоста.
2. ??нстанс Oracle должен быть запущен до того, как будет вызван Perfstat.
3. ??спользуйте флаг -o чтобы передать специфические опции statspack в perfstat.
Опции и значения по умолчанию:
oracle_host=`hostname`
sqlplus=”sqlplus”
oracle_login=”perfstat/perfstat”
runas=”"
sysdba=”false”
-oracle_host
- умолчание для localhost, может быть одним из хостов, определенных с помощью -h из команд perfstat
-sqlplus
- может быть использован для того, чтобы определить абсолтный путь к команде ’sqlplus’
-runas
- может использоваться для запуска sqlplus от имени другого пользователя (то есть пользователь Unix, где установлен Oracle, обычно не root.)
-sysdba
- может использоваться для подключения к oracle как sysdba, игнорируя параметр oracle_login. Ключ sysdba вводит следующие команды в логин к sqlplus:
- a. sqlplus /nolog
- b. connect / as sysdba.
Примеры:
perfstat.sh -a oracle
perfstat.sh -h host1 -a oracle -o oracle_host=host1
perfstat.sh -h host1 -a oracle -o oracle_host=host1,sqlplus=/oracle/bin/sqlplus/
perfstat.sh -a oracle -o oracle_login=user/pass
perfstat.sh -a oracle -o runas=oracle,sysdba=true
Более сложные примеры:
perfstat.sh -a oracle -t 5 -i 5 -f filer -o runas=oracle, sysdba=true >/opt/perfstat.out
Note: Для того, чтобы собирать статистику самого файлера вместе с данными статистики Oracle, должен быть использован ключ -f.
Пример приведенный выше запускает perfstat и statspack 5 раз по 5 минут. Он переключает пользователя в oracle (с помощью команды su - oracle), и входит в sqlplus с помощью:
- a. sqlplus /nolog
- b. connect / as sysdba.
Еще почитать:
http://www.akadia.com/services/ora_statspack_survival_guide.html
https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb9096
http://www.dba-oracle.com/art_statspack.htm
http://www.datadisk.co.uk/html_docs/oracle/awr.htm
Взято тут:
http://blogs.netapp.com/databases/2009/07/gathering-oracle-statspack-data-for-netapp.html
* perfstat - собственная утилита - shell-script NetApp для сбора статистики, может быть скачана с вебсайта NOW: http://now.netapp.com/NOW/download/tools/perfstat/