Friday, May 23, 2008
По переносу базы MS SQL 2005 на другой диск
Обратились ароматизаторы с проблемкой, в рамках которой нужно было перенести одну из баз MS SQL Server 2005 на другой диск. Нашел ссылку http://technet.microsoft.com/ru-ru/library/ms187858.aspx , но открыв MS SQL Management Studio и прикинув как это сделать через GUI, попробовал и .... прикольно, не думал, что так просто переместить базу в сиквеле :)
Wednesday, May 21, 2008
Дефрагментация таблиц, индексов (with LOB and partitions) с перемещением в другой TS
Столкнулся с проблемой, когда после удаления данных таблицы сильно дефрагментировались. Короче база на базе одной ASM diskgroup, в которой одна дисковая группа на базе 2 Lun's. Один размером 512Gb, другой - 72Gb. Запрос "select sum(bytes) from dba_segments" возвращает не более 100Gb, т.е. у меня более 400Gb свободно, но .... запрос "select total_mb,free_mb from v$asm_diskgroup" из более чем 500Гб возвращает свободных только 60Гб. А мне нужно вывести из этой дисковой группы Lun размером 72Гб. Но для того, чтобы вывести диск из группы необходимо достаточное свободного места для ребалансинга.
После команд
alter diskgroup dg1 drop disk dg_0001;
alter diskgroup dg1 rebalance power 6;
и после очистки содержимого v$asm_operation, говорящего нам о завершении ребалансинга
запрос "select name,path,state from v$asm_disk" возвращает состояние диска Hung. Согласно Reference "HUNG - Disk drop operation cannot continue because there is insufficient space to relocate the data from the disk being dropped". Вот так вот.
Сделать shrink невозможно, т.к. segment space management для табличных пространств в manual.
Спросил совета - Г. посоветовал сделать единственно верное в данном случае. Переместить все данные из одного из таблспэйса в другой вновь созданный соответствующего размера (select sum(bytes) from dba_segments where tablespace_name='MYDB_2006') и затем удалить исходный таблспэйс.
И вот решил "записать" скриптики, которые я использовал.
==========
-- Moving LOB PACKAGE_IN_DB to tablespace MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_lob.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '||PARTITION_NAME|| ' LOB(PACKAGE_IN_DB)
STORE AS (TABLESPACE MYDB_2006);' from dba_tab_partitions where table_name='PACKAGES'
and tablespace_name='MYDB_TEST';
spool off;
@move_table_lob.sql
exit;
/
-- Moving partitions to tablespace MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_part.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '
||PARTITION_NAME|| ' tablespace MYDB_2006;' from dba_tab_partitions where
table_name='PACKAGES' and tablespace_name='MYDB_TEST';
spool off;
@move_table_part.sql
exit;
/
--Moving subpartitions to MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_subpart.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move subpartition '
||SUBPARTITION_NAME|| ' tablespace MYDB_TEST;' from dba_tab_subpartitions
where table_name='MV_VOLUMES' and tablespace_name='MYDB_2006';
spool off;
@move_table_subpart.sql
exit;
/
--Moving Indexes to MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_ind_part.sql
select 'ALTER INDEX '||INDEX_OWNER||'.'||INDEX_NAME|| ' rebuild partition '||PARTITION_NAME ||' TABLESPACE MYDB_TEST;'
from dba_ind_partitions where tablespace_name='MYDB_2006';
spool off;
@move_ind_part.sql
exit;
/
-- Moving LOB-partitions (LOBINDEXES,LOBSEGMENTS) to tablespace MYDB_2006
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_lob.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '||PARTITION_NAME|| ' LOB(' ||COLUMN_NAME||')
STORE AS (TABLESPACE MYDB_2006);' from dba_lob_partitions where tablespace_name='MYDB_TEST';
spool off;
@move_table_lob.sql
exit;
/
После команд
alter diskgroup dg1 drop disk dg_0001;
alter diskgroup dg1 rebalance power 6;
и после очистки содержимого v$asm_operation, говорящего нам о завершении ребалансинга
запрос "select name,path,state from v$asm_disk" возвращает состояние диска Hung. Согласно Reference "HUNG - Disk drop operation cannot continue because there is insufficient space to relocate the data from the disk being dropped". Вот так вот.
Сделать shrink невозможно, т.к. segment space management для табличных пространств в manual.
Спросил совета - Г. посоветовал сделать единственно верное в данном случае. Переместить все данные из одного из таблспэйса в другой вновь созданный соответствующего размера (select sum(bytes) from dba_segments where tablespace_name='MYDB_2006') и затем удалить исходный таблспэйс.
И вот решил "записать" скриптики, которые я использовал.
==========
-- Moving LOB PACKAGE_IN_DB to tablespace MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_lob.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '||PARTITION_NAME|| ' LOB(PACKAGE_IN_DB)
STORE AS (TABLESPACE MYDB_2006);' from dba_tab_partitions where table_name='PACKAGES'
and tablespace_name='MYDB_TEST';
spool off;
@move_table_lob.sql
exit;
/
-- Moving partitions to tablespace MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_part.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '
||PARTITION_NAME|| ' tablespace MYDB_2006;' from dba_tab_partitions where
table_name='PACKAGES' and tablespace_name='MYDB_TEST';
spool off;
@move_table_part.sql
exit;
/
--Moving subpartitions to MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_subpart.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move subpartition '
||SUBPARTITION_NAME|| ' tablespace MYDB_TEST;' from dba_tab_subpartitions
where table_name='MV_VOLUMES' and tablespace_name='MYDB_2006';
spool off;
@move_table_subpart.sql
exit;
/
--Moving Indexes to MYDB_TEST
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_ind_part.sql
select 'ALTER INDEX '||INDEX_OWNER||'.'||INDEX_NAME|| ' rebuild partition '||PARTITION_NAME ||' TABLESPACE MYDB_TEST;'
from dba_ind_partitions where tablespace_name='MYDB_2006';
spool off;
@move_ind_part.sql
exit;
/
-- Moving LOB-partitions (LOBINDEXES,LOBSEGMENTS) to tablespace MYDB_2006
set head off
set heading off
set pagesize 1000
set linesize 1000
set long 999999999
spool move_table_lob.sql
select 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME|| ' move partition '||PARTITION_NAME|| ' LOB(' ||COLUMN_NAME||')
STORE AS (TABLESPACE MYDB_2006);' from dba_lob_partitions where tablespace_name='MYDB_TEST';
spool off;
@move_table_lob.sql
exit;
/
Monday, May 19, 2008
Тест с добавлением/мультпасингом LUN-ов из HP XP 1024
Исходные данные: сервер HP Proliant DL360 на Linux Centos 4.6 с базой Oracle 10.2.0.3 с ASM, который создан на основе LUN'а из массива HP EVA5000.
Задача: необходимо перевести базу на LUN'ы массива HP XP1024.
Итак, необходимо "увидеть" презентованные из XP1024 луны, настроить для них multipathing при помощи device-mapper'а. Затем данные луны добавить в существующую дисковую группу и в случае успешных тестов вывести старый диск EVA5000 из существующей дисковой группы.
В случае успеха провести данную операцию на боевом сервере.
От 23 мая - к сожалению тест пока завершился неуспешно. Презентованные LUNы видны, но каждый получаемый путь в /dev/mpath содержит отдельный путь к презентованному LUNу. Позже нашел в документе с www.hp.com "Installation and Reference Guide Device Mapper Multipath Enablement Kit for HP StorageWorks Disk Arrays", где для XP1024 было примечание -
*If you useXP128/1024,the system modes 140 and 293 must be switched on,otherwise
the XP does not respond to a SCSI inquiry to code page 0x83 with a unique serial number (scsi_id tool). This prevents the HPDM Multipath from detecting the redundant paths.
Таких режимов 140 и 293 в прошивке нашего XP1024 не оказалось.
Ссылка на документы
Т.о. продолжение тестов отложено до начала июня, когда Д. вернется из штатов с форума HP-шников.
p.s. Спустя 7 часов ближе к концу раб. дня Д. позвонил в Москву в HP и спросил об этих режимах. Там сообщили, что есть такие режимы и что перезвонят через "10 минут".
Задача: необходимо перевести базу на LUN'ы массива HP XP1024.
Итак, необходимо "увидеть" презентованные из XP1024 луны, настроить для них multipathing при помощи device-mapper'а. Затем данные луны добавить в существующую дисковую группу и в случае успешных тестов вывести старый диск EVA5000 из существующей дисковой группы.
В случае успеха провести данную операцию на боевом сервере.
От 23 мая - к сожалению тест пока завершился неуспешно. Презентованные LUNы видны, но каждый получаемый путь в /dev/mpath содержит отдельный путь к презентованному LUNу. Позже нашел в документе с www.hp.com "Installation and Reference Guide Device Mapper Multipath Enablement Kit for HP StorageWorks Disk Arrays", где для XP1024 было примечание -
*If you useXP128/1024,the system modes 140 and 293 must be switched on,otherwise
the XP does not respond to a SCSI inquiry to code page 0x83 with a unique serial number (scsi_id tool). This prevents the HPDM Multipath from detecting the redundant paths.
Таких режимов 140 и 293 в прошивке нашего XP1024 не оказалось.
Ссылка на документы
Т.о. продолжение тестов отложено до начала июня, когда Д. вернется из штатов с форума HP-шников.
p.s. Спустя 7 часов ближе к концу раб. дня Д. позвонил в Москву в HP и спросил об этих режимах. Там сообщили, что есть такие режимы и что перезвонят через "10 минут".
Sunday, May 18, 2008
Сдал на OCA - Oracle 10g Administration I
Вчера, 17 мая 2008, (спустя почти 2 года как решился перевестись на должность DBA с переездом со своей семьей во Владик) сдал свой первый экзамен по Oracle - 1z0-042 - OCA Oracle 10g Administration I. Получил OCA (Oracle Certified Associate), если сдать еще один тест - 1z0-043, то получу OCP (Oracle Certified Professional) ..... Так-то какая-никакая черта под идею стать DBA-йщиком подведена и я немного рад. Хотя понимаю, что это на самом деле мало что значит, это лишь "бумажка" да и у нас в отделе это не определяет истинную квалификацию и далеко не всегда OCP-шники воспринимаются всерьез :) Согласен с ними - тем более, что они сильные и нах им эти экзамены не сдались :) А я решил иметь бумажки на случай смены работы :) Смены работы не только в ближайшее время, а вообще на будущее - в подтверждение опыта работы с Oracle на основе времени с момента получения статусов OCA, OCP.
Так что хорошо бы в ближайшее время поднапрячься и сдать 1z0-043 и получив OCP cразу написать письмо Марие о получении статуса OCP, чтобы обновили CV. Думаю, они могут это учесть как положительный фактор и им было бы полегче придумывать должность и круг обязанностей :) Видно будет...
Так что хорошо бы в ближайшее время поднапрячься и сдать 1z0-043 и получив OCP cразу написать письмо Марие о получении статуса OCP, чтобы обновили CV. Думаю, они могут это учесть как положительный фактор и им было бы полегче придумывать должность и круг обязанностей :) Видно будет...
Saturday, May 17, 2008
По переводу ASM с EVA5000 на XP1024
Сегодня, в субботу, в 10.40 час. позвонил Д.(человек круглосуточно болеет за дело и обдумывает его), спросил как вчера прошли работы (я вчера вечером просто срестартил одну базу по ченджу) и попросил пока не ставить restore базы ITC в тестовую, т.к. там какие-то проблемы еще с DataProtector. Я сказал, что Restore запустил вчера вечером и еще не прилетало сообщения ни об ошибке ни об успехе. Д. предположил, что ресторинг заклинило на mount request (позже в понедельник М.С. сказал, что так и было - были mount request'ы, которые ему приходилось проталкивать вручную все выходные).
Затем Д. озвучил в своем стиле то ради чего и звонил - просьбу-задачку провести тесты с настройкой Multipathing'а для дисков массива XP1024 на тестовой машине, на которой я месяцев сколько-то назад настроил его для дисков EVA5000 по подобию боевого сервера.
Т.е. нужно сделать Multipathing на оба массива как на EVA так и на XP, протестировать failover, "выдернув шнурочек" и на основе тестов разработать план перевода ASM боевого ITC c EVA5000 на XP1024.
Утилиту xpinfo, которая отображает всю информацию по презентованным хосту дискам, Д. положил в хоум рута.
Думаю, очень интересная задачка, и с понедельника начнем.
Затем Д. озвучил в своем стиле то ради чего и звонил - просьбу-задачку провести тесты с настройкой Multipathing'а для дисков массива XP1024 на тестовой машине, на которой я месяцев сколько-то назад настроил его для дисков EVA5000 по подобию боевого сервера.
Т.е. нужно сделать Multipathing на оба массива как на EVA так и на XP, протестировать failover, "выдернув шнурочек" и на основе тестов разработать план перевода ASM боевого ITC c EVA5000 на XP1024.
Утилиту xpinfo, которая отображает всю информацию по презентованным хосту дискам, Д. положил в хоум рута.
Думаю, очень интересная задачка, и с понедельника начнем.
Tuesday, April 15, 2008
the X11 forwarding request was rejected!
При попытке запустить XManager'ом Х-ы на Линухе
ошибка "the X11 forwarding request was rejected!..."
Добавить в /etc/ssh/sshd_config
X11Forwarding yes
и рестартовать процесс sshd
ошибка "the X11 forwarding request was rejected!..."
Добавить в /etc/ssh/sshd_config
X11Forwarding yes
и рестартовать процесс sshd
Monday, April 14, 2008
check RMAN-processes
Сегодня с утра одна из баз (10.2.0.3, HP-UX 11.11) оказалась остановленной. При попытке стартовать базу вылетели ошибки о нехватке места. df -k показал, что место в разделе /oracle, где лежит ORACLE_HOME было забито. Очень странно, при размере разделе в 10Гб и размере ORACLE_HOME до 4Гб. Я начал судорожно искать куда делось место через "du -k" по поддиректориям. Не найдя никаких новых файлов, заметил вчерашние нулевые логи бакапов архивлогов и один лог на текущее время. Просмотрел его через tail -f - лог постоянно пополнялся ошибками.
Посмотрел процессы rman - висело 2 процесса rman со вчерашнего вечера.
Убил их ... и место освободилось, почти 4Гб.
Т.е. какой-то процесс rman занимал все доступное место в разделе - очень странно.
Но надо иметь ввиду - либо отстреливать зависшие RMAN-процессы, либо надо переписать скрипты так чтобы логи падали в другой раздел. Возможно это поможет в таких случаях.
Посмотрел процессы rman - висело 2 процесса rman со вчерашнего вечера.
Убил их ... и место освободилось, почти 4Гб.
Т.е. какой-то процесс rman занимал все доступное место в разделе - очень странно.
Но надо иметь ввиду - либо отстреливать зависшие RMAN-процессы, либо надо переписать скрипты так чтобы логи падали в другой раздел. Возможно это поможет в таких случаях.
Thursday, March 13, 2008
В alert.log сыпятся SUCCESS: diskgroup DGROUP1 was dismounted ...
См. Note:361173.1 Asm Diskgroup success Mount And Umount messages in alert.log during Rman Backup
--------
Alert.log shows the following messages during a rman backup:
SUCCESS: diskgroup LOG was mounted
SUCCESS: diskgroup LOG was dismounted
SUCCESS: diskgroup LOG was mounted
SUCCESS: diskgroup LOG was dismounted
Solution
Intended behavior. No solution required.
--------
Alert.log shows the following messages during a rman backup:
SUCCESS: diskgroup LOG was mounted
SUCCESS: diskgroup LOG was dismounted
SUCCESS: diskgroup LOG was mounted
SUCCESS: diskgroup LOG was dismounted
Solution
Intended behavior. No solution required.
Wednesday, March 12, 2008
Archival Error и ORA-07445: exception encountered: core dump ....
Сегодня позвонили и пожаловались, что в одной из баз время от времени выполнение процедур заканчивается ошибкой Archival Error....
Посмотрел alert.log - ошибка Archival Error и в последних двух логах бэкапа ошибка
ORA-09817: Write to audit file failed.
SVR4 Error: 28: No space left on device
Дабы быстрее разрешить проблему я освободил место в разделе удалением устаревших архивов, освободив 1 Гб.
К этому моменту пришел Г. , задал вопрос "кто сожрал 34 гига?" и взялся за проблему. Сначала обнаружил, что освобожденное мною место в 1Гб было уже сожрано и что в cdump куча корок, которые практически и забили все дисковое пространство. Нужно смотреть alert.log.
В нем было обнаружено куча "ORA-07445: exception encountered: core dump" со ссылкой на трейсы. Г. изучил и заключил, что проблема в мат.представлениях, структура которых неправильна, о чем известил программеров.
Я сравнил время появления алертов в алерт.логе со временем вчерашнего апгрейда одной из баз, с которой взаимодействует проблемная база. Время примерно совпало.
Опыт: после всяческих апгрейдов следи за alert.log и cdump
Посмотрел alert.log - ошибка Archival Error и в последних двух логах бэкапа ошибка
ORA-09817: Write to audit file failed.
SVR4 Error: 28: No space left on device
Дабы быстрее разрешить проблему я освободил место в разделе удалением устаревших архивов, освободив 1 Гб.
К этому моменту пришел Г. , задал вопрос "кто сожрал 34 гига?" и взялся за проблему. Сначала обнаружил, что освобожденное мною место в 1Гб было уже сожрано и что в cdump куча корок, которые практически и забили все дисковое пространство. Нужно смотреть alert.log.
В нем было обнаружено куча "ORA-07445: exception encountered: core dump" со ссылкой на трейсы. Г. изучил и заключил, что проблема в мат.представлениях, структура которых неправильна, о чем известил программеров.
Я сравнил время появления алертов в алерт.логе со временем вчерашнего апгрейда одной из баз, с которой взаимодействует проблемная база. Время примерно совпало.
Опыт: после всяческих апгрейдов следи за alert.log и cdump
Friday, March 07, 2008
установка Cerberus Helpdesk 4.0
Установку делал в соответствии с http://wiki.cerberusdemo.com/index.php/Installing_4.0
Скачал cerb4-servercheck.php.txt, переименовал и расположил его на сайте.
Обратился к файлу через веб и получил сообщение об отсутствии модуля MailParse и нехватку в php.ini опции upload_tmp_dir. Прописал в своем /usr/local/etc/php.ini и указал на директории upload внутри директории, заготовленной для будущего веб-сайта cerberus.
Установил MailParse по ссылке http://www.cerb4.com/forums/showthread.php?t=40 и получил
"Cerberus Helpdesk 4.0 - Server Environment Checker
Your server is Cerberus Helpdesk 4.0 compatible!"
По MailParse также есть http://wiki.cerberusdemo.com/index.php/Installing_PHP_Mailparse
Скачал cerb4-servercheck.php.txt, переименовал и расположил его на сайте.
Обратился к файлу через веб и получил сообщение об отсутствии модуля MailParse и нехватку в php.ini опции upload_tmp_dir. Прописал в своем /usr/local/etc/php.ini и указал на директории upload внутри директории, заготовленной для будущего веб-сайта cerberus.
Установил MailParse по ссылке http://www.cerb4.com/forums/showthread.php?t=40 и получил
"Cerberus Helpdesk 4.0 - Server Environment Checker
Your server is Cerberus Helpdesk 4.0 compatible!"
По MailParse также есть http://wiki.cerberusdemo.com/index.php/Installing_PHP_Mailparse
Thursday, February 14, 2008
SNMP - закрытие доступа к public на Solaris 10
В отчете XSpider'а своего сервера под Solaris 10 имеется "некритичная уязвимость" c рекомендацией "Закрыть доступ к учетной записи public в snmp."
Сегодня все же решил заняться ею. Делаем проверку при помощи snmpget:
- Получить описание системы c localhost
# snmpget -v 2c -c public localhost system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: SunOS my_server_name 5.10 Generic_118822-25 sun4u
- Узнать когда SNMP-агент был инициирован последний раз
# snmpget -v 2c -c public localhost system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (146645223) 16 days, 23:20:52.23
Установил коммент в /etc/snmp/conf/snmpd.conf у строчки #system-group-read-community public
и рестартовал сервис snmp
# /etc/rc3.d/S76snmpdx stop
# /etc/rc3.d/S76snmpdx start
И повторяем проверку - ответы такие же .... хм....
Ну да , все правильно, ведь проверку делаю с localhost, а нужно со стороны ... Поэтому устанавливаю net-snmp на другой хост с Linux.
[root@centest RPMS]# rpm -Uvh lm_sensors-2.8.7-2.40.5.i386.rpm
warning: lm_sensors-2.8.7-2.40.5.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:lm_sensors ########################################### [100%]
[root@centest RPMS]# rpm -Uvh lm_sensors-devel-2.8.7-2.40.5.i386.rpm
warning: lm_sensors-devel-2.8.7-2.40.5.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:lm_sensors-devel ########################################### [100%]
[root@centest RPMS]# rpm -Uvh net-snmp-5.1.2-11.EL4.11.i386.rpm
warning: net-snmp-5.1.2-11.EL4.11.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:net-snmp ########################################### [100%]
[root@centest RPMS]# rpm -Uvh net-snmp-utils-5.1.2-11.EL4.11.i386.rpm
warning: net-snmp-utils-5.1.2-11.EL4.11.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:net-snmp-utils ########################################### [100%]
Стартовал демон snmp
[root@centest init.d]# /etc/init.d/snmpd start
Starting snmpd: [ OK ]
Проверил доступ к проблемному серверу - он есть
[root@centest init.d]# snmpget -v 2c -c public my_server_name system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3715) 0:00:37.15
Итак, public все еще открыт .... из man snmpd.conf узнаю о файлике /etc/sma/snmp/snmpd.conf, в котором в строке rocommunity public добавляю 127.0.0.1 так, что стало
rocommunity public 127.0.0.1
Т.е. определил доступ к public только лишь с localhost
Рестартовал сервисы и проверил.
с localhost:
# snmpget -v 2c -c public localhost system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (53857) 0:08:58.57
с Linux-хоста
[root@centest init.d]# snmpget -v 2c -c public my_server_name system.sysUpTime.0
Timeout: No Response from my_server_name.
Т.о., в Solaris 'read only'-доступ к community public устанавливается в файлике /etc/sma/snmp/snmpd.conf
Теперь, думаю, XSpider успокоится.
Ссылки по теме:
http://www.net-snmp.org/wiki/index.php/Tutorials
Сегодня все же решил заняться ею. Делаем проверку при помощи snmpget:
- Получить описание системы c localhost
# snmpget -v 2c -c public localhost system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: SunOS my_server_name 5.10 Generic_118822-25 sun4u
- Узнать когда SNMP-агент был инициирован последний раз
# snmpget -v 2c -c public localhost system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (146645223) 16 days, 23:20:52.23
Установил коммент в /etc/snmp/conf/snmpd.conf у строчки #system-group-read-community public
и рестартовал сервис snmp
# /etc/rc3.d/S76snmpdx stop
# /etc/rc3.d/S76snmpdx start
И повторяем проверку - ответы такие же .... хм....
Ну да , все правильно, ведь проверку делаю с localhost, а нужно со стороны ... Поэтому устанавливаю net-snmp на другой хост с Linux.
[root@centest RPMS]# rpm -Uvh lm_sensors-2.8.7-2.40.5.i386.rpm
warning: lm_sensors-2.8.7-2.40.5.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:lm_sensors ########################################### [100%]
[root@centest RPMS]# rpm -Uvh lm_sensors-devel-2.8.7-2.40.5.i386.rpm
warning: lm_sensors-devel-2.8.7-2.40.5.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:lm_sensors-devel ########################################### [100%]
[root@centest RPMS]# rpm -Uvh net-snmp-5.1.2-11.EL4.11.i386.rpm
warning: net-snmp-5.1.2-11.EL4.11.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:net-snmp ########################################### [100%]
[root@centest RPMS]# rpm -Uvh net-snmp-utils-5.1.2-11.EL4.11.i386.rpm
warning: net-snmp-utils-5.1.2-11.EL4.11.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing... ########################################### [100%]
1:net-snmp-utils ########################################### [100%]
Стартовал демон snmp
[root@centest init.d]# /etc/init.d/snmpd start
Starting snmpd: [ OK ]
Проверил доступ к проблемному серверу - он есть
[root@centest init.d]# snmpget -v 2c -c public my_server_name system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3715) 0:00:37.15
Итак, public все еще открыт .... из man snmpd.conf узнаю о файлике /etc/sma/snmp/snmpd.conf, в котором в строке rocommunity public добавляю 127.0.0.1 так, что стало
rocommunity public 127.0.0.1
Т.е. определил доступ к public только лишь с localhost
Рестартовал сервисы и проверил.
с localhost:
# snmpget -v 2c -c public localhost system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (53857) 0:08:58.57
с Linux-хоста
[root@centest init.d]# snmpget -v 2c -c public my_server_name system.sysUpTime.0
Timeout: No Response from my_server_name.
Т.о., в Solaris 'read only'-доступ к community public устанавливается в файлике /etc/sma/snmp/snmpd.conf
Теперь, думаю, XSpider успокоится.
Ссылки по теме:
http://www.net-snmp.org/wiki/index.php/Tutorials
Friday, February 08, 2008
IPMI Service Processor
Сегодня впервые столкнулся с IPMI Service Processor. После отправки сервера SUN ... под Linux Centos 4.1 64bit в ребут не дождался его старта. Нужно было лезть на него консольно.
Погуглив, помогла страничка http://docs.sun.com/source/817-5249-17/appendixF.html#pgfId-1002294
После входа в консоль сначала пришлось выключить сервак по питанию, а затем включить след.образом:
login as: admin
admin@10.27.45.13's password:
Sun Microsystems
IPMI v2.0 Service Processor
Version: V2.2.0.20
localhost $ platform set power state -W -f off
Scheduled platform off
localhost $ platform set os state boot -W -f
localhost $ platform get os state
BIOS booting
localhost $ platform get os state
OS booting
localhost $ platform get os state
OS booting
--
Через некоторое время появился ping до сервака и я облегченно вздохнул .... сервак-то в другом городе и время уже 22 часа.
IPMI - такого зверя я и не знал...
Погуглив, помогла страничка http://docs.sun.com/source/817-5249-17/appendixF.html#pgfId-1002294
После входа в консоль сначала пришлось выключить сервак по питанию, а затем включить след.образом:
login as: admin
admin@10.27.45.13's password:
Sun Microsystems
IPMI v2.0 Service Processor
Version: V2.2.0.20
localhost $ platform set power state -W -f off
Scheduled platform off
localhost $ platform set os state boot -W -f
localhost $ platform get os state
BIOS booting
localhost $ platform get os state
OS booting
localhost $ platform get os state
OS booting
--
Через некоторое время появился ping до сервака и я облегченно вздохнул .... сервак-то в другом городе и время уже 22 часа.
IPMI - такого зверя я и не знал...
Wednesday, January 30, 2008
Примеры чекеров, скриптов sh
# Чекает не висит ли процесс rman-а больше суток
#!/bin/sh
PATH=/bin
LD=`(date --date='2 days ago' '+%b%d')`
RCPNTP=me@email
HOST=`uname -n`
if
ps -ef|grep -i $LD |grep rman
#if [ $? != 0 ];
then
echo "rman 2 days ago down on "$HOST|mailx -s "rman 2 days ago down on "$HOST ${RCPNTP} < /dev/null fi
##################
Чекает доступность по пингу хоста $HOST
#!/bin/sh
HOST=имя_сервера_который_чекаем
RCPNT=me@email ping -c 2 10.25.40.5 >/dev/null 2>&1
if [ $? -ne 0 ]; then
mail -s 'Alarm!!! Server is down. Check '$HOST $RCPNT < /dev/null
fi
#################
# Бэкапит файлы *jak* из директории /usr/local/BackUp по дням недели, удаляя устаревшие бэкапы
#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
BKPDIR=/usr/local/BackUp
TODAY=`date +'%a'`
TOMCAT=/usr/local/jakarta-tomcat-4.1.18
cd $TOMCAT
BKPFILES=`ls`
tar zcf $BKPDIR/$TODAY-jak.tar.gz $BKPFILES
find $BKPDIR/ -type f -name '*jak*' -mtime +2 -exec rm "{}" ";"
#!/bin/sh
PATH=/bin
LD=`(date --date='2 days ago' '+%b%d')`
RCPNTP=me@email
HOST=`uname -n`
if
ps -ef|grep -i $LD |grep rman
#if [ $? != 0 ];
then
echo "rman 2 days ago down on "$HOST|mailx -s "rman 2 days ago down on "$HOST ${RCPNTP} < /dev/null fi
##################
Чекает доступность по пингу хоста $HOST
#!/bin/sh
HOST=имя_сервера_который_чекаем
RCPNT=me@email ping -c 2 10.25.40.5 >/dev/null 2>&1
if [ $? -ne 0 ]; then
mail -s 'Alarm!!! Server is down. Check '$HOST $RCPNT < /dev/null
fi
#################
# Бэкапит файлы *jak* из директории /usr/local/BackUp по дням недели, удаляя устаревшие бэкапы
#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
BKPDIR=/usr/local/BackUp
TODAY=`date +'%a'`
TOMCAT=/usr/local/jakarta-tomcat-4.1.18
cd $TOMCAT
BKPFILES=`ls`
tar zcf $BKPDIR/$TODAY-jak.tar.gz $BKPFILES
find $BKPDIR/ -type f -name '*jak*' -mtime +2 -exec rm "{}" ";"
Wednesday, January 23, 2008
Physical Memory in HP-UX
Как определить размер физической памяти в HP-UX
1) Способ, не везде срабатывающий
# dmesg |grep Physical
2) Сработал на разных платформах
# /opt/ignite/bin/print_manifest |grep -i memory
1) Способ, не везде срабатывающий
# dmesg |grep Physical
2) Сработал на разных платформах
# /opt/ignite/bin/print_manifest |grep -i memory
Monday, January 21, 2008
Bonding и отключение поддержки IPv6 (sit0) в Centos 4.6
Только что на тестовом серваке Proliant DL360 G4 c двумя оптическими карточками QLA2340 (которые предварительно перепрошил до firmware ver.1.54, скачанным с здесь) с Centos 4.6 на базе двух карточек Broadcom Corporation NetXtreme BCM5704 Gigabit Ehernet (Tigon3 chip) поднял bonding как описано в How can I bond multiple network interfaces (bonding) together into a single channel in Red Hat Enterprise Linux 4?
И тупо проверил выдергиванием кабелей по очереди - все работает.
Сообщил сетевикам, они настроили team на коммутаторах, но пожаловались на то, что с их стороны виден лишний MAC-адрес.
Действительно, в выводе # ifconfig -a маячит интерфейс "sit0 Link encap:IPv6-in-IPv4", который они и попросили убрать.
Очевидно поддержка IPv6 включена по дефолту в ядро 2.6.xxx
Для отключения IPv6 добавил в /etc/modprobe.conf
alias net-pf-10 off
alias ipv6 off
и перегрузился, после чего sit0 исчез из системы.
p.s. прикол в том, что на других боевых системах с Centos sit0 также присутствует :)
И тупо проверил выдергиванием кабелей по очереди - все работает.
Сообщил сетевикам, они настроили team на коммутаторах, но пожаловались на то, что с их стороны виден лишний MAC-адрес.
Действительно, в выводе # ifconfig -a маячит интерфейс "sit0 Link encap:IPv6-in-IPv4", который они и попросили убрать.
Очевидно поддержка IPv6 включена по дефолту в ядро 2.6.xxx
Для отключения IPv6 добавил в /etc/modprobe.conf
alias net-pf-10 off
alias ipv6 off
и перегрузился, после чего sit0 исчез из системы.
p.s. прикол в том, что на других боевых системах с Centos sit0 также присутствует :)
Thursday, January 17, 2008
Копирование пользователей с их правами
Здесь и здесь решение задачки переноса юзеров с их грантами из боевой в тестовую БД
set head off
set pages 0
set long 9999999
spool user_script.sql
SELECT DBMS_METADATA.GET_DDL('USER', USERNAME) || '/' DDL
FROM DBA_USERS
UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', USERNAME) || '/' DDL
FROM DBA_USERS
UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', USERNAME) || '/' DDL
FROM DBA_USERS
UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', USERNAME) || '/' DDL
FROM DBA_USERS;
spool off;
Wednesday, January 16, 2008
dbid в шаблоне %F
При восстановлении базы RMAN-ом необходимо установить DBID командой set dbid .
Дабы не искать его в логах лучше пользоваться шаблоном %F - при создании backup_set это первая последовательность цифр в имени файла при использовании шаблона %F - например,
configure controlfile autobackup format for device type disk to '/orabackup/rman2disk/back1_ctl_%F';
Дабы не искать его в логах лучше пользоваться шаблоном %F - при создании backup_set это первая последовательность цифр в имени файла при использовании шаблона %F - например,
configure controlfile autobackup format for device type disk to '/orabackup/rman2disk/back1_ctl_%F';
Friday, December 21, 2007
Грабелька с OVO-мониторингом баз Oracle (на Linux-ах)
Суть проблемы изложена в вопросе в форуме hp itrc.
Hi
We have the following situation. After a colleque of us restored partially a backup ( core dump happended) ORACLE is behaving somehow strange :
Logon to ORACLE using sqlplus works fine
Using the application that is normally used with the db alos works fine.
If the application tries to logon to ORACLE using programmatic access does not work at all .We always get the ORA-12546 error
We cannot fin whats wrong.
Has anyone a idea where we should search
Ответ оказался:
Make sure the permission on the oracle execuatble is correct. The oracle executable permission should be:
52224 -rwsr-sr-x 1 oracle dba 53431665 Aug 10 11:07 oracle
Explanation:
The error, ora-12546, occurs due to an incorrect setting on the oracle executable.
Hi
We have the following situation. After a colleque of us restored partially a backup ( core dump happended) ORACLE is behaving somehow strange :
Logon to ORACLE using sqlplus works fine
Using the application that is normally used with the db alos works fine.
If the application tries to logon to ORACLE using programmatic access does not work at all .We always get the ORA-12546 error
We cannot fin whats wrong.
Has anyone a idea where we should search
Ответ оказался:
Make sure the permission on the oracle execuatble is correct. The oracle executable permission should be:
52224 -rwsr-sr-x 1 oracle dba 53431665 Aug 10 11:07 oracle
Explanation:
The error, ora-12546, occurs due to an incorrect setting on the oracle executable.
По AWR
-- Просмотреть все снимки, хранящиеся в репозитарии
select * from sys.wrm$_snapshot;
-- Просмотреть текущие настройки AWR
select * from dba_hist_wr_control;
-- Задать новые настройки AWR
begin
dbms_workload_repository.modify_snapshot_settings(
interval=>15,
retention=>10080);
end;
--Просмотреть представления с данными AWR
SELECT table_name, comments FROM dict WHERE table_name
LIKE 'DBA_HIST%'
order by 1;
-- Удалить AWR снапшоты (на примере ниже размер БД уменьшается с 10 до 3Гб)
select * from sys.wrm$_snapshot;
-- Просмотреть текущие настройки AWR
select * from dba_hist_wr_control;
-- Задать новые настройки AWR
begin
dbms_workload_repository.modify_snapshot_settings(
interval=>15,
retention=>10080);
end;
--Просмотреть представления с данными AWR
SELECT table_name, comments FROM dict WHERE table_name
LIKE 'DBA_HIST%'
order by 1;
-- Удалить AWR снапшоты (на примере ниже размер БД уменьшается с 10 до 3Гб)
SQL> select
sum(bytes)/1024/1024/1024 from dba_segments;
SUM(BYTES)/1024/1024/1024
-------------------------
10.2251587
SQL> select dbid,
retention from dba_hist_wr_control;
DBID RETENTION
----------
---------------------------------------------------------------------------
2822602820 +00008
00:00:00.0
SQL> select
min(snap_id), max(snap_id) from dba_hist_snapshot;
MIN(SNAP_ID)
MAX(SNAP_ID)
------------
------------
21234 21405
SQL> exec
dbms_workload_repository.drop_snapshot_range(21234,21405);
PL/SQL procedure
successfully completed.
SQL> select
sum(bytes)/1024/1024/1024 from dba_segments;
SUM(BYTES)/1024/1024/1024
-------------------------
3.08276367
define(`SMART_HOST',`smtp.provider.com')
After installing new Linux-server with Oracle etc. for successful mailing don't remember about adding feature "define(`SMART_HOST',`smtp.provider.com')" into your sendmail.mc
And after do
# cd /etc/mail
# make
# killall -1 sendmail
# echo test|mail me@mydomain.com
And after do
# cd /etc/mail
# make
# killall -1 sendmail
# echo test|mail me@mydomain.com
Subscribe to:
Posts (Atom)