Административные файлы 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     - -

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

Чтобы развеять сомненияСомнение— психическое состояние или состояние ума в котором возникает воздержание от окончательно определённого суждения, или/и раздвоения (троення ит.п.) его становления, из-за неспособности сознания сделать дискретный однозначный вывод. Если ум не может обнаружить причин, аргументов, которые бы позволили ему прийти к однозначному решению относительно правильности или ошибочности своего мнения, тогда сомнение является отрицательным (то есть фактически блокирование дальнейшего анализа и выводов, «избегание» дискретизации). Если же разум выявил причины и они равной, подобной, сравнительной важности, делая таким образом унитарное решающее мнение невозможным, тогда сомнение считается позитивным (включающим инвариантность). В обоих случаях результатом является: невозможность формирования окончательного суждения (воздержание от него). Существует множество примеров где человек не может победить дискретизировать, перевести в стадию определенности) свои сомнения., как писал видный деятель современной украинской культуры Лесь Подервьянский, - , т.е. поэкспериментЭксперимент (от лат.experimentum— проба, опыт) в научном методе— метод исследования некоторого явления в управляемых условиях. Отличается от наблюдения активным взаимодействием с изучаемым объектом. Обычно эксперимент проводится в рамках научного исследования и служит для проверки гипотезы, установления причинных связей между феноменами. Эксперимент является краеугольным камнем эмпирического подхода к знанию. Критерий Поппера выдвигает возможность постановки эксперимента в качестве главного отличия научной теории от псевдонаучной.ируем... Как и раньше, при выключенном сервере удалим все чанки и файл 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 запущены, устройства сконфигурированы и доступны, носители обнаружены и содержат данныеДанные (калька от лат.data) — это представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе.... Давайте восстанавливать:

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:\InformixInformix— семейство систем управления реляционными базами данных (СУБД), выпускаемых компанией IBM. Informix позиционируется как флагман среди СУБД IBM, предназначенный для онлайновой обработки транзакций (OLTP), а также как СУБД для интегрированных решений.\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«Please» (англ. Пожалуйста)— дебютный альбом британской поп-группы Pet Shop Boys. В Великобритании альбом занял 3-е место (по продажам он достиг также трижды платинового статуса, а в США, где занял 7-е место— платинового). Успеху альбома способствовал предваривший его сингл «West End Girls», который занял первые места во многих старанах, включая Великобританию и США. 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Онлайн (англ.online, от англ.on line— «на линии», «на связи», «в сети», «в эфире»)— «находящийся в состоянии подключения». Первоначально использовалось только в отношении коммуникационного оборудования для указания на режим связи, типичным значением могло быть «не вешая трубку», то есть за один телефонный звонок, в режиме реального времени.
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Программное обеспечение (допустимо также произношение обеспечение), ПО— совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ (ГОСТ 19781-90). 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   ActionAction (транслит.— «экшен» или «экшн»; перевод с англ.— «действие»)— жанр компьютерных игр, в которых успех игрока в большой степени зависит от его скорости реакции и способности быстро принимать тактические решения. Действие таких игр развивается очень динамично и требует напряжения внимания и быстрой реакции на происходящие в игре события. При этом в качестве основного средства прогресса в игре, как правило, используется какое-либо оружие.: Restore chunk from archiveArchive— музыкальная группа из Лондона, сочетающая в своём творчестве элементы таких музыкальных жанров, как трип-хоп, прогрессивный рок и альтернативный рок..
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, надо прочитать где-то«Где-то» (англ.Somewhere)— художественный фильм Софии Копполы в жанре комедийной драмы по её собственному сценарию. 11 сентября 2010 года фильм получил «Золотого льва»— главный приз Венецианского кинофестиваля. В России фильм вышел на экраны 18 ноября 2010 года, в США— 22 декабря 2010 года., какие есть... База данных 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-пространства и чанки образуют дисковый компонентКомпонент— (от лат.componens, родительный падеж componentis — составляющий), составная часть, элемент чего-либо. В разных отраслях науки и техники может иметь дополнительное, более специфическое значение.. По идее, на системных зарезервированных страницах в 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

Быстро и тихо. Ничего не делается, никаких сообщений об ошибкаОшибка— несоответствие между объектом или явлением, принятым за эталон (материальный объект, решение задачи, действие, которое привело бы к желаемому результату), и объектом/явлением, сопоставленным первому.х... И пустыеПустые (яп. уро, «пустота»; с помощью фуриганы получает прочтение [хоро:], от англ.hollow— «пустой»), «минусы»— вымышленные существа, злые духи в аниме и манге «Блич». Пустые живут в альтернативной реальности Уэко Мундо, которая находится между Землей и Сообществом душ («раем»). Они иногда отправляются в реальный мир, чтобы питаться душами живых людей; особенно опасны, так как большинство людей не могут их видеть. Чтобы справляться с пустыми, земной мир патрулируют проводники душ. Как и проводники душ, пустые отличаются друг от друга по боевым способностям. Некоторые, наиболее сильные, могут пользоваться уникальными боевыми приёмами, а эволюционировавшие пустые— арранкары,— получив часть способностей проводников душ, получают и возможность владеть мечом. чанки тоже не помогут (я сделал пустой чанк для 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Резервное копирование (англ.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. О нем - в следующем разделе. Надо было также сделать резервную копию сервера в целом сразу после успешного восстановления и запуска (реинкарнацииПереселение душ, реинкарнация (лат.reincarnation «повторное воплощение»), метемпсихоз (греч. , «переселение душ»)— группа религиозно-философских доктрин, согласно которым бессмертная сущность живого существа (в некоторых вариациях— только людей) перевоплощается снова и снова из одного тела в другое. Эту бессмертную сущность в различных традициях называют духом или душой, «божественной искрой», «высшим» или «истинным Я»; в каждой жизни развивается новая личность индивидуума в физическом мире, но одновременно определённая часть «Я» индивидуума остаётся неизменной, переходя из тела в тело в череде перевоплощений. В ряде традиций существуют представления о том, что цепь перевоплощений имеет некоторую цель и душа в ней претерпевает эволюцию. Представление о переселении душ присуще не только ряду религиозных систем, но встречается также в отрыве от какой-то религиозной системы (в личном мировоззрении).). Этот же раздел можно завершить оптимистическим выводом о том, что может подойти и не самая актуальная копия файла 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«Unknown» (другое название — «Unknown Worlds») — американский литературный журнал, выходивший под редакцией Джона Кэмпбелла в 1939—1943 годах и оказавший огромное влияние на формирование фэнтези как самостоятельного направления коммерческой литературы. 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 commandCommand— слово на английском языке (рус. Команда), являющееся названием 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, WindowsMicrosoft Windows (/wndoz/) (англ.windows— окна)— семейство проприетарных операционных систем корпорации Майкрософт (Microsoft), ориентированных на применение графического интерфейса при управлении. Изначально были представлены многофункциональными надстройками для MS-DOS. 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 beginningBeginning (Начало)— сингл финского музыканта Тимо Котипелто с его первого альбома Waiting For The Dawn. Включает в себя две песни с альбома, а также уникальную Kadesh (Long Version). 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...
Для продолженияПродолжение (англ.continuation) представляет состояние программы в определённый момент, которое может быть сохранено и использовано для перехода в это состояние. Продолжения содержат всю информацию, чтобы продолжить выполнения программы с определённой точки. Состояние глобальных переменных обычно не сохраняется, однако для функциональных языков это несущественно (выборочное сохранение/восстановление значений глобальных объектов в Scheme достигается отдельным механизмом dynamic-wind). Продолжения похожи на goto Бейсика или setjmp()/longjmp() Си, так как также позволяют перейти в любое место программы. Но продолжения, в отличие от goto, позволяют перейти только в участок программы с определённым состоянием, которое должно быть сохранено заранее, в то время, как goto позволяет перейти в участок программы с неинициализированными переменными. нажмите любую клавишу . . .

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 вспомнил про устройствоУстройство(также прибор, жарг.девайс— от англ.device)— рукотворный объект со сложной внутренней структурой, созданный для выполнения определённых функций, обычно в области техники. 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)

На сегодняСегодня — наречие, указывающее (кроме телевизионных рекламных анонсов) на «текущий» 24-часовой отрезок времени (с 00 до 24 часов по местному времени). ломать Informix хватит. Вечно живой он, как дедушкаРодство— отношение между индивидами, организующее социальные группы и роли. ...

Заключение

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

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

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

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

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

1. .
2.
Мы рекомендуем еще посмотреть:

NAS

    NAS (network attached storage) – архитектура сетей хранения данный при которой клиент обращается к хранилищу данных на уровне сетевой файловой системыСистема (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое.. По сравнению с серверным хранилищем или хранилищем SAN система хранения на базе NAS является гораздо более эффективным и экономичным решением для хранения быстрорастущих объемов данных.

EMC Celerra

     EMC Celerra NX4
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование