Вы задали довольно сложный вопрос, не осознавая этого. Informix спроектирован как ядро базы данных с общим доступом, что означает, что все ресурсы, доступные для экземпляра, доступны для каждой базы данных в этом экземпляре. Это означает, что в вашем случае несколько баз данных могут хранить данные в любом заданном пространстве базы данных, .dat или .idx. Большинство администраторов баз данных знают лучше, чем делать это, но об этом нужно знать. Зная это, вы теперь знаете, что файлы .dat и .idx не принадлежат базе данных, а принадлежат экземпляру. Пространства баз данных и файлы были созданы для хранения данных вашей базы данных, но технически они относятся к экземпляру. Стоит отметить, что файлы .dat и .idx известны базе данных под логическим именем пространства баз данных.
Вооружившись этой справочной информацией и предполагая, что серверы производства и разработки работают под одной и той же ОС и что ваше оборудование относительно одинаковое, а не комбинация PARISC, Itanium или x86 / x64, я выброшу пару вариантов для вас.
- Создайте необходимые вам пространства баз данных в новом экземпляре и используйте onunload и onload
скопировать базу данных из производства в разработку.
- Используйте ontape или onbar для резервного копирования всего производственного экземпляра и
восстановите его на своем экземпляре разработки.
Вариант 1 требует, чтобы вы знали, как называются пространства баз данных и насколько они велики. Используйте onstat -d
в производственном экземпляре, чтобы выяснить это. Кстати, числа, перечисленные в onstat -d, указаны на страницах, я считаю, что Linux - это страница 2K.
Вариант 2 просто требует, чтобы пути к файлам данных были одинаковыми на обоих серверах. Это означает, что ROOTDBS должен быть одинаковым в обоих случаях. Это можно найти, выполнив onstat -c | grep ROOTDBS
Есть многое, что было упущено, но я надеюсь, что это даст вам информацию, необходимую для продвижения вперед с вашей задачей.