понедельник, 23 июня 2014 г.

Шпаргалка по VxVM

Привожу здесь краткую шпаргалку по VxVM, как обещал в этом посте. Здесь перечислены только самые базовые возможности, которые будут полезны администратору баз данных.
Посмотреть статус дисков в группеvxdisk list
Создать дисковую группуvxdg init diskgroup diskname=device
Добавить диск к группеvxdg -g diskgroup adddisk diskname=device
Удалить диск из группыvxdg –g diskgroup rmdisk diskname
Удалить группуvxdg destroy diskgroup
Посмотреть список дисковых группvxdg list [diskgroup]
Посмотреть количество свободного места в группеvxdg -g diskgroup free
Создать томvxassist -g diskgroup make vol_name size layout=format diskname
Удалить томvxedit -g diskgroup -rf rm vol_name
или
vxassist -g diskgroup remove volume vol_name
Посмотреть сведения о томеvxprint -g diskgroup -vt vol_name
или
vxprint -g diskgroup –l vol_name
Изменить размер томаvxresize -g diskgroup vol_name new_size

Транзакции, потребляющие UNDO

Чтобы узнать, какие транзакции наиболее активно потребляют место в Undo tablespaces с привязкой к сессиям, поможет такой запрос (для версий 10g и выше):
SELECT DISTINCT s.sid, s.serial#, s.schemaname, s.osuser, s.program, t.start_time,  
       t.used_ublk, r.name rollback_segment_name, 
       st.sql_text, st_prev.sql_text prev_sql_text, s.event
FROM v$session s, v$transaction t, v$rollname r, v$sql st, v$sql st_prev
WHERE 
 t.addr = s.taddr AND
 t.USED_UBLK > 0 AND 
 t.xidusn = r.usn AND
 st.SQL_ID(+) = s.SQL_ID AND
 st_prev.SQL_ID(+) = s.SQL_ID
ORDER BY t.USED_UBLK DESC;

Список отсортирован по убыванию. Думаю, нужно пояснить назначение только двух полей:USED_UBLKи START_TIME.
USED_UBLK - это количество блоков undo, используемых данной транзакцией.
START_TIME - время начала транзакции (не сессии!).

Использование утилиты vxstat


В Solaris и HP-UX есть утилита iostat, которая позволяет посмотреть статистику ввода-вывода по дискам. Но если используется Veritas Volume Manager, то удобнее будет воспользоваться утилитой /usr/sbin/vxstat, т.к. она показывает статистику не только по дискам, но и по томам, субдискам, плексам, и т.д.
Вот, например, как можно посмотреть статистику ввода-вывода в группе test с использованием мегабайт вместо блоков в качестве единицы измерения:
vxstat -g test -v -u m
Будет выведен список томов и значения статистики с момента старта системы. В колонках BLOCKS будет значение не в блоках, а в мегабайтах.
Если запустить команду таким образом:
vxstat -r
то статистика будет сброшена без перезагрузки системы, но это надо делать от имени root. Без опции-r утилиту могут запускать и другие пользователи.
Пара полезных ссылок: 12