Какой самый простой способ скопировать базу данных с одного сервера Informix IDS 11 на другой - PullRequest
3 голосов
/ 09 сентября 2008

Исходная база данных довольно велика. Целевая база данных не растет автоматически. Они на разных машинах.

Я работаю на MS SQL Server, фон MySQL и IDS11 кажутся слишком сложными (я уверен, на это есть веские причины).

Ответы [ 5 ]

2 голосов
/ 03 октября 2008

У вас есть несколько вариантов.

dbexport / DBImport
OnUnload / OnLoad
Опции HPL (высокопроизводительный загрузчик).

Я лично использовал onunload / onload и dbexport / dbimport. Я не использовал HPL. Я использую IDS 10.

onunload / onload IBM документы

Резервное копирование необработанной базы данных на диск или ленту в виде фрагментов размера страницы. быстрее (особенно если вы идете на диск) Проблемы, если серверы баз данных работают на разных операционных системах или оборудовании или просто имеют разные размеры страниц.

dbexport / dbimport IBM docs
резервное копирование базы данных в файлы ascii с разделителями записывает схему ascii базы данных, включающей всех пользователей, таблицы, представления, индексы и т. Д. Все о структуре базы данных в один огромный текстовый файл. отдельные текстовые файлы для каждой таблицы базы данных не так быстро проблемы с dbimport для любой таблицы с неверными данными, любого представления с неправильным синтаксисом и т. Д. (Это может быть полезно, возможность идентифицировать и очистить) НЕ ОСТАВЛЯЙТЕ ЭТУ ЛЕНТУ НА ПЕРЕДНЕМ МЕСТЕ АВТОМОБИЛЯ, КОГДА ВЫ ЗАХОДИТЕ В МАГАЗИН ДЛЯ МОРОЖЕНОГО (или вы будете в новостях). Также прочитайте ... Не очень безопасный способ перемещения данных. :) Ограничение: Требуется эксклюзивный доступ к исходной базе данных.

Вот хорошее место для начала в документах -> Миграция данных между серверами баз данных

2 голосов
/ 10 сентября 2008

Одним из способов перемещения данных с одного сервера на другой является резервное копирование базы данных с помощью команды dbexport.

Затем после копирования файлов резервных копий на целевой сервер выполните команду dbimport.

Чтобы создать новую базу данных, вам нужно создать DBSpace для новой базы данных, используя инструмент onmonitor, на данный момент вы можете использовать существующие файлы с другого сервера.

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

Исходная база данных может состоять из множества кусков, которые вам также нужно будет скопировать и присоединить к новой базе данных.

2 голосов
/ 17 сентября 2008

Самый простой способ - это dbexport / dbimport, как уже упоминали другие.

Самый быстрый способ - использовать onpload, высокопроизводительный загрузчик. Если у вас есть много данных, но нет смешного количества таблиц, это определенно стоит того, чтобы ее использовать. На сайте IIUG есть несколько кусочков, которые могут помочь в написании сценариев HPL для генерации всей необходимой конфигурации.

1 голос
/ 28 января 2009

Если обе машины используют одну и ту же версию IDS, то другой вариант будет использовать ontape для создания резервной копии на одной машине одной машины и восстановления на другой. Вы можете использовать опцию STDIO, а затем просто передать резервную копию на другую машину, где восстановление может быть просто восстановлено с STDIO.

Из справочника «Репликация данных для высокой доступности и распространения»:

ontape -s -L 0 -F | rsh secondary_server "ontape –p"

Вы также можете создать ssh-соединение без пароля с хостами и передавать их более безопасным способом.

1 голос
/ 09 сентября 2008

вы использовали инструмент экспорта? Раньше был способ, если вы сначала переводили базы данных в режим покоя, а затем фактически могли копировать DBSpaces (инструмент dbspaces, я думаю ... это было несколько лет назад).

Потому что с informix вы имели обыкновение указывать DBSpaces, которые будут использоваться для таблицы (возможно, даже в таблице изменения?).

Проверка - инструмент dbaccess - есть команда экспорта.
Переведите БД в тихий режим или выключите, скопируйте пространства баз данных и затем прикрепите таблицу, указав, что она указывает на новый файл пространств баз данных. (Инструмент dbspaces может стоить того, чтобы на него посмотреть. У меня есть руководства здесь. Они 9.2, но он не должен был сильно измениться).

...