Дамп SQL из DB2
Я пытаюсь сбросить содержимое определенной схемы на одном сервере IBM DB2 UDB в текстовый файл sql (так же, как функциональность mysqldump mysql).
я наткнулся на db2look, но он только сбрасывает структуру схемы (только ddl, без dml).
Итак, как я могу сделать свое дело?
jrh.
5 ответов
можно использовать SQquirreL, клиент SQL, реализованный на Java,для этого. В его дереве " объекты "вы бы выбрали все нужные таблицы и выберите" Скрипты > создать скрипт данных " из контекстного меню.
то, что вы ищете-это db2move. Для конкретной схемы вы должны использовать переключатель "sn".
Так, например, для экспорта данных:
db2move [your_db_name] EXPORT -sn [your_schema_name]
есть много опций и переключателей, доступных для db2move в зависимости от того, что вы хотите сделать.
Если db2move не совсем то, что вам нужно, вы можете просмотреть таблицу параметры перемещения данных доступны в DB2.
можно использовать EXPORT
, и связанные с IMPORT
или LOAD
команды, если целью является передача данных обратно в другую базу данных DB2.
фактически, вы можете генерировать операторы the на основе метаданных из SYSCAT.TABLES
экспорт
SELECT 'EXPORT TO /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS TO /usr/data/SCHEMA/lbos/ MODIFIED BY LOBSINFILE SELECT * FROM SCHEMA.' || TABNAME || ';'
FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'SCHEMA'
ORDER BY TABNAME
импорт
SELECT 'IMPORT FROM /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS FROM /usr/data/SCHEMA/lobs/ MODIFIED BY LOBSINFILE INSERT INTO SCHEMA.' || TABNAME || ';'
FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'SCHEMA'
ORDER BY TABNAME
Если вам нужны фактические скрипты вставки, вам может потребоваться сторонний инструмент (я не знаю одного из них, предоставленного DB2, хотя я могу ошибаться.)
для импорта небольшая настройка для использования нагрузки помогает избежать отклонения строк.
db2-x "выберите" Загрузить из /usr/data/SCHEMA/ ' | | TABNAME||'.ixf все из ixf все посылает из /usr/данных/схемы/ изменены identityoverride вставить в CFEXT.'//TABNAME||'; 'ИЗ SYSCAT.Таблицы, где TABSCHEMA = 'CFEXT' порядок по имени табуляции " > / tmp / db2cfeimport.в SQL
схема Db2 со всей резервной копией DDL:
У меня есть команда ниже, она работала для меня, чтобы экспортировать все DDL.
db2look -d CusDb -x -e -z CusSchema -o OutputFile
синтаксис : db2look-D DbName - X-e-z SchemaName-o OutputFile_name