вторник, 24 февраля 2009 г.

Бэкап: Что еще я должен зарезервировать?

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

  • Файл конфигурации сервера ONCONFIG
  • Emergency boot file, известный как ixbar.$SERVERNUM
  • sm_versions описывающий storage manager
  • sqlhosts
  • Файл oncfg_severname.servernum
  • Конфигурации storage manager

Однако как показывает практика, даже этого недостаточно чтобы быть кое в чем уверенным!

1 комментарий:

vasilis комментирует...

Для Windows платформы есть универсальный Bat-файл save_config.bat (из DBA_Tools), в котором перечислена вся дополнительная информация, которую желательно архивировать после выполнения архива 0-го уровня.
Вот кусочек оттуда:
===================
rem -- Список для копирования ---------------------------------------------------

rem -- This commands saves (export) settings from the registry
echo -- Registry Local_Machine and Current_User Informix keys
regedit /ea Registry_CU_Informix.reg HKEY_CURRENT_USER\Software\Informix
regedit /ea Registry_LM_Informix.reg HKEY_LOCAL_MACHINE\Software\Informix

echo -- Config files from %informixdir%
if exist %informixdir%\setenv.cmd xcopy %informixdir%\setenv.cmd /%_xcopy%
if exist %informixdir%\%INFORMIXSERVER%.cmd xcopy %informixdir%\%INFORMIXSERVER%.cmd /%_xcopy%
if exist %informixdir%\far_inf.cmd xcopy %informixdir%\far_inf.cmd /%_xcopy%
if exist %informixdir%\%INFORMIXSERVER%_far.cmd xcopy %informixdir%\%INFORMIXSERVER%_far.cmd /%_xcopy%

echo -- Informix config files from %informixdir%\etc
set _subdir=etc\
if exist %informixdir%\etc\onconfig.* xcopy %informixdir%\etc\onconfig.* %_subdir% /%_xcopy%
if exist %informixdir%\etc\*.%INFORMIXSERVER% xcopy %informixdir%\etc\*.%INFORMIXSERVER% %_subdir% /%_xcopy%
rem - ON-Bar uses one emergency boot file on Dynamic Server.
rem The filename for the emergency boot file is ixbar.servernum, where servernum is the value of the SERVERNUM configuration parameter.
if exist %informixdir%\etc\*.0 xcopy %informixdir%\etc\*.0 %_subdir% /%_xcopy%
if exist %informixdir%\etc\ac_config.* xcopy %informixdir%\etc\ac_config.* %_subdir% /%_xcopy%
if exist %informixdir%\etc\evidence.bat xcopy %informixdir%\etc\evidence.bat %_subdir% /%_xcopy%
if exist %informixdir%\etc\log_full.bat xcopy %informixdir%\etc\log_full.bat %_subdir% /%_xcopy%

echo -- Audit config files %informixdir%\aaodir
set _subdir=aaodir\
if exist %informixdir%\aaodir\adtcfg.0 xcopy %informixdir%\aaodir\adtcfg.0 %_subdir% /%_xcopy%

echo -- Setnet32 config files
if exist %informixdir%\*.nfx xcopy %informixdir%\*.nfx /%_xcopy%
if exist %informixdir%\etc\*.nfx xcopy %informixdir%\etc\*.nfx /%_xcopy%

echo -- IECC config files
if exist %informixdir%\*.imc xcopy %informixdir%\*.imc /%_xcopy%
if exist %informixdir%\etc\*.imc xcopy %informixdir%\etc\*.imc /%_xcopy%

echo -- Network (TCP/IP) config files
set _subdir=system32\drivers\etc\
if exist %windir%\system32\drivers\etc\services xcopy %windir%\system32\drivers\etc\services %_subdir% /%_xcopy%
if exist %windir%\system32\drivers\etc\hosts xcopy %windir%\system32\drivers\etc\hosts %_subdir% /%_xcopy%
if exist %windir%\system32\drivers\etc\hosts.equiv xcopy %windir%\system32\drivers\etc\hosts.equiv %_subdir% /%_xcopy%
if exist %windir%\system32\drivers\etc\.rhosts xcopy %windir%\system32\drivers\etc\.rhosts %_subdir% /%_xcopy%

echo -- ISA config files
set _subdir=ISA\etc\
if exist C:\IBM\ISA\etc\isacfg xcopy C:\IBM\ISA\etc\*isacfg ISA\etc\ %_subdir% /%_xcopy%
if exist C:\ISA\etc\isacfg xcopy C:\ISA\etc\*isacfg ISA\etc\ %_subdir% /%_xcopy%
if exist %informixdir%\ISA\etc\isacfg xcopy %informixdir%\ISA\etc\*isacfg ISA\etc\ %_subdir% /%_xcopy%

echo -- ISM index files
set _subdir=ISM\index\
if exist %ISMDIR%\index\*.* xcopy %ISMDIR%\index\*.* %_subdir% /%_xcopy%S
===============