CITKIT.ru
3 терабайта свободного софта!
Logo    
IT-рынок Новости мира IT Океан(!) софта на CITKIT.ru Форумы Поступления в библиотеку Учебный центр Курилка
CitForum    CITForum на CD Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование Open Source СУБД Безопасность Internet Сети Операционные системы Hardware

23.05.2005

Google
WWW CITForum.ru

Новости мира IT:

  • 11.05 - Intel создает свою группу по Open Source
  • 11.05 - Банк контролирует использование USB устройств при помощи DeviceLock
  • 11.05 - Microsoft устранила опасную дыру в Windows
  • 11.05 - "Корпорация ОСС" создает антимонопольный альянс операторов IP-телефонии
  • 11.05 - В Mac OS X найдены множественные уязвимости
  • 11.05 - "Билайн" запускает услугу "Мобильная почта"
  • 11.05 - Две критические уязвимости в браузере Firefox 1.0.3
  • 11.05 - IBM покупает начинающую Open Source-компанию Gluecode
  • 11.05 - Microsoft готова к битве с Open Source за школы
  • 11.05 - Sun завершит "открытие" Solaris в ближайшие 45 дней
  • 11.05 - Создатели браузера Firefox выпускают юбилейные монеты в честь 50 миллионов скачанных копий
  • 11.05 - Вышла пятая версия мобильной ОС от Microsoft
  • 11.05 - Поисковые движки умнеют быстрее, чем люди
  • 11.05 - Фишеры постоянно совершенствуются
  • 11.05 - Специалисты прогнозируют появление аналога Google Adsense от "Яндекс"
  • 06.05 - ICANN озаботилась проблемой торговых марок
  • 06.05 - Google патентует сортировку новостей
  • 06.05 - Intel готовит двуядерные процессоры второго поколения
  • 06.05 - Schoolforge-UK и OSC продвигают Open Source в школы
  • 06.05 - Новая версия рекламной программы подстрекает пользователей купить ПО для своего лечения
  • 06.05 - Microsoft продает ряд своих закрытых разработок
  • 06.05 - Google Labs анонсировал ускоритель интернета
  • 06.05 - Microsoft подвешивает пиратам "морковку"
  • 06.05 - В США входят в обиход "интеллектуальные" тележки для супермаркетов
  • 06.05 - Microsoft работает над аналогом PDF
  • 05.05 - Yahoo video search теперь доступен массам
  • 05.05 - Алмазы помогут бороться с хакерами
  • 05.05 - Интернет-охоту хотят запретить
  • 05.05 - Microsoft привлекает блоггеров для теста Longhorn
  • 05.05 - Основатель Red Hat предложил Стиву Джобсу помощь в решении проблемы с торговой маркой
  • 05.05 - Компьютерная система оргкомитета Кубка мира по футболу 2006 года пострадала от червя Sober
  • 04.05 - Cisco Systems представила многофункциональный продукт Adaptive Security Appliance 5500
  • 04.05 - Администрация Евросоюза поддержала идею всеевропейской интернет-библиотеки
  • 04.05 - Компьютерный вирус дарит билеты на чемпионат мира по футболу
  • 04.05 - Лаборатория Касперского: Обзор вирусной активности - апрель 2005
  • 04.05 - Microsoft хочет отсудить у россиянина два домена
  • 04.05 - Сделка между Lenovo и IBM завершена
  • 04.05 - Эпидемия червя Sober.p зафиксирована в Западной Европе
  • 04.05 - Panda Software публикует отчет о вирусной активности за апрель
  • 03.05 - Институт SANS обновил список наиболее опасных уязвимостей

    Архив новостей >>>


  • Административные файлы ISM

    Итак, напомню, резервная копия DB-пространств и журналов, созданная с помощью onbar и ISM, у нас есть (в статье "Настройка диспетчера хранения данных ISM" мы создали ее на диске, в каталогах c:\tmp\bardata и c:\tmp\barlog.). Более того, оказалось, что, при наличии всех необходимых административных файлов, мы действительно смогли легко восстановить все данные сервера.

    Речь шла, в частности, о следующих файлах, так или иначе связанных с диспетчером хранения данных ISM (но не только о них):

    • Файл ixbar.номер_экземпляра в каталоге %INFORMIXDIR%\etc.
    • Файл oncfg_имя_сервера.номер_экземпляра.
    • Файлы конфигурации и данных диспетчера хранения данных - содержимое каталогов %ISMDIR%\index, %ISMDIR%\mm и %ISMDIR%\res.

    Я надеюсь, вы не забываете их копировать, как минимум, после каждого успешного архивирования данных. Тем не менее, и эти копии могут оказаться поврежденными, утерянными, неактуальными и т.п. Можно ли без них обойтись, и, если да, то как? Вот этим проблемам и посвящена данная статья.

    Нужна ли реально копия файла ixbar?

    Давайте сначала рассмотрим содержимое файла ixbar.0. У меня после выполненной ранее единственной попытки резервного копирования оно оказалось таким:

    
    ol_creator rootdbs R  1 1     0 1099       0
      2004-04-21 16:39:12 1     17    215072      1     0     - -
    ol_creator sbspace ND 1 1     0 1100       0
      2004-04-21 16:39:12 1     17    215072      1     0     - -
    ol_creator workdbs ND 1 1     0 1101       0        
      2004-04-21 16:39:12 1     17    215072      1     0     - -
    ol_creator 17      L  0 2     0 1102       0        
      2004-04-21 16:39:23 1     0     0           2     0     - -
    ol_creator 18      L  0 3     0 1105       0        
      2004-04-21 16:48:14 1     0     0           3     0     - -
    ol_creator 19      L  0 4     0 1107       0        
      2004-04-21 16:48:46 1     0     0           4     0     - -
    

    Можно обратиться к документации, но и так видно, каждая строка этого текстового файла содержит информацию об одном наборе хранения, созданном с помощью утилиты onbar. У нас есть резервные копии всех пространств и резервные копии трех журналов с uniqid 17, 18 и 19. По идее, эта информация доступна в базе данных sysutils, содержащейся в DB-пространстве rootdbs. Может, утилита onbar сможет ее вытащить оттуда? А еще ведь есть административные файлы ISM, и там эти выделенные номера наборов хранения тоже мелькали...

    Чтобы развеять сомнения, как писал видный деятель современной украинской культуры Лесь Подервьянский, - "поставимо дослiд", т.е. поэкспериментируем... Как и раньше, при выключенном сервере удалим все чанки и файл ixbar.0 из каталога %INFORMIXDIR%\etc:

    C:\IFMXDATA>cd ol_creator
    C:\IFMXDATA\ol_creator>del *.* /q
    C:\IFMXDATA\ol_creator>cd %INFORMIXDIR%\etc
    C:\Informix\etc>del ixbar.0
    

    Понятно, что без чанков сервер не заработает, поэтому запускаем службы ISM (если они не запущены; проверить можно, например, с помощью команды net start) и проверяем состояние устройств резервного копирования:

    C:\Informix\etc>set ISMDIR=c:\ISM\2.20
    
    C:\Informix\etc>set PATH=%PATH%;%ISMDIR%\bin
    
    C:\Informix\etc>net start "ISM Local Execution"
    Служба "ISM Local Execution" запускается.
    Служба "ISM Local Execution" успешно запущена.
    
    C:\Informix\etc>net start "ISM Portmapper"
    Служба "ISM Portmapper" запускается.
    Служба "ISM Portmapper" успешно запущена.
    
    C:\Informix\etc>net start "ISM Server"
    Служба "ISM Server" запускается......
    Служба "ISM Server" успешно запущена.
    
    C:\Informix\etc>ism_show -devices
    (nothing) mounted on 4mm tape \\.\Tape0
    file disk Data1 mounted on c:\tmp\bardata, write enabled
    file disk Logs1 mounted on c:\tmp\barlog, write enabled
    
    C:\Informix\etc>ism_show -volumes
       volume   pool           flags written (%) expires
       Data1    ISMDiskData           16 MB 100% 04/21/06
       Logs1    ISMDiskLogs          192 KB 100% 04/21/06
    

    Итак, службы ISM запущены, устройства сконфигурированы и доступны, носители обнаружены и содержат данные... Давайте восстанавливать:

    C:\Informix\etc>onbar -r -w -O
    

    Команда некоторое время поработала, но чанки не появились... Плохо дело. В журнале сообщений утилиты onbar (по умолчанию у меня это %INFORMIXDIR%\bar_ol_creator.log) читаем следующее:

     2004-06-24 12:00:37 4020  4020 C:\Informix\bin\onbar_d -r 
    -w -O
     2004-06-24 12:00:37 4020  4020 Open or close failed on file
    'C:\Informix\etc\ixbar.0', errno = 2 No such file or directory
     2004-06-24 12:02:04 4020  4020 C:\Informix\bin\onbar_d 
    complete, returning 100 (0x64)
    

    Итак, без этого файла не работает сам onbar. Так, может, создать ему формально этот файл?

    C:\Informix\etc>copy nul %INFORMIXDIR%\etc\ixbar.0
    C:\Informix\etc>onbar -r -w -O
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    C:\Informix\etc>onstat -
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    
    C:\Informix\etc>onstat -m
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    
    Message Log File: C:\Informix\ol_creator.log
    
    11:11:05  Physical Recovery Started at Page(1:354).
    11:11:20  Physical Recovery Complete: 0 Pages Examined 0
     Pages Restored.
    
    11:11:20  Logical Recovery Started.
    11:11:20  10 recovery worker threads will be started.
    11:11:20  Dynamically allocated new virtual shared memory
     segment (size 8192KB)
    11:11:23  Logical Recovery has reached the transaction
     cleanup phase.
    11:11:23  Logical Recovery Complete.
              0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
    
    11:11:24  Dataskip is now OFF for all dbspaces
    11:11:24  Checkpoint Completed:  duration was 0 seconds.
    11:11:24  Checkpoint loguniq 20, logpos 0x48018
    
    11:11:24  Maximum server connections 0
    11:11:24  Init operation complete - Mode Online
    11:11:24  On-Line Mode
    11:27:40  Informix Dynamic Server Stopped.
    

    Вот оно как... Сервер восстановился, запустился в режим On-Line (этот результат, кстати, потом повторить не удалось, так что, я склонен считать его случайным сбоем...), а затем был остановлен. Чанки, вроде, создавались. Посмотрим:

    C:\Informix\etc>dir c:\IFMXDATA\ol_creator
    ...
    
     Содержимое папки c:\IFMXDATA\ol_creator
    
    24.06.2004  12:48    <DIR>          .
    24.06.2004  12:48    <DIR>          ..
    24.06.2004  12:48        52 428 800 rootdbs_dat.000
    24.06.2004  12:48        51 200 000 sbspace_dat.000
    24.06.2004  12:49       102 400 000 workdbs_dat.000
                   3 файлов    206 028 800 байт
                   2 папок   1 986 048 000 байт свободно
    

    Пробуем запустить:

    C:\Informix\etc>starts ol_creator
    
    C:\Informix\etc>onstat -
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    
    C:\Informix\etc>onstat -m
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    
    Message Log File: C:\Informix\ol_creator.log
    13:05:05  Loading Module <BUILTINNULL>
    13:05:10  Informix Dynamic Server Version 9.30.TC2
         Software Serial Number AAC#J415297
    13:05:11  Assert Failed: chunk failed sanity check
    
    13:05:11  Informix Dynamic Server Version 9.30.TC2
    13:05:11   Who: Session(1, informix@creator, 0, 0)
                    Thread(6, main_loop(), 0, 1)
                    File: rspartn.c Line: 7456
    13:05:11   Results: Chunk 1 is being taken OFFLINE.
    13:05:11   Action: Restore chunk from archive.
    13:05:11  stack trace for pid 4020 written to
     C:\tmp\af.3eea757
    13:05:26   See Also: C:\tmp\af.3eea757
    13:05:29  Releasing server from system block
    13:05:40  chunk failed sanity check
    
    13:05:41  chunk failed sanity check
    
    13:05:42  I/O error, Primary Chunk
     'C:\IFMXDATA\ol_creator\rootdbs_dat.000' -- Offline (sanity)
    13:05:42  Informix Dynamic Server Stopped.
    
    Оно и понятно: чанки можно восстановить по содержимому файла oncfg (см. далее), но вот чтобы знать, какие наборы хранения запрашивать у ISM, надо прочитать где-то, какие есть... База данных sysutils нам в рассматриваемой ситуации недоступна. А к ISM утилита onbar, судя по журналам ISM, даже не обращалась. В bar_ol_creator.log имеем:

     2004-06-24 13:01:40 1424  1424 C:\Informix\bin\onbar_d -r 
    -w -O
     2004-06-24 13:01:45 1424  1424 Creating 
    C:\IFMXDATA\ol_creator\rootdbs_dat.000 to allow restore
     2004-06-24 13:01:58 1424  1424 Creating 
    c:\IFMXDATA\ol_creator\sbspace_dat.000 to allow restore
     2004-06-24 13:02:15 1424  1424 Creating 
    c:\IFMXDATA\ol_creator\workdbs_dat.000 to allow restore
     2004-06-24 13:02:15 1424  1424 There are no storage 
    spaces/logical logs to backup/restore.
     2004-06-24 13:03:38 1424  1424 C:\Informix\bin\onbar_d 
    complete, returning 147 (0x93)
    

    Итак, запомним на будущее, что файл ixbar.0 надо восстанавливать отдельно (а для этого, лучше всего, копировать его после любого успешного создания набора хранения). А пока просто восстановим его предусмотрительно сделанную резервную копию:

    C:\Informix\etc>copy c:\tmp\ifx\ixbar.0 %INFORMIXDIR%\etc
    Скопировано файлов:         1.
    

    Нужна ли реально копия файла oncfg?

    Содержимое этого текстового файла следующее:

    DBSpace 1 1 1 1 1050388095 14 0 1082554752 18 36956 18 -1 
     rootdbs       informix                        
    DBSpace 2 32769 2 1 1051353612 4 0 1082554752 18 36956 18 -1
     sbspace    informix                        
    DBSpace 3 1 3 1 1051353666 4 0 1082554752 18 36956 18 -1
     workdbs        informix                        
    Chunk 1 0 0 12800 4611 1 0 64 38
     C:\IFMXDATA\ol_creator\rootdbs_dat.000
    Chunk 2 0 0 12500 544 2 0 16448 38
     c:\IFMXDATA\ol_creator\sbspace_dat.000
    Chunk 3 0 0 25000 24947 3 0 64 38
     c:\IFMXDATA\ol_creator\workdbs_dat.000
    Log 1 21 166223 1081171132 19 1049339 500 3
    Log 2 3 0 0 20 1049839 500 73
    Log 3 0 195585 1082453927 0 1050339 500 0
    Log 4 0 213683 1082455451 0 1050839 500 0
    Log 5 21 0 0 17 1051339 500 20
    Log 6 21 166204 1081169908 18 1051839 500 11
    

    и обновляется оно регулярно, при запуске, остановке сервера или изменении его дискового компонента. Здесь можно найти, в частности, информацию о том, какие DB-пространства и чанки образуют дисковый компонент. По идее, на системных зарезервированных страницах в rootdbs (см. oncheck -pr) все это есть, да и ISM создает какой-то bootstrap, мы его еще в пул ISMDiskData направляли, помните? Может, не нужна копия этого файла, а?

    Продолжим эксперимент. Теперь удалим созданные в предыдущем эксперименте пустые (забитые нулями, проверьте) чанки и удалим файл oncfg_имя_сервера.номер_экземпляра из каталога %INFORMIXDIR%\etc и снова попробуем восстановить сервер:

    C:\Informix\etc>del c:\IFMXDATA\ol_creator\*.* /q
    
    C:\Informix\etc>del %INFORMIXDIR%\etc\oncfg_ol_creator.0
    
    C:\Informix\etc>onbar -r -w -O
    Unable to read boot strap config file -
     'C:\Informix\etc\oncfg_ol_creator.0'
    

    В журнале bar_ol_creator.log читаем примерно то же самое:

     2004-06-24 12:37:32 3444  3444 C:\Informix\bin\onbar_d -r
    -w -O
     2004-06-24 12:37:32 3444  3444 Unable to start logical log 
    salvage: Unable to read boot strap config file -
     'C:\Informix\etc\oncfg_ol_creator.0' .
     2004-06-24 12:37:38 3444  3444 Unable to open file 
    C:\Informix\etc\oncfg_ol_creator.0
    No such file or directory
     2004-06-24 12:37:38 3444  3444 There are no storage 
    spaces/logical logs to backup/restore.
     2004-06-24 12:38:59 3444  3444 C:\Informix\bin\onbar_d 
    complete, returning 147 (0x93)
    

    Для полноты картины, попробуем, как и в предыдущем эксперименте, подложить ему пустой файл:

    C:\Informix\etc>copy /y nul
     %INFORMIXDIR%\etc\oncfg_ol_creator.0
    Скопировано файлов:         1.
    C:\Informix\etc>onbar -r -w -O
    C:\Informix\etc>onbar -r -w
    

    Быстро и тихо. Ничего не делается, никаких сообщений об ошибках... И пустые чанки тоже не помогут (я сделал пустой чанк для rootdbs). А, я примерно помню, какие у меня были пространства и чанки. Попробую создать файл вручную. Я даже помню размер чанков в страницах, количество журналов, адреса их начала и размеры, и количество столбцов во всех строках. Данные, которые не знаю, забил нулями и единицами, по своему усмотрению:

    C:\Informix\etc>type %INFORMIXDIR%\etc\oncfg_ol_creator.0
    DBSpace 1 1 1 1 1 1 0 1 1 1 1 -1 rootdbs informix
    DBSpace 2 1 1 1 1 1 0 1 1 1 1 -1 sbspace informix
    DBSpace 3 1 1 1 1 1 0 1 1 1 1 -1 workdbs informix
    Chunk 1 0 0 12800 0 1 0 0 38
     C:\IFMXDATA\ol_creator\rootdbs_dat.000
    Chunk 2 0 0 12500 0 2 0 0 38
     c:\IFMXDATA\ol_creator\sbspace_dat.000
    Chunk 3 0 0 25000 0 3 0 0 38
     c:\IFMXDATA\ol_creator\workdbs_dat.000
    Log 1 21 1 1 1 1049339 500 0
    Log 2 3 0 0 0 1049839 500 0
    Log 3 0 1 1 0 1050339 500 0
    Log 4 0 1 1 0 1050839 500 0
    Log 5 0 0 0 1 1051339 500 0
    Log 6 0 1 1 1 1051839 500 1
    
    C:\Informix\etc>onbar -r -w -O
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- Quiescent --
     Up 00:02:01 -- 33664 Kbytes
    
    C:\Informix\etc>onmode -m
    
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- On-Line -- Up
     00:02:36 -- 33664
    Kbytes
    

    Отлично! Даже с таким файлом конфигурации для начальной загрузки (лишь отдаленно напоминающим реальный, представленный выше) сервер поднялся и работает. Я сам в это не поверил! Поэтому повторил эксперимент, сведя полезную информацию в файле до минимума:

    C:\Informix\etc>onmode -ky
    
    C:\Informix\etc>del c:\IFMXDATA\ol_creator\*.* /q
    
    C:\Informix\etc>type %INFORMIXDIR%\etc\oncfg_ol_creator.0
    DBSpace 1 1 1 1 1 1 0 1 1 1 1 -1 rootdbs informix
    DBSpace 2 1 1 1 1 1 0 1 1 1 1 -1 sbspace informix
    DBSpace 3 1 1 1 1 1 0 1 1 1 1 -1 workdbs informix
    Chunk 1 0 0 12800 0 1 0 0 1
     C:\IFMXDATA\ol_creator\rootdbs_dat.000
    Chunk 2 0 0 12500 0 2 0 0 1
     c:\IFMXDATA\ol_creator\sbspace_dat.000
    Chunk 3 0 0 25000 0 3 0 0 1
     c:\IFMXDATA\ol_creator\workdbs_dat.000
    Log 1 21 1 1 1 1049339 500 0
    Log 2 0 0 0 0 1049839 500 0
    Log 3 0 0 0 0 1050339 500 0
    Log 4 0 0 0 0 1050839 500 0
    Log 5 0 0 0 0 1051339 500 0
    Log 6 0 0 0 0 1051839 500 0
    
    C:\Informix\etc>onbar -r -w -O
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    C:\Informix\etc>onstat -
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    

    Прискорбно. Но, подозреваю, проблема не в том, что такое содержимое oncfg не подходит. (Если честно, я скопировал исходное, сохраненное содержимое, и тоже не смог восстановить сервер. Судя по этим сообщениям в журнале onbar:

     2004-06-24 14:34:35 2824  2824 C:\Informix\bin\onbar_d -r
    -w -O
     2004-06-24 14:34:40 2824  2824 Creating 
    C:\IFMXDATA\ol_creator\rootdbs_dat.000 to allow restore
     2004-06-24 14:34:51 2824  2824 Creating 
    c:\IFMXDATA\ol_creator\sbspace_dat.000 to allow restore
     2004-06-24 14:35:11 2824  2824 Creating 
    c:\IFMXDATA\ol_creator\workdbs_dat.000 to allow restore
     2004-06-24 14:35:13 2824  2824 Successfully connected to 
    Storage Manager.
     2004-06-24 14:35:13 2824  2824 XBSA Error: (BSAQueryObject) 
    Backup object does not exist in Storage Manager.
     2004-06-24 14:35:18 2824  2824 Due to the previous error, 
    logical restore will not be attempted.
     2004-06-24 14:36:40 2824  2824 C:\Informix\bin\onbar_d 
    complete, returning 100 (0x64)
    

    проблемы у нас, видимо, с каталогом ISM. О нем - в следующем разделе. Надо было также сделать резервную копию сервера в целом сразу после успешного восстановления и запуска (реинкарнации). Этот же раздел можно завершить оптимистическим выводом о том, что может подойти и не самая актуальная копия файла oncfg_имя_сервера.номер_экземпляра. Главное знать, какие были DB-пространства, сколько чанков, какого размера (onstat -d), сколько журналов и где они были расположены (onstat -l). А файл, примерно подходящий, можно будет и ручками создать.

    Пока же восстановим все файлы конфигурации и административные файлы ISM, описанные в предыдущей статье, восстановим и запустим сервер:

    C:\Informix\etc>onbar -r -w
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- Quiescent --
     Up 00:01:30 -- 33664 Kbytes
    
    C:\Informix\etc>onmode -m
    
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- On-Line -- Up
     00:03:12 -- 33664 Kbytes
    

    Заодно мы еще раз убедились, что, если следовать описанной ранее процедуре, результат будет положительным...

    Нужен ли "каталог ISM"?

    Снова остановим сервер, остановим службы ISM и удалим чанки:

    C:\Informix\etc>onmode -ky
    
    C:\Informix\etc>ism_shutdown
    ism_shutdown will stop  the ISM Server.
    Press ^C (Ctrl + C) and answer 'Yes' if you don't want to
     continue...
    Для продолжения нажмите любую клавишу . . .
    
    ism_shutdown is stopping the ISM Server...
    
    C:\Informix\etc>del c:\IFMXDATA\ol_creator *.* /q
    

    Только теперь (проверив предварительно резервную копию административных файлов ISM), сымитируем еще и повреждение каталога самого ISM:

    C:\Informix\etc>rmdir /s /q %ISMDIR%\index
    
    C:\Informix\etc>rmdir /s /q %ISMDIR%\mm
    
    C:\Informix\etc>rmdir /s /q %ISMDIR%\res
    

    Теперь попытаемся снова запустить ISM:

    C:\Informix\etc>ism_startup
    ism_startup is starting the ISM daemons
    

    В журнале %ISMDIR%\logs\daemon.log читаем:

    06/24/04 15:39:34 nsrd: server notice: started
    06/24/04 15:39:35 nsrck: index for creator is created.
    06/24/04 15:39:50 nsrmmdbd: media db is cross checking the
     save sets
    06/24/04 15:39:50 nsrmmdbd: media db is open for business
    06/24/04 15:39:50 nsrindexd: checking index for creator
    06/24/04 15:39:51 nsrd: index notice: completed checking 1
     client(s)
    06/24/04 15:39:51 nsrindexd: completed checking 1 client(s)
    06/24/04 15:40:11 nsrd: License Summary (No Enterprise
     Enabled):
    06/24/04 15:40:11 nsrd:  Available:  sv=1, ws=0, clu=0,
     borrowed=0
    06/24/04 15:40:11 nsrd:  Remaining:  sv=1, ws=0, clu=0
    

    Проверяем, что действительно индекс и другие каталоги созданы "с нуля":

    C:\Informix\etc>dir %ISMDIR%
    ...
    
     Содержимое папки c:\ISM\2.20
    
    24.06.2004  15:39    <DIR>          .
    24.06.2004  15:39    <DIR>          ..
    24.06.2004  15:09    <DIR>          applogs
    24.06.2004  15:09    <DIR>          bin
    24.06.2004  15:09    <DIR>          debug
    24.06.2004  15:39    <DIR>          index
    24.06.2004  15:09    <DIR>          logs
    24.06.2004  15:39    <DIR>          mm
    24.06.2004  15:39    <DIR>          res
    24.06.2004  15:13    <DIR>          tmp
                   0 файлов              0 байт
                  10 папок   2 186 313 728 байт свободно
    

    Интересно, можно ли будет с этого "нулевого" индекса восстановиться:

    C:\Informix\etc>onbar -r -w -O
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    Verifying physical disk space, please wait ...
    C:\Informix\etc>onstat -
    shared memory not initialized for INFORMIXSERVER 'ol_creator'
    

    В файле bar_ol_creator.log при этом читаем:

     2004-06-24 15:54:34 2596  2596 C:\Informix\bin\onbar_d -r 
    -w -O
     2004-06-24 15:54:42 2596  2596 Creating 
    C:\IFMXDATA\ol_creator\rootdbs_dat.000 to allow restore
     2004-06-24 15:54:54 2596  2596 Creating 
    c:\IFMXDATA\ol_creator\sbspace_dat.000 to allow restore
     2004-06-24 15:55:10 2596  2596 Creating 
    c:\IFMXDATA\ol_creator\workdbs_dat.000 to allow restore
     2004-06-24 15:55:12 2596  2596 Successfully connected to 
    Storage Manager.
     2004-06-24 15:55:12 2596  2596 XBSA Error: (BSAQueryObject) 
    Backup object does not exist in Storage Manager.
     2004-06-24 15:55:18 2596  2596 Due to the previous error, 
    logical restore will not be attempted.
     2004-06-24 15:56:39 2596  2596 C:\Informix\bin\onbar_d 
    complete, returning 100 (0x64)
    

    Итак, чанки воссозданы, но мой сервер больше не восстанавливается. Знакомая ошибка... Как и в результате предыдущих экспериментов "поломался" каталог ISM (сейчас мы его сами намеренно поломали). И что нам теперь поможет? Помните, набор аварийной начальной загрузки ISM... Поищем?

    C:\Informix\etc>ism_catalog
    Usage: ism_catalog [<options>]
    Options:
        -create_bootstrap      [ -pool pool ]  [ -server name ]
        -find_bootstrap device         [ -server name ]
        -recover
        -recreate_from device  [ -pool pool ]  [ -server name ]
    
    C:\Informix\etc>ism_catalog -find_bootstrap c:\tmp\bardata
    scanner: no `NSR device' with the name of `c:\tmp\bardata'
     found
    scanner: c:\tmp\bardata: open failed, unknown error 5 (0x5)
    scanner: c:\tmp\bardata: open failed, unknown error 5 (0x5)
    scanner: c:\tmp\bardata: open failed, unknown error 5 (0x5)
    scanner: c:\tmp\bardata: open failed, unknown error 5 (0x5)
    scanner: error, read open error: unknown error 5 (0x5)
    scanner: No bootstrap located
    C:\Informix\etc>ism_show -devices
    (nothing) mounted on 4mm tape \\.\Tape0
    

    Ага, мы и про устройства забыли... Добавим (см. статью "Настройка диспетчера хранения данных ISM"):

    C:\Informix\etc>ism_add -device c:\tmp\bardata -type file
    
    C:\Informix\etc>ism_catalog -find_bootstrap c:\tmp\bardata
    scanner: scanning file disk Data1 on c:\tmp\bardata
    scanner: done with file disk Data1
    
    scanner: Bootstrap 1112 of  6/24/04 15:13:02 located on
     volume Data1, file 1112.
    

    В документации сказано, что, если каталог ISM поврежден, надо найти устройство с подходящей копией bootstrap, смонтировать его, и выполнить ism_catalog -recover. Попробуем.

    C:\Informix\etc>ism_show -devices
    (nothing) mounted on 4mm tape \\.\Tape0
    (nothing) mounted on file disk c:\tmp\bardata
    
    C:\Informix\etc>ism_catalog -recover
    ism_catalog: Using creator as server
    
    NOTICE: ism_catalog is used to recover the ISM
    server's on-line file and media indexes from media
    (backup tapes or disks) when either of the server's
    on-line file or media index has been lost or damaged.
    Note that this command will OVERWRITE the server's
    existing on-line file and media indexes.  ism_catalog
    is not used to recover ISM clients' on-line
    indexes; normal recover procedures may be used for
    this purpose.  See the Informix ISM Installation
    and Maintenance Guide, Windows NT Version for more
    details.
    
    \\.\Tape0 c:\tmp\bardata
    What is the name of the device you plan on using [\\.\Tape0]?
     c:\tmp\bardata
    Enter the latest bootstrap save set id []: 1112
    Enter starting file number (if known) [0]:
    Enter starting record number (if known) [0]:
    
    Please insert the volume on which save set id 1112 started
    into c:\tmp\bardata.  When you have done this, press <RETURN>:
    
    Scanning c:\tmp\bardata for save set 1112; this may take a
     while...
    scanner: Reading the file label
    scanner: Reading the file label
    scanner: scanning file disk Data1 on c:\tmp\bardata
    scanner: volume id 15109 record size 32768
      created  4/21/04 15:03:17 expires  4/21/06 15:03:17
    scanner: searching for ssid(s): 1112
    scanner: scanning file 1112, record 0
    scanner: ssid 1112: found beginning of creator:bootstrap
    scanner: spawning `uasm -r -v -iY' for ssid 1112
     (creator:bootstrap)
    C:\ISM\2.20\res\nsr.res
    C:\ISM\2.20\res\nsrjb.res
    C:\ISM\2.20\res\nsrla.res
    C:\ISM\2.20\res\
    scanner: ssid 1112: scan complete
    scanner: ssid 1112: 45 KB, 13 file(s)
    C:\ISM\2.20\mm\
    C:\ISM\2.20\index\creator\
    C:\ISM\2.20\index\
    C:\ISM\2.20\
    C:\ISM\
    C:\
    /
    c:\tmp\bardata: mount operation in progress
    c:\tmp\bardata: mounted file disk Data1 (write protected)
    
    The bootstrap entry in the on-line index for creator has
     been recovered.
    
    If your resource files were lost, they are now recovered
    in the 'res.R' directory.  Copy or move them to the 'res' 
    directory, after you have shut down the service.  Then 
    restart the service.
    
    Otherwise, just restart the service.
    
    C:\Informix\etc>ism_shutdown
    ism_shutdown will stop  the ISM Server.
    Press ^C (Ctrl + C) and answer 'Yes' if you don't want to
     continue...
    Для продолжения нажмите любую клавишу . . .
    
    ism_shutdown is stopping the ISM Server...
    
    C:\Informix\etc>copy %ISMDIR%\res.R\*.* %ISMDIR%\res
    c:\ISM\2.20\res.R\nsr.res
    Заменить c:\ISM\2.20\res\nsr.res [Yes (да)/No (нет)/All
     (все)]: all
    c:\ISM\2.20\res.R\nsrjb.res
    c:\ISM\2.20\res.R\nsrla.res
    Скопировано файлов:         3.
    
    C:\Informix\etc>ism_startup
    ism_startup is starting the ISM daemons
    
    C:\Informix\etc>ism_show -devices
    (nothing) mounted on 4mm tape \\.\Tape0
    file disk Data1 mounted on c:\tmp\bardata, write protected
    file disk Logs1 mounted on c:\tmp\barlog, write enabled
    

    Надо же, ISM вспомнил про устройство c:\tmp\barlog... Это обнадеживает:

    C:\Informix\etc>onbar -r -w
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- Quiescent --
     Up 00:01:47 -- 33664 Kbytes
    
    C:\Informix\etc>onmode -m
    
    C:\Informix\etc>onstat -
    
    Informix Dynamic Server Version 9.30.TC2     -- On-Line -- Up
     00:01:55 -- 33664 Kbytes
    

    В файле bar_ol_creator.log столь ожидаемая картина успешного восстановления:

     2004-06-24 16:33:37 3896  3896 C:\Informix\bin\onbar_d -r -w
     2004-06-24 16:33:39 3896  3896 Successfully connected to 
    Storage Manager.
     2004-06-24 16:33:40 3896  3896 Begin cold level 0 restore 
    rootdbs (Storage Manager copy ID: 1099 0).
     2004-06-24 16:34:11 3896  3896 Completed cold level 0 
    restore rootdbs.
     2004-06-24 16:34:12 3896  3896 Begin cold level 0 restore 
    sbspace (Storage Manager copy ID: 1100 0).
     2004-06-24 16:34:14 3896  3896 Completed cold level 0 
    restore sbspace.
     2004-06-24 16:34:15 3896  3896 Begin cold level 0 restore 
    workdbs (Storage Manager copy ID: 1101 0).
     2004-06-24 16:34:17 3896  3896 Completed cold level 0 
    restore workdbs.
     2004-06-24 16:34:19 3896  3896 Completed whole system
    restore.
     2004-06-24 16:34:22 3896  3896 Successfully connected to 
    Storage Manager.
     2004-06-24 16:34:23 3896  3896 Begin restore logical log 
    17 (Storage Manager copy ID: 1102 0).
     2004-06-24 16:34:24 3896  3896 Completed restore logical 
    log 17.
     2004-06-24 16:34:25 3896  3896 Begin restore logical log 
    18 (Storage Manager copy ID: 1105 0).
     2004-06-24 16:34:26 3896  3896 Completed restore logical 
    log 18.
     2004-06-24 16:34:27 3896  3896 Begin restore logical log 
    19 (Storage Manager copy ID: 1107 0).
     2004-06-24 16:34:28 3896  3896 Completed restore logical 
    log 19.
     2004-06-24 16:34:34 3896  3896 Completed logical restore.
     2004-06-24 16:34:36 1344  1344 C:\Informix\bin\onbar_d -b -l
     2004-06-24 16:34:37 1344  1344 C:\Informix\bin\onbar_d 
    complete, returning 0 (0x00)
     2004-06-24 16:34:41 3896  3896 C:\Informix\bin\onbar_d 
    complete, returning 0 (0x00)
    

    На сегодня ломать Informix хватит. Вечно живой он, как дедушка Ленин...

    Заключение

    В этой статье я попытался восстанавливать данные сервера Informix, в условиях, более приближенных к "боевым". Понятно, что если обо всем заранее позаботиться, то все восстановить можно. А если нет?

    Мы экспериментальным путем выяснили, что:

    • Файл ixbar.номер_экземпляра жизненно важен для восстановления с помощью onbar. Без него ничего хорошего не будет. Копировать его надо после завершения любой операции резервного копирования, успешно выполненной с помощью onbar.
    • Файл oncfg_имя_сервера.номер_экземпляра тоже важен, но не настолько. Главное, мы должны знать, какие были DB-пространства, какие чанки, сколько журналов и какого размера. Если это известно, то появляются шансы "ручками" его отредактировать по старой копии или по образцу, скажем, из этой рассылки.
    • Административные файлы (каталог) ISM можно вообще не копировать. Каталог этот можно восстановить из резервной копии bootstrap (набора аварийной начальной загрузки), и в документации четко написано, как это делать. Я просто показал пример.
    • По ходу восстановления возможны всякие сбои, ошибки администратора и т.п. Надо заранее подготовиться (иметь под рукой резервные копии) и не паниковать. У подготовленного администратора Informix подымается всегда! Даже при использовании ISM.

    Попутно мы посмотрели различные варианты использования утилит ISM, запуска и остановки ISM, команды net, и т.п. Мне было интересно. Вам, надеюсь, будет полезно.

    Документация

    1. Informix Storage Manager Administrator's Guide, Version 2.2 (G251-0498-00).
    2. Informix Backup and Restore Guide, Version 8.31/9.3 (G251-0481-00)
     


    ХАЙВЕЙ - лучший российский хостинг-провайдер: хостинг, регистрация доменов, услуга Ваша@почта, поддержка 24 часа


    NetPromoter - единственный российский профессиональный комплекс программ и сервисов для раскрутки сайта и интернет-статистики


    STSS - известный поставщик надежных серверных решений различного назначения на платформе Intel (Xeon) и AMD.


    5-55: the ITIL company. Практический опыт и теоретические знания на лучших семинарах по ITIL и процессам ITSM.


    Подписка на новости IT-портала CITForum.ru
    (библиотека, ftp-архив CITKIT.ru)

    Новые поступления в on-line библиотеку:

    28 апреля

  • Выбор первого дистрибутива Linux: Пособие для начинающих
  • Обфускация и защита программных продуктов
  • Анализ и оптимизация циклов с помощью производящих функций
  • Стратегии объектно-реляционного отображения: систематизация и анализ на основе паттернов

    26 апреля

  • Business Intelligence обещает значительный рост в 2005 году
  • Десять основных тенденций 2005 года в области Business Intelligence и Хранилищ данных
  • Управление эффективностью бизнеса и предсказуемость
  • Увеличение эффективности бизнеса: пять ошибок управления, которых следует избегать
  • Потребность в организационных данных: модель комплексного управления эффективностью бизнеса
  • Технология Хранилищ данных для государственных учреждений
  • Оцените, насколько совершенно ваше Хранилище данных

    21 апреля

  • Исполнение моделей при помощи виртуальной машины
  • Параллельные алгоритмы компьютерной алгебры
  • От стандарта до стандарта (о стандартизации оптических разъемов)
  • За штурвалом IP-станции

    Продолжение дискуссии читателей:

  • Линукс и пользователи, или что мне не нравится в Linux
  • Еще один взгляд на альтернативные ОС (и софт для них)
  • О некомпетентности пользователя Windows
  • Переписка Долгачева В.С. и Монахова В.В.

    19 апреля

  • Межпротокольный шлюз NAT-PT с функциями DNS-ALG и FTP-ALG для обеспечения взаимодействия между сетями IPv4 и IPv6
  • Рефакторинг архитектуры программного обеспечения: выделение слоев
  • Комбинаторика слов и построение тестовых последовательностей
  • Функциональное тестирование Web-приложений на основе технологии UniTesK

    14 апреля

  • Как организовать двойную парольную защиту данных в Oracle
  • Деревянный интерфейс

    Продолжение дискуссии читателей:

  • Microsoft против мира
  • Впечатления от прочитанного

    12 апреля

  • Крупные проблемы и текущие задачи исследований в области баз данных
  • Глава 2 из книги Т.Кайта "Oracle для профессионалов"Архитектура

    Дискуссия читателей о Linux и Windows:

  • Деньги правят миром, и у кого их больше, тот и прав!
  • О злокозненности некомпетентных пользователей, или почему я не люблю ограниченных пользователей Windows

    7 апреля

  • О доблести Билла Гейтса, или почему Windows лучше, чем LINUX или Mac OS
  • Витая пара - все ли так просто?!
  • Выбираем сервер печати
  • Один слой хорошо, а два - лучше (о пишущих DVD-приводах)

    5 апреля

  • Использование Caché SQL Gateway
  • Глава 19 из книги Т.Кайта "Oracle для профессионалов"Хранимые процедуры на языке Java
  • Что такое PostgreSQL?
  • Обновлен PostgreSQL FAQ

    31 марта

  • Использование Веб-сервисов в Caché
  • Защита на уровне строк (Oracle)
  • Секции в реальном мире

    29 марта

  • Разработка успешных приложений для Oracle - первая глава из книги Тома Кайта "Oracle для профессионалов"
  • Web-сервисы: растущие опасения (мнение аналитиков IDC)
  • Технология OLAP - мощная альтернатива электронным таблицам
  • Какой модной стала подготовка отчетности

    24 марта

  • Многоверсионность данных и управление параллельными транзакциями
  • Исключение из правил. Опыт разработки и внедрения финансовой корпоративной системы
  • Обнаружение компрометаций ядра Linux с помощью gdb
  • Корпоративная сервисная шина - "бюджетный" подход к решению задач интеграции
  • Сервис-ориентированная архитектура
  • Бизнес-процессы и XML

    22 марта

  • Доступно. И точка! (обзор точек беспроводного доступа)
  • Коммутаторы Fast/Gigabit Ethernet для "большой" сети
  • Push to Talk: нажми на кнопку и ...говори
  • Сети нового поколения и технология softswitch

    17 марта

  • Часто задаваемые вопросы о proxy (proxy FAQ)
  • Самонастраивающаяся база данных: управляемые приложения и настройка SQL
  • Еще раз о волоконных трассах
  • Настраиваем русский Unicode в FreeBSD-5.3.

    10 марта

  • Еще не сказанное о волоконной оптике
  • Wi-Fi на службе оператора
  • Пора менять платформу?
    (о сокетах LGA775 и PGA478)

    Oracle:

  • Детальный аудит для практических целей
  • Шифруем свои ресурсы данных

    3 марта

  • Требования к проекту. Классификация - первый шаг к пониманию
  • Gtk vs. Qt: драки не будет
  • Управление бизнесом "по максимуму": BPM для финансовых учреждений
  • Реализация решения по управлению эффективностью бизнеса
  • Новые SerialATA-винчестеры
  • Карман для сервера

    1 марта

  • Выбрать корпус - нет ничего проще?
  • Создание виртуальной сети с удаленной загрузкой узлов
  • Текущее состояние и перспективы развития рынка интеграционных технологий
  • Интеграция корпоративной информации: новое направление
  • Архитектурные подходы к консолидации

    24 февраля

  • Каждому проекту своя методология
  • Императив интеграции
  • Безопасность IP-телефонии - полевые зарисовки
  • О злокозненности Билла Гейтса, или почему я не люблю Windows

    22 февраля

  • Oracle10: шифруем данные
  • В версии Oracle10 "виртуальные частные базы данных" данных стали избирательнее
  • Каждому (пользователю) свое (данное в таблице)
    Часть 1
    Часть 2
  • Ускоряем интернет
  • Сетевая аутентификация на практике
  • В фокусе Microsoft Virtual Server 2005

    17 февраля

    Открыт новый раздел
    Все об Open Source

    Все новости >>>



  • IT-консалтинг Software Engineering Программирование Open Source СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы - pr@citforum.ru, тел. +7 095 4119920 Пресс-релизы - manager@citforum.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2004 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...
    ody>