home   map   mail  
 
:: О нас :: Координаты :: Прайс-лист :: Форум :: Статьи :: Наши клиенты ::  
  rs    
 

E-Mail: support@nerusoft.com
Телефоны:
      +380 67 901-63-22
      +380 63 108-17-00
ICQ: 131-674-371
Skype: rudjuk

 
   
OTPCapital   OTPCapital - Компания
управления активами
OTP-Банк   OTP-Банк - крупнейший
банк Украины
Бухгалтерское обслуживание Факториал Консалт   Бухгалтерское,
аудиторское и
юридическое
обслуживание от
Факториал-Консалт
lightnight   Информационно-
развлекательный сайт
LightNight.
Компания РМед   Компания по продаже
медицинского
оборудования РМед.
Casa-De-Confraria   Casa-De-Confraria -
вилла в Португалии.
Н.Транс   Компания по продаже
косметики Н.Транс
Клуб SportLife   Спортивный клуб
SportLife
  Сайт
“Пригласи
Деда Мороза"
  Американская
компания
“CharlieMotors”
  Национальный
Цирк Украины
Все проекты   Все проекты >>>
 
Внимание!
Это старый наш сайт. Новый сайт находится по адресу: http://corp2.net
 
 

 Восстановление баз данных Interbase

Введение

Сегодня Interbase (и его клоны FireBird, Yafill) - это один из самых популярных серверов. И это не удивительно, ведь он кроссплатформенный, не больших размеров, легко устанавливается, не требует особого обучения администраторов, быстро работает, устойчивый и при этом всём ещё и бесплатный...
Однако практика показывает, что каким бы устойчивым InterBase ни был,  но  при выключении питания или "зависании" компьютера база иногда таки портится. Возникают ошибки о не правильных контрольных суммах или "достигнут конец файла".

Эта статья написана для того, чтобы помочь Вам решить подобную проблему.

Как восстановить данные

Вы спросите: "Как же восстановить данные испорченной базы, ведь Interbase Console и EMS QuickDesk ничего не хотят делать в этом случае!".

Единственный способ остаётся скопировать данные из одной базы данных в другую.

Используемые интсрументы

Для копирования баз данных можно использовать различные инструменты. Я использую для этих целей специально разработанную программу копирования баз данных, под названием "Репликатор". Её можно скачать по адресу replicator.htm 

Что же эта программа умеет?

Она умеет выполнять скрипты, копировать таблицы в нужной последовательности, отключать триггера, ключи, ограничения. А так же обходит ошибки вынося их текст в Лог и не обрывая соединение. А это нам и нужно для восстановления и перегенерации баз данных.

Описание программы "Репликатор"

Для начала, скачаем и установим программу "Репликатор", благо она распространяется свободно  replicator.htm.

Войдём в программу под именем и паролем администратора (SYSDBA).


Входим в меню Репликация -> Генерация базы данных.


В верхней таблице перечисляются проекты и пути к базам данных. В нижней таблице перечисляется последовательность копируемых таблиц. Копируются те таблицы, у которых установлена галочка в поле И (Используется).

Поле ID должно быть уникальным во всех проектах.

Если указана галочка Блокировать все триггера, то перед копированием информации будут отключены триггера, а после копирования - опять включены. То же относится к индексам и ограничениям. 

Если стоит галочка Выполнять скрипты, то при копировании будут выполняться скрипты, названия файлов которых перечислены в закладке Файлы скриптов.

Если у Вас имя и пароль администратора не совпадает с SYSDBA, masterkey, то Вам понадобится указать имена и пароли в  закладке Пароли.



Копирование на практике

Произведём копирование данных на практике. Для этого создадим новый проект под названием Test. Вносим название баз данных.


Примечание: Новая база данных (куда мы копируем) должна быть совершенно пустой. У меня её размер составляет 230 Кб. Т.е. в ней нет ничего, кроме системных таблиц InterBase и т.п..

Переходим на таблицу названий копируемых таблиц и заполняем в той последовательности, в которой хотим копировать. За последовательность отвечает столбец Сорт. 

Примечание: Последовательность важна, если мы при копировании информации не блокируем триггера и ограничения по вторичным ключам.


Там где поле Название заполняем название таблицы. Можно указать Русское название - поле чисто для информации на русском языке.

Если Вы применяете генераторы для ключевого поля, то необходимо заполнить поля Первичный, Название генератора, Название процедуры генератора. Тогда программа автоматически будет создавать генератор, устанавливать его значение по максимальному значению указанного Вами поля, а так же создавать хранимую процедуру для выборки значения генератора.

Так как мы копируем информацию в полностью пустую базу данных, то необходимо указать скрипты генерации базы данных. Для этого щёлкаем на закладке Файлы скриптов и указываем заполняем таблицу.


Если указана галочка в поле П, то это означает, что скрипт будет выполнен перед копированием информации в базе данных. Обычно, это скрипт генерируемый системами проектирования баз данных (например ErWin).

Если указана галочка И, то это означает, что скрипт будет выполняться.

Примечание: В качестве раздалителя в скриптах используется ^.

Вот и завершена предварительная работа перед копированием базы данных. Теперь можно перейти на закладку Проекты, отметить галочки отключений (если нужно и нажать на Перекачать информацию. (В моём случае даже не нужно отключение триггеров и ограничений).


Появится окно с информацией о процессе копирования информации и выполнения скриптов.


Это процесс длительный. Программа не забирает всё процессорное время и позволяет в это время Вам работать над другими задачам. При копировании таблиц показывается номер копируемой строки.


После завершения копирования показывается общее количество ошибок, предупреждений, ошибок в скрипте.

Вот мы и сгенерировали полностью работоспособную базу данных. И обошлось практически без потерь информации.

Автор: Рудюк С.А.
Internet: www.rudjuk.kiev.ua
 

 

 

 Предложения


 Акции и объявления

Для партнёров скидки
-10%


 На правах рекламы


 
:: О нас :: Координаты :: Прайс-лист :: Форум :: Статьи :: Наши клиенты ::
Яндекс цитирования
© Copyright 1997-2008 RS™