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

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

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

INSERT INTO

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

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

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

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

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

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

Пример

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

Пример

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

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

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

Как можно реализовать второй вариант? С помощью какой тулзы, и т.д.
...
Рейтинг: 0 / 0
30.10.2012, 17:48
    #38019151
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
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
30.10.2012, 18:34
    #38019226
us2h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Спасибо большое, за такой развернутый ответ.

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

Открыть файл .SQL в редакторе Дата Студио и нажать Ф5. Перед этим нужно, конечно, создать пустую базу, что проще сделать из командной строки, чем из Дата Студио.
...
Рейтинг: 0 / 0
31.10.2012, 01:56
    #38019497
Jek_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
авторВсмысле я не могу найти в Data Studio где можно выполнить этот код
Зачем вам Data Studio? Всё можно сделать легко через command line, как вам описал всю процедуру Mark Barinstein.
1. Выполните login от пользователя, который является владельцам DB2.
2. Открывайте command line
3. Выполняем, то что описал Mark Barinstein.
...
Рейтинг: 0 / 0
31.10.2012, 02:12
    #38019503
Jek_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
авторЯ тут через 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
31.10.2012, 02:15
    #38019504
us2h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Да плюнул я на сервер под окнами и студию :) Разобрался как поднять в консоли под линуксом, поднял, базу создал, приконектился, снаружи тоже конектится через студию.

Теперь другая проблема, не могу подключится к базе из 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
31.10.2012, 03:28
    #38019512
Jek_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
...
Рейтинг: 0 / 0
31.10.2012, 18:02
    #38020605
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
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
01.11.2012, 13:11
    #38021519
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
читаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.
...
Рейтинг: 0 / 0
01.11.2012, 15:14
    #38021880
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Ggg_oldчитаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.Для разных задач удобнее использовать тот или иной инструмент.
Ну не нашёл человек, как открыть файл в Data Studio (не так уж сложно, впрочем - File -> Open File, Run SQL)...
Данную задачу - выполнение скрипта, знающий человек выполнит гораздо быстрее, чем из графического интерфейса.
Я, например, пользуюсь Data Studio для разработки - мне там удобнее.
Да, в ней есть много чего, что можно было бы улучшить, но она и в таком виде годится для множества задач.
...
Рейтинг: 0 / 0
04.11.2012, 01:45
    #38024799
us2h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Вообщем получилось все таки подключится к БД из 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
04.11.2012, 02:35
    #38024823
us2h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Видимо проблема была в том что я базу нерпавильно создал, создал в студии автоматически, все стало ОК
...
Рейтинг: 0 / 0
12.11.2012, 14:16
    #38034656
Востановление БД из sql файла
Ggg_oldчитаю, волосы дыбом становятся. На дворе конец 2012 года, а для простейших действий с базой по прежнему нужно что-то делать из консоли имея прокачанные скиллы. Толку с этих графических тулзов, если ими новичек пользоваться не может, а знающим оно уже не нужно? Как страшно далека ИБМ от народа.
Категорически согласен. Причём, не графическими тулзами новичёк тоже пользоваться не может, это ещё сложнее, чем графическими - там хоть можно догадаться о чём-то. Книжек нет, ибо непопулярна; внятной документации, ориентированной на новичков нет. Если бы вышестоящая организация не взяла с потолка, что нужно пользоваться db2, не стал бы связываться. Харе Кришна, сохранились ещё люди, которые на вопросы отвечают...

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


Будет создана команда на всё, что можно? Процедуры, пользователи, и т.д. и т.п.?
...
Рейтинг: 0 / 0
12.11.2012, 15:16
    #38034775
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Востановление БД из sql файла
Честный чайникКнижек нет, ибо непопулярна; внятной документации, ориентированной на новичков нет.Книжки есть.
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
12.11.2012, 15:37
    #38034830
Востановление БД из sql файла
Честный чайник,

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

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

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

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

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

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


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