Restore и опция Use All Space

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

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

Ответить
Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Restore и опция Use All Space

Сообщение Владимир Симашко » 30 окт 2005, 20:35

Подскажите возможную причину: FB 1.5.2, файл БД около 1,5ГБ, IBexpert-2005. Делаю BACKUP, потом дважды RESTORE из одного файла бэкапа: один раз с включенной опцией Use All Space, другой - с выключенной. Получаю базы одинакового размера. Вроде бы первый раз БД должна получиться на 20% меньше ?! :shock: И как будто, когда работал под FB 1.0, так и было ...

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 30 окт 2005, 21:38

Сними статистику с обеих БД и посмотри на % заполнения страниц

Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Сообщение Владимир Симашко » 30 окт 2005, 23:04

hvlad писал(а):Сними статистику с обеих БД и посмотри на % заполнения страниц
В обоих случаях Average Fill 96..97%

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

Сообщение kdv » 31 окт 2005, 10:38

reserve_all_space имеет смысл только при записи базы на CD. В остальных случаях оно только вредит.
статистику по базам лучше сравнить ibanalyst-ом, или даже windiff-ом.

Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Сообщение Владимир Симашко » 31 окт 2005, 13:25

kdv писал(а):reserve_all_space имеет смысл только при записи базы на CD. В остальных случаях оно только вредит.
статистику по базам лучше сравнить ibanalyst-ом, или даже windiff-ом.
Я ежемесячно откладываю архив операций, куда гарантированно никто ничего не запишет, но смотрят его интенсивно. Хочется сделать его компактным. Может, я запутался в опциях BACKUP-а ? Если в IBExpert я ВЫКЛЮЧАЮ птичку "Garbage Collection", это соответствует тому, что в GBAK я указываю опцию -G ( inhibit garbage collection ), сборка мусора НЕ производится, старые версии записей остаются у меня в файле BACKUP-а, и поэтому как не РЕСТОРЬ, свободные 20 % будут заняты старыми версиями :?: Или это я перемудрил ?

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 31 окт 2005, 14:21

Если в IBExpert я ВЫКЛЮЧАЮ птичку "Garbage Collection", это соответствует тому, что в GBAK я указываю опцию -G ( inhibit garbage collection ), сборка мусора НЕ производится, старые версии записей остаются у меня в файле BACKUP-а, и поэтому как не РЕСТОРЬ, свободные 20 % будут заняты старыми версиями Или это я перемудрил ?
Налицо непонимание сути процесса... Мусор в файл бэкапа не попадает НИКОГДА ни при каких ключах :wink:

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

Сообщение kdv » 31 окт 2005, 14:31

старые версии записей остаются у меня в файле BACKUP-а
круто. почему люди думают, что в бэкап записывается мусор? Кому и накой он там нужен, если он МУСОР? И вообще, кому нужны в бэкапе даже немусорные версии записей?

Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Сообщение Владимир Симашко » 31 окт 2005, 15:26

Ivan_Pisarevsky писал(а):
Если в IBExpert я ВЫКЛЮЧАЮ птичку "Garbage Collection", это соответствует тому, что в GBAK я указываю опцию -G ( inhibit garbage collection ), сборка мусора НЕ производится, старые версии записей остаются у меня в файле BACKUP-а, и поэтому как не РЕСТОРЬ, свободные 20 % будут заняты старыми версиями Или это я перемудрил ?
Налицо непонимание сути процесса... Мусор в файл бэкапа не попадает НИКОГДА ни при каких ключах :wink:
Да, признаю. У меня непонимание - на что влияет при бэкапе опция -G . Единственное, что я заметил - БЕЗ этой опции (т.е. СО ВКЛЮЧЕННОЙ ПО УМОЛЧАНИЮ СБОРКОЙ МУСОРА) бэкап идет медленнее. И что вообще такое сборка мусора: сервер "чистит" неиспользуемые "староверсионные" блоки ? А зачем ? Если возникнет в них необходимость, сервер и так запишет туда какие-то данные.

Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Сообщение Владимир Симашко » 31 окт 2005, 15:32

kdv писал(а):
старые версии записей остаются у меня в файле BACKUP-а
круто. почему люди думают, что в бэкап записывается мусор? Кому и накой он там нужен, если он МУСОР? И вообще, кому нужны в бэкапе даже немусорные версии записей?
Потому что не смог я придумать для себя другого объяснения этому факту: я делаю RESTORE с ВЫКЛЮЧЕННОЙ опцией Use All Space, а страницы БД заняты под 100%...

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 31 окт 2005, 15:34

КДВ старался столько статей дельных понаписал, на www.ibase.ru понавыкладывал... почитай.

Гость

Сообщение Гость » 31 окт 2005, 16:30

Ivan_Pisarevsky писал(а):КДВ старался столько статей дельных понаписал, на www.ibase.ru понавыкладывал... почитай.
ОК, попробую ... :oops: :oops: :oops:

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

Сообщение kdv » 31 окт 2005, 16:53

самое главное - не надо вытыкать все что попало, если точно не знаешь, зачем оно. Не знаешь про reserve - забей. Не знаешь про мусор - прочитай статью (кстати, даже в мифах это упомянуто -
www.ibase.ru/devinfo/ibmyths.htm). Не знаешь про ключи gbak - читай opguide. Сомневаешься в ключе -nt, НЕ ИСПОЛЬЗУЙ, а еще лучше - спроси у знающих людей.

Владимир Симашко
Сообщения: 12
Зарегистрирован: 17 окт 2005, 10:34

Сообщение Владимир Симашко » 31 окт 2005, 23:56

kdv писал(а):reserve_all_space имеет смысл только при записи базы на CD. В остальных случаях оно только вредит.
статистику по базам лучше сравнить ibanalyst-ом, или даже windiff-ом.
Все-таки осмелюсь переспросить. Чем может повредить reserve_all_space (или Use_all_space), если в архивную БД никто ничего не пишет, а просматривают ее довольно интенсивно ?

Ответить