Вопрос

Мы пытаемся дублировать одну из наших баз данных Informix на тестовом сервере, но без собственного опыта работы с Informix мы можем только догадываться, что нам нужно делать.Я сам изучаю этот материал на ходу и даже близко не достигаю уровня знаний, необходимого для эффективной или даже неэффективной работы с Informix.В любом случае...Нам удалось куда-то скопировать файлы .dat и .idx с основного сервера.Установлен Linux и последняя версия Informix Dynamic Server, все настроено и работает.

Что нам теперь делать с файлами .dat и idx с живого сервера?Копируем ли мы его куда-нибудь, и он автоматически распознает его?

Или есть ли эквивалентный способ, например, прикрепить БД из MS SQLServer для регистрации файлов базы данных в новой базе данных?

На конце моей веревки...

Это было полезно?

Решение

Вы задали довольно сложный вопрос, даже не осознавая этого.Informix спроектирован как общедоступный механизм базы данных, что означает, что все ресурсы, доступные экземпляру, доступны для каждой базы данных в этом экземпляре.Это означает, что в вашем случае данные могут храниться в нескольких базах данных в любом пространстве баз данных, файле .dat или .idx.Большинство администраторов баз данных знают, что лучше не делать этого, но об этом следует знать.Имея эти знания, вы теперь знаете, что файлы .dat и .idx не принадлежат базе данных, а принадлежат экземпляру.Пространства баз данных и файлы были созданы для хранения данных ваших баз данных, но технически они принадлежат экземпляру.Стоит отметить, что файлы .dat и .idx известны базе данных по логическому имени пространства баз данных.

Вооружившись этой исходной информацией и предполагая, что серверы производства и разработки работают под управлением одной и той же ОС и что ваше оборудование относительно одинаковое, а не комбинация PARISC, Itanium или x86/x64, я предложу вам несколько вариантов. .

  1. Создайте DBSPACES, которые вам нужны в новом экземпляре, и используйте нагрузку и нагрузку для копирования базы данных из производства до разработки.
  2. Используйте Ontape или Onbar для резервного копирования всего экземпляра производства и восстановить его по экземпляру разработки.

Вариант 1 требует, чтобы вы знали, как называются пространства баз данных и насколько они велики.Использовать onstat -d на производственном экземпляре, чтобы это выяснить.Кстати, числа, указанные в onstat -d, указаны в страницах, я считаю, что Linux — это страница размером 2 КБ.

Вариант 2 просто требует, чтобы пути к файлам данных были одинаковыми на обоих серверах.Это означает, что ROOTDBS должна быть одинаковой в обоих случаях.Это можно найти, выполнив onstat -c | grep ROOTDBS

Многое осталось упущенным, но я надеюсь, что это даст вам информацию, необходимую для дальнейшего выполнения вашей задачи.

Другие советы

Файлы .dat и .idx связаны с C-ISAM, или, если они организованы в каталог с именем dbase.dbs (где dbase — имя вашей базы данных), файлы .dat и .idx связаны с Informix Standard Engine, он же Информикс SE.SE использует C-ISAM для управления своим хранилищем.SE сильно отличается от Informix Dynamic Server (IDS) (и намного проще его).Не исключено, что файлы .dat и .idx связаны с IDS;это просто крайне маловероятно.

Судя по доступной информации, похоже, что на вашем рабочем сервере работает SE.Чтобы получить данные из SE в IDS, вы, вероятно, захотите использовать DB-Export на стороне SE и DB-Import на стороне Linux/IDS.Конечно, это самый простой способ сделать это.

Существуют и другие возможные решения, одним из которых является блок данных C-ISAM, но они более дорогие и, вероятно, не имеют гарантии.Существуют и другие возможные решения для загрузки, например HPL (High-Performance Loader).

Для получения дополнительной информации об Informix используйте различные веб-сайты, на которые уже есть ссылки (http://www.informix.com — это ссылка на раздел Informix на веб-сайте IBM) или воспользуйтесь Международная группа пользователей Informix (IIUG) Веб-сайт.Существуют списки рассылки (требуют вашего участия, но членство бесплатное) для подробного обсуждения Informix.

Эти файлы данных Informix-SE (.DAT) и связанные с ними индексные файлы (.IDX) бесполезны, если у вас также нет всех связанных файлов каталога, таких как SYSTABLES.DAT, SYSTABLES.IDX, SYSCOLUMNS, SYSINDEXES и т. д.

Тогда вам также придется беспокоиться о том, какая версия Informix-SE их создала, поскольку некоторые из них имеют размер узла индексного файла 2 КБ или 4 КБ.

Лучше всего получить все файлы .DAT и .IDX из исходной базы данных, а также правильный стандартный движок, установленный на том же оборудовании и в той же операционной системе, из которой он был получен.

Короче говоря, на исходном компьютере запустите «dbexport», чтобы выгрузить все данные в файлы ascii, и запустите «dbschema», чтобы сгенерировать все схемы таблиц и индексы.Также не помешало бы запустить «bcheck» для всех файлов перед их выгрузкой в ​​плоские файлы ascii.

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

Кроме того, будьте осторожны с проблемами, вызванными различной архитектурой системы;некоторые БД резко терпят неудачу, если вы перемещаете их из системы с прямым порядком байтов (например, Solaris) в систему с прямым порядком байтов (например, x86 Linux). Опять же, раздел руководства по перемещению БД будет охватывать любые дополнительные необходимые шаги.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top