Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Разростание файла БД


Автор: tishaishii 5.2.2007, 18:08
FB 2x. Проблема: после полной очистки таблицы со многими записями, размер файла не уменьшается. Оно понятно, чтобы потом при заполнении было быстрее. Ну а если я хочу время от времени, чтобы БД сбрасывала вес?

Автор: Akella 6.2.2007, 09:08
Тебе нужно почитать про многоверсионную структуру записи. Это раз.
Во вторых после удаления сделай "пак-репак", т.е. упакую и распакуй базу. В этом случае только произойдёт "чистка" базы (удалятся ненужные версии записей), пересчет статистики индексов.

Автор: Romkin 6.2.2007, 10:40
Может, не "пак-репак", а бекап/ресторе?  smile 

Автор: Akella 6.2.2007, 11:53
Какая разница? В названии?

Автор: tishaishii 11.2.2007, 08:44
Как это сделать?

Автор: Akella 12.2.2007, 09:05
делай батник с таким текстом
это упаковка с проверкой, так сказать
Цитата

"c:\program files\firebird\firebird_2_0\bin\gbak.exe" -b -g -v -user sysdba -password masterkey host_name:C:\base\kvx.gdb d:\Backup\kvx.gbk

rem для уверенности, что нормально упаковка прошла, нужно распаковать в другое место
"c:\program files\firebird\firebird_2_0\bin\gbak.exe" -c -v -t -rep -user sysdba -password masterkey d:\Backup\kvx.gbk d:\Backup\kvx.gdb

pause


это распаковка
Цитата

"c:\program files\firebird\firebird_2_0\bin\gbak.exe" -c -v -t -rep -user sysdba -password masterkey d:\Backup\kvx.gbk host_name:C:\base\kvx.gdb


учти, что при распакове к базе ничего и никто не должен быть подключен, т.к. есть возможно повредить базу

Автор: tishaishii 12.2.2007, 23:41
А через SQL ни как?

Автор: Akella 13.2.2007, 09:02
да ты сам подумай: ну ладно при упаковке базы могут быть подключены клиенты, но при распаковке никто не должен быть подключен, какой, такой SQL можно использовать? Если хочешь использовать компоненты, то есть специалихированные компоненты, я имею  ввиду это не компоненты типа TIBQuery, TIBStoredProc, TIBTable. У компонентов Interbase нет специализированных компонентов для backup/restore, а вот специальных компонент хватает у FIB+ хватает (в том числе и для backup/restore), например: pFIBBackupService1, pFIBRestoreService1, pFIBValidationService1, pFIBSecurityService1 и т.д.

Автор: tishaishii 15.2.2007, 07:49
Ха-ха, в MSSQL и в MySQL есть `BACKUP DATABASE ...`.

Автор: Akella 15.2.2007, 09:41
ну и....

Автор: tishaishii 19.2.2007, 04:52
Я в смысле: 
Цитата
да ты сам подумай: ну ладно при упаковке базы могут быть подключены клиенты, но при распаковке никто не должен быть подключен, какой, такой SQL можно использовать?
.
Мне всё больше не нравится этот Interbase.

Автор: Alex 21.2.2007, 14:12
Цитата(tishaishii @  15.2.2007,  08:49 Найти цитируемый пост)
Ха-ха, в MSSQL и в MySQL есть `BACKUP DATABASE ...`. 

ага, только о версиональности данных эти БД узнали года два назад smile 

Автор: Akella 22.2.2007, 08:52
Цитата(tishaishii @  15.2.2007,  07:49 Найти цитируемый пост)
Ха-ха, в MSSQL и в MySQL есть `BACKUP DATABASE ...`. 

Не понял, что у самого сервера есть BACKUP DATABASE??? Ты, наверное что-то путаешь... BACKUP DATABASE есть, у программы(IDE), с помощью которой ты разрабатываешь БД. А для firebird в этом случае можно использовать среду разработки IBExpert. Вот так вот!

Автор: Alex 22.2.2007, 10:08
Цитата(Akella @  22.2.2007,  09:52 Найти цитируемый пост)
Не понял, что у самого сервера есть BACKUP DATABASE??? Ты, наверное что-то путаешь... BACKUP DATABASE есть, у программы(IDE), с помощью которой ты разрабатываешь БД. 

Akella, он не путает у них действительно есть такой оператор sql, они могут его иметь т.к. в упомянутых sql-серверах нет понятия файла БД у них есть сервер и уже в рамках него созданы БД. На самом деле и в FB можно обойтись без gbak используя сервисы.

Автор: tishaishii 22.2.2007, 20:51
Akella, Alex, "Ха-ха", на счёт "BACKUP DATABASE... - нету"
Alex, рассзкажи подробности.

Автор: Alex 22.2.2007, 23:54
tishaishii, чем пользуешься для доступа к FB?

Автор: tishaishii 25.2.2007, 11:19
IBExpert, т.к. он бесплатный и полезный.

Автор: Alex 25.2.2007, 11:43
Тогда меню Службы->Резервирование БД

Автор: tishaishii 27.2.2007, 09:19
Ну я пишу:
Код
gbak -b D:\E\home\www\realt\db\DB D:\E\home\www\realt\db\DB-BK -USER SYSDBA -PASS masterkey

Всё вроде работает

Автор: Akella 13.3.2007, 17:09
IBS FIREBIRD-INTERBASE BACKUP SCHEDULER 2.0.2
http://www.talatdogan.com/fibs.htm

Добавлено @ 17:11 
Цитата

планировщик backup. может по завершении отсылать по почте сообщения и даже бэкапы, автоматически запаковывает бэкапы архиватором, "револьверный" бэкап, лог действий и т.д.. Поддерживаются все версии InterBase, Firebird, Yaffil.

http://www.ibsafe.com/

Добавлено @ 17:13 
и вообще, tishaishii, вот сцилка на кучу разных инструментов для FB/IB

http://www.ibase.ru/d_tools.htm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)