powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Востановление БД из sql файла
25 сообщений из 25, страница 1 из 1
Востановление БД из sql файла
    #38018708
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня,

Установил db2 на windows 7, поставил data studio, создал базу

Но... Заказчик прислал базу в виде sql файла, файл целиком состоит из

INSERT INTO

Вопрос, можно ли как то из этого файла развернуть базу? И можно ли это сделать через студию, если нет то как по другому?

В студии не нашел такого, есть только востановления из бекапа через эту же студию сделаного

Прошу прощения если вопрос глупый, но гугление что то ничего не дало, а читать целиком документацию по db2 времени нет.

Заранее спасибо
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018795
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
us2h,

Здравствуйте.

Ну а команды CREATE TABLE есть в файле?
В конце каждой команды какой символ стоит?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018822
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, CREATE TABLE нет, только инсерты

Пример

INSERT INTO "ZZZZZ"."YYYYY" (........');
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018837
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
us2hНет, CREATE TABLE нет, только инсерты

Пример

INSERT INTO "ZZZZZ"."YYYYY" (........');А что, все эти
"ZZZZZ"."YYYYY"
вы как-то сами создали в базе?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018903
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, вот и думаю, похоже что бекап такой не годится?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018909
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если у меня есть удаленный доступ к базе, имя, юзер, пароль, порт. Как правильнее забрать бекап что бы у себя развернуть?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38018962
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
us2hА если у меня есть удаленный доступ к базе, имя, юзер, пароль, порт. Как правильнее забрать бекап что бы у себя развернуть?Вы можете поступить 2-мя путями:

1. Сделать архив базы, забрать его как-то с удалённой машины, восстановить из него базу на локальном сервере.
2. Получить команды создания объектов БД (табличных пространств, таблиц, индексов и т.д.) и воссоздать их на локальном сервере, после чего выполнить скрипт с insert'ами для загрузки данных.

Что вам больше подходит?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019094
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо второе, потому как у меня нет доступа на машину с db2, есть только возможность удаленно подключится к самой БД. Иначе я бы уже сделал бекап через Data Studio :)

Как можно реализовать второй вариант? С помощью какой тулзы, и т.д.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019151
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
us2hКак можно реализовать второй вариант? С помощью какой тулзы, и т.д.Зарегистрируйте удалённую базу у себя. Из Start -> Run -> db2cwadmin
Код: plaintext
1.
db2 catalog tcpip node  myname  remote  hostname_or_ip  server  port_number 
db2 catalog db  dbname  as  dbalias  at node  myname 
Курсивом указаны строки, которые надо заменить на ваши подходящие значения.
'as dbalias ' надо указать, если у вас уже зарегистрирована база с таким именем, иначе можно не указывать. Если укажете, все команды ниже должны использовать dbalias вместо dbname .

Проверьте соединение:
Код: plaintext
db2 connect to  dbname  user  username  using  password 
Если удачно, выполните:
Код: plaintext
db2look -d  dbname  -a -e -l -x -td @ -o  dbname .ddl -i  usrename  -w  password 
В текущем каталоге (который предварительно лучше сменить на какой-нибудь пустой специально созданный для этого) появится файл dbname .ddl.

Исправьте в нем команды:
Код: plaintext
CONNECT TO ...@
на
Код: plaintext
CONNECT TO  localdb @
где localdb - имя вашей локальной базы.
Кроме того, в файле надо будет исправить в командах
CREATE ... TABLESPACE
пути к файлам/каталогам (если эти пути в команде есть) DB2, если в вашей системе таких нет или вы хотите другие пути использовать.

Далее:
Код: plaintext
db2 -td@ -vsf  dbname .ddl -z  dbname .log
оно либо отработает до конца, либо остановится на первой же ошибке.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019226
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, за такой развернутый ответ.

Я тут через Data Studio сгенерировал DDL, там есть CREATE, мне теперь по идее нужно как то этот код выполнить на своем сервере в своей базе? Не подскажите как и где? После этого, я полагаю, я смогу выполнить те INSERT INTO из того sql файла
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019228
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всмысле я не могу найти в Data Studio где можно выполнить этот код
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019296
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще такой вопрос, нужно производить какие то специальные настройки что бы база была доступна "снаружи"? А то пробую подключится к ней через Data Studio с другой машины и нифига...
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019488
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
us2hВсмысле я не могу найти в Data Studio где можно выполнить этот код

Открыть файл .SQL в редакторе Дата Студио и нажать Ф5. Перед этим нужно, конечно, создать пустую базу, что проще сделать из командной строки, чем из Дата Студио.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019497
Jek_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВсмысле я не могу найти в Data Studio где можно выполнить этот код
Зачем вам Data Studio? Всё можно сделать легко через command line, как вам описал всю процедуру Mark Barinstein.
1. Выполните login от пользователя, который является владельцам DB2.
2. Открывайте command line
3. Выполняем, то что описал Mark Barinstein.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019503
Jek_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯ тут через Data Studio сгенерировал DDL, там есть CREATE, мне теперь по идее нужно как то этот код выполнить на своем сервере в своей базе? Не подскажите как и где? После этого, я полагаю, я смогу выполнить те INSERT INTO из того sql файла
Как раз вот так, как объяснил Mark Barinstein. Вы можете выполнить ваш SQL скрипт с command line:
Код: powershell
1.
db2 -td@ -vsf foo.ddl -z dbname.log


зачем спрашивать дважды?
авторЕще такой вопрос, нужно производить какие то специальные настройки что бы база была доступна "снаружи"? А то пробую подключится к ней через Data Studio с другой машины и нифига...
Да, нужно. Configuring TCP/IP communications for a DB2 instance
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019504
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да плюнул я на сервер под окнами и студию :) Разобрался как поднять в консоли под линуксом, поднял, базу создал, приконектился, снаружи тоже конектится через студию.

Теперь другая проблема, не могу подключится к базе из php

pecl install ibm_db2 сделал, сначала конечно была проблемы с тем что его не хватало библиотек, скормил библиотеки, скомпилился.

но при попытке подключится из php выдает

could not find driver

Нагугли что нужно поставить pdo_odbc, делаю

pecl install pdo_odbc

в процесе оно просит указать что ставить и путь к библиотекам, пишу ibm-db2,/home/dbinst/sqllib/ не находит, скарпливал /opt/ibm/db2/V10.1/ та же фигня, вообщем никак не хочет он собираться.

Может кто сталкивался, подскажите как подключались из php
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38019512
Jek_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38020605
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
us2h,

Дополнение небольшое. В некоторый случаях бывает очень удобным выставить параметр базы AUTOREVAL в DEFERRED_FORCE (требуется реактивация базы), создать необходимые объекты не заморачиваясь на порядок, пройтись:
Код: sql
1.
2.
call admin_revalidate_db_objects();
select * from syscat.invalidobjects;


а потом вернуть autoreval в предыдущее значение.

auto_reval - Automatic revalidation and invalidation configuration parameter
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38021519
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38021880
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_oldчитаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.Для разных задач удобнее использовать тот или иной инструмент.
Ну не нашёл человек, как открыть файл в Data Studio (не так уж сложно, впрочем - File -> Open File, Run SQL)...
Данную задачу - выполнение скрипта, знающий человек выполнит гораздо быстрее, чем из графического интерфейса.
Я, например, пользуюсь Data Studio для разработки - мне там удобнее.
Да, в ней есть много чего, что можно было бы улучшить, но она и в таком виде годится для множества задач.
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38024799
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем получилось все таки подключится к БД из php. Спасибо всем за помощь, однако теперь возникла другая проблема, пытаюсь из Data Studio грохнуть тамблицу и получаю

CALL SYSPROC.ADMIN_CMD( 'EXPORT TO ./default_TEST001_QSQLSRC_TEST001.dat OF IXF SELECT * FROM TEST001.QSQLSRC' )

An I/O error (reason = "sqloopen -2079391743") occurred while opening the output file.. SQLCODE=-3001, SQLSTATE= , DRIVER=4.13.111

Как быть? В чем проблема?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38024823
us2h
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо проблема была в том что я базу нерпавильно создал, создал в студии автоматически, все стало ОК
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38034656
Ggg_oldчитаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.
Категорически согласен. Причём, не графическими тулзами новичёк тоже пользоваться не может, это ещё сложнее, чем графическими - там хоть можно догадаться о чём-то. Книжек нет, ибо непопулярна; внятной документации, ориентированной на новичков нет. Если бы вышестоящая организация не взяла с потолка, что нужно пользоваться db2, не стал бы связываться. Харе Кришна, сохранились ещё люди, которые на вопросы отвечают...

Почитал вышеизложеное, недопонял, можно ли что-нибудь скомандовать или в ДатаСтудио куда-то тыкнуть, чтобы создать текст команд на полное воссоздание базы. В результате вот этого:
Код: plsql
1.
db2look -d dbname -a -e -l -x -td @ -o dbname.ddl -i usrename -w password


Будет создана команда на всё, что можно? Процедуры, пользователи, и т.д. и т.п.?
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38034775
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честный чайникКнижек нет, ибо непопулярна; внятной документации, ориентированной на новичков нет.Книжки есть.
Getting Started with DB2 Express-C
Читали? Она невнятная?
Там же про DataStudio (правда, не по-русски).
Честный чайникПочитал вышеизложеное, недопонял, можно ли что-нибудь скомандовать или в ДатаСтудио куда-то тыкнуть, чтобы создать текст команд на полное воссоздание базы. В результате вот этого:
Код: plsql
1.
db2look -d dbname -a -e -l -x -td @ -o dbname.ddl -i usrename -w password


Будет создана команда на всё, что можно? Процедуры, пользователи, и т.д. и т.п.?В DataStudio клиенуть правой кнопкой мыши на базе и выбрать Generate DDL...
На выходе будет такой же примерно скрипт команд, как от db2look .
...
Рейтинг: 0 / 0
Востановление БД из sql файла
    #38034830
Честный чайник,

Непонятно чем конкретно недовольны?

Data Studio позволяет генерировать DDL (список SQL-операторов для воссоздания структуры БД) на всю базу данных. На небольших базах (на которых проверял) - работает. На больших и сложных не проверял. Мастер там вполне внятный, после генерации предлагает исполнить созданный скрипт на выбранном сервере и/или отредактировать и сохранить в файле.

Документации по СУБД более чем достаточно, но на английском. На русский кое-что переведено, но далеко не все, да тут "косяк".
Data Studio вполне функциональна, почти все можно выполнить через нее, но есть некоторые вещи, которые проще и надежнее делаются из командной строки. В любом случае (GUI или команды) некоторое базовое знание терминологии и принципов работы необходимо.

Про все команды и опции этих команд можно прочитать подробное описание, в том числе и с примерами, в официальном руководстве. Краткая справка обычно встроена непосредственно в команды (ключ -h).

Для новичков есть или платные книги (напр DB2 for Windows for Dummies ) или платные курсы. Однако можно освоить и самостоятельно, т.к. официальная документация содержит все нужное и достаточно подробна.

И да, СУБД DB2 не является продуктом, который можно освоить с "полпинка", просто потыкав по менюшкам и галочкам. Но, то же (ИМХО) можно сказать и про MS SQL, и про Oracle, и про PostgreSQL и про другие СУБД.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Востановление БД из sql файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]