|
Модераторы: Akella |
|
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
В общем такая проблема, нужно перенести базу данных с сервера версии 2,0 на версию 2,5
Сделал бэкап имя_файла.fbk на рабоче сервере, из бэкапов восстановился локально на другой машине, версия 2,1, при восстановлении никаких проблем не возникло.(Ibexpert) Остановил работу сервера скопировал себе файлы баз данных имя_базы.fdb Перенес на другую машину(версия 2,5) подключился утилитой isql к файлу базы, сделал input "c:\Program Files\Firebird\Firebird_2_5\misc\upgrade\metadata\metadata_charset_create.sql" По инструкции начал проходить по базе уже select * from rdb$check_metadata Скрипт на каком то этапе выдал ошибку rdb$procedures rdb$procedure_source get_plan_details <null> statement faled, sqlstate=42000 malformed string -at procedure rdb$fixb_metadata line 86 col 17 at procedute rdb$check_metadata line 14 col 9 Последним он мне указывает процедуру где была ошибка? я правильно понял? Я вообще правильно базу переношу????? Потому как я понял при неправильном переносе очень велика вероятность повреждения базы. Если последовательность неверна прошу написать пряморукую последовательность. Хотелось бы восстановить базу без потерь. Это сообщение отредактировал(а) Radekk - 22.10.2013, 14:57 |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
нет зачем на 2.1? сразу под 2.5 восстанавливай Добавлено @ 15:44 На ПК, где установлен Firebird 2.5 сделай следующее: 1. Разверни (распакуй) встраиваемый сервер Firebird 2.0 в какой-нибудь папке. 2. В неё же скопируй файл базы BASE.FDB. 3. В этой же папке должно быть 2 файла: backup.bat и restore.bat 4. Вот содержимое первого: gbak.exe -b -v -user sysdba -password masterkey BASE.FDB BASE.FBK 5. Вот содержимое второго: "c:\program files (x86)\firebird\firebird_2_5\bin\gbak.exe" -c -v -rep -FIX_FSS_METADATA win1251 -user sysdba -password masterkey BASE.FBK BASE.FDB 6. Запусти вначале backup.bat - будет выполнено резервное копирование сервером Firebird 2.0. 7. Потом запусти restore.bat - будет выполнено восстановление сервером Firebird 2.5 Всё, теперь файл BASE.FDB у тебя должен нормально работать под FB 2.5 Обязательно прочитай внимательно про FIX_FSS_METADATA, т.к. там нужно кодировку правильную указывать. У тебя база в какой кодировке? |
|||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
это Firebird Embedded - предназначен для встраиваемых баз данных я правильно понял??? |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Маленькая поправка. В качестве пользователя (а соответственно и пароля к нему) следует указать учётную запись, которая должна быть владельцем (owner) базы данных. Да, в большинстве случаев разработчики на это не заморачиваются, и SYSDBA прокатывает. Но если заморочились, то без соблюдения этой мелочи большие проблемы неминуемы. Причём в далёком будущем, когда лечение будет стоить гораздо более дофига времени и ресурсов. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
так по пункту
4. Вот содержимое первого: gbak.exe -b -v -user sysdba -password masterkey BASE.FDB BASE.FBK батник запускает командную строку но база не бекапится мне надо как то переименовывать файлик fbembed.dll???? восстановление прошло успешно одна база вроде как заработала у второй скрипт запускается и вылетает. я подозреваю проблема уже в кодировках посмотрел по таблицам второй базы почти везде указано unicode_fss получается для второго файла вместо вин1251 указывать юникод_фсс???? есть ли возможность как то узнать о кодировке самой базы данных? базы создавались еще во времена когда я здесь не работал еще вопрос можно при восстановлении привести базу просто к юникоду???? очень полезно было бы, потому что в базах хранятся данные на нескольких языках и уже в программном коде моих приложений приходится делать костыли, да и плюс я где то читал что лучше поиск по базе организован с диокритикой, я уже этот вопрос на форуме поднимал как то. в общем чтобы базы можно было перетащить на новую версию сервера с новыми плюшками Спасибо. |
|||
|
||||
Akella |
|
||||||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
запомни раз и на всю жизнь: ВСЕГДА приводи полный, правильный, оригинальный текст ошибки Добавлено через 18 секунд и ооочень желательно не картинкой, а текстом Добавлено через 2 минуты и 16 секунд Попробуй переименовать в fbclient.dll Добавлено через 2 минуты и 56 секунд что-то не понял я тебя из чего же ты восстанавливаешь, если резервная копия не была создана Добавлено через 5 минут и 50 секунд
Ты это http://www.ibase.ru/firebird/21/metadata_charset.htm читал? Признавайся! Добавлено через 7 минут и 16 секунд а это видел? http://www.sql.ru/forum/903636/dlya-firebi...771935#11771935 Добавлено через 8 минут и 15 секунд
вот тебе ответ http://www.sql.ru/forum/actualutils.aspx?a...mp;msg=11965200 Добавлено через 9 минут и 33 секунды вот ещё http://www.sql.ru/forum/actualutils.aspx?a...mp;msg=11969730 Добавлено через 10 минут и 17 секунд и здесь http://www.sql.ru/forum/actualutils.aspx?a...mp;msg=11969763 важное замечание:
|
||||||
|
|||||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
Батник запускается, появляется окно командной строки и тут же закрывается, ошибку выглядеть не успел... Если бы я видел ошибку, неужто я бы ее не расписал тут, зная что это будет очень нужно. Восстанавливаю из .fbk файлов, Ibexpert-ом сделал бэкапы на сервере, с переносом файлов был только геморрой, но это дело третье. Уже прочитал(http://www.ibase.ru/firebird/21/metadata_charset.htm) в батнике нужно будет добавить еще параметр так? "C:\Program Files\Firebird\Firebird_2_5\bin\gbak.exe" -c -v -rep -FIX_FSS_METADATA win1251 --replace win1251 utf-8 -user sysdba -password masterkey USERSrad.fbk users_local.fdb я правильно понял? Остальное сейчас перечитаю. Спасибо. |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
Шутку оценил, смешно. Понял в чем суть ошибки, разобрался, бэкапы работают (мне чет взбрендило в башку что утилита просто запрятана где-то, стопорил батник, чтобы не закрывалась строка ошибок не было, уже когда зашел из строки в папку и попытался запустить бэкап, по ошибкам понял что эпично натупил). эта ссылка была очень полезной -скопировать fbembed.dll от 2.0 как fbclient.dll -скопировать gbak от 2.0 спасибо за помощь и терпение. Все как обычно выливается в RTFM, а я чет поторопился и был невнимателен. правда при бэкапе один раз потерял триггеры(когда бэкапился из IBexpert) при работе из командной строки все прошло хорошо, базы восстановил на 2.5 Database header page information: Flags 0 checsum 12345 page size 8192 ODS version 11.2 ... Вроде все нормально. Еще раз спасибо. |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
Есть еще вопрос
ALTER CHARACTER SET charset SET DEFAULT COLLATION collation пытаюсь применить к базе данных через isql утилиту и ничего не происходит, ошибок не выдает, однако база остается в прежней кодировке поля тоже. или в фениксе нельзя сменить тип кодировки и сравнение для созданных полей???? |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
а справку почитать пробовал? http://www.firebirdsql.org/refdocs/langref...dl-charset.html
|
|||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
Да ок я понял что будет работать только с полями которые я добавлю после, но почему из ibexpert меняется и кодировка и сравнение для созданных полей?
Или он каким-то более хитрым способом это делает? С наступающим! Кстати еще вопрос, тут присоветовали Database .NET как альтернативу ibexpert, пользовались? что-то можете сказать? |
|||
|
||||
Radekk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 11.4.2013 Репутация: нет Всего: нет |
в общем сделал чуть по-другому.
перенес практически вручную метадату(процедуры,вьюшки и таблицы), а вот с данными нашел канал на ютубе от ибэкспертов, там очень быстро и четко все расписано. переносил ibeblock скриптами. пример, может будет кому-то полезно.
все скриптики сохранял в файлики с расширением sql и сделал батничек чтобы можно было переносить все сразу в батнике "C:\Program Files (x86)\HK-Software\IBExpert\ibescript.exe" Название_файла.sql "C:\Program Files (x86)\HK-Software\IBExpert\ibescript.exe" Название_файла.sql "C:\Program Files (x86)\HK-Software\IBExpert\ibescript.exe" Название_файла.sql "C:\Program Files (x86)\HK-Software\IBExpert\ibescript.exe" Название_файла.sql etc. порядок сделал исходя от ключей и зависимостей таблиц. вроде разобрался, просто был опыт работы только с mysql и чуток с mssql. возможно можно было и проще, но я не мытьем так катаньем, все работает. спасибо за помощь и понимание. Это сообщение отредактировал(а) Radekk - 11.8.2014, 11:14 |
|||
|
||||
Правила форума "Interbase" | |
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |