Восстановление из архивной копии.

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

Ответить
Akella
Сообщения: 95
Зарегистрирован: 13 дек 2005, 12:07

Восстановление из архивной копии.

Сообщение Akella » 16 ноя 2006, 11:30

Установлен FB 2.0(Classic Server), использую IBExpert. Всё последних версий.
Проблема в следующем: невозможно восстановить базу из архивной копии средствами IBExpert`а (т.е. api, как я понимаю). Фактически IBExpert тут и не причём. Дело скорее всего в самом сервере (FB2.0) или в самой базе.
Постоянно разные сообщения об ошибках.
Если кому нужна база, в том смысле, что он хочет действительно помочь, то база весит 3,5 метра(архив WinRar). Вышлю.
А вот архивирование проходит нормально.

Добавлю, что GBAK и архивирует, и восстанавливает без проблем.

Вот лог IBExpert`а:
gbak: restoring column REMARK
IBE: Invalid token.
invalid request BLR at offset 14.
procedure TEL_LIST is not defined.
IBE: Restore completed. Current time: 9:21:29. Elapsed time: 00:00:00

-------------------

gbak:restoring table ARENDA
....
gbak: restoring column ID_STATE
gbak: restoring column PRICE_REMARK
IBE: This operation is not defined for system tables.
unsuccessful metadata update.
TABLE FIRMA_BUILD.
Can't have relation with only computed fields or constraints.
IBE: Restore completed. Current time: 9:26:02. Elapsed time: 00:00:00

---------------------------
gbak:restoring table APART
...

gbak: restoring column ID_UNDERGROUNDSTATION
IBE: This operation is not defined for system tables.
unsuccessful metadata update.
TABLE FIRMA_BUILD.
Can't have relation with only computed fields or constraints.
IBE: Restore completed. Current time: 9:27:25. Elapsed time: 00:00:00
---------------------------

gbak: restoring column PHONES_LIST
gbak: restoring column EXP
gbak:committing metadata for table APART
gbak: error committing metadata for table APART
gbak:restoring table ARENDA
gbak: restoring column INPUT_DATE
gbak: restoring column LCD
...
gbak: restoring column PRICE_REMARK
gbak: restoring column ID_UNDERGROUNDSTATION
IBE: This operation is not defined for system tables.
unsuccessful metadata update.
TABLE FIRMA_BUILD.
Can't have relation with only computed fields or constraints.
IBE: Restore completed. Current time: 9:32:54. Elapsed time: 00:00:00
------------------------------------

gbak:restoring table APART
gbak: restoring column INPUT_DATE
...
gbak: restoring column IS_PHONE
gbak: restoring column ORIENTIR
IBE: Invalid token.
invalid request BLR at offset 14.
procedure TEL_LIST is not defined.
IBE: Restore completed. Current time: 9:34:57. Elapsed time: 00:00:00
Меткой
------------------------------------------
я разделил разные сессии восстановления, чтобы показать, что при каждом восстановлении всё вермя разные ошибки. Вернее ошибки похожи, но вываливаются на разных таблицах и полях.
База моя. создавал её год назад, приблизительно, средствами IBExpert`a и FB2.0.
Заранее благодарен всем за ответы. Буду рад увидеть Ваши мнения.

Akella
Сообщения: 95
Зарегистрирован: 13 дек 2005, 12:07

Сообщение Akella » 16 ноя 2006, 12:36

Попробовал использовать
pFIBRestoreService
pFIBBackupService

результат положительный - и восстановление, и архивация проходят нормально, так что же? Дело в IB Expert`е?

Akella
Сообщения: 95
Зарегистрирован: 13 дек 2005, 12:07

Сообщение Akella » 16 ноя 2006, 13:18

возможно проблема из-за COMPUTED BY???

PHONES_LIST COMPUTED BY (((select TELS_LIST from TEL_LIST(APART.ID)))),

TEL_LIST - процедура

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 16 ноя 2006, 14:19

Побольше нужно компутедных полей с запросами к другим объектам плодить, побольше. На побольше граблей понаступаешь, побольше сереру работёнки задашь чтоб не скучал, побольше разработчикам мозги попудришь...

Akella
Сообщения: 95
Зарегистрирован: 13 дек 2005, 12:07

Сообщение Akella » 16 ноя 2006, 14:34

Уважаемый Merlin, возможно Вы и правы. Но ведь для чего-то существуют калькулируемые поля? Или разработчики придумали их для того, чтобы такие как я пудрили им, разработчикам, мозги, а такие как Вы нас понукали за то, что мы используем эти типы полей, придуманные теми самыми затурканными разработчиками.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 16 ноя 2006, 15:41

Предлагаю элементарно воспользоваться поиском, хотя бы по этому форуму. У таких как мну уже мозоль на езыке в том месте, которое про это говорит.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 ноя 2006, 20:31

Но ведь для чего-то существуют калькулируемые поля?
ну да, конечно. они существуют, чтобы в них напихали побольше селектов, особенно из процедур. Чтобы
1. загнуть производительность сервера в дупель
2. никакой враг не понял что же делается в базе
Или разработчики придумали их для того, чтобы такие как я пудрили им, разработчикам, мозги
мозги разработчикам дадены для того, чтобы они не конструировали сумасшедшие конструкции как в данном случае, так и с execute statement и прочими прелестями, а аккуратно пользовались тем, что есть в сервере.

Ответить