Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ? / 11 сообщений из 11, страница 1 из 1
20.09.2013, 19:41:51
    #38403195
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
hi all

Имеется некий .fdb, полностью разломанный в итоге нагрузочного теста:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
[root@vmoel63 19:32:23 fb30]$ ls -la some_totally_broken.fdb
-rw-r-----. 1 firebird firebird 200835072 Sep 20 19:07 some_totally_broken.fdb

root@vmoel63 19:32:18 fb30]$ gstat -h some_totally_broken.fdb

Database "/var/db/fb30/some_totally_broken.fdb"
Database header page information:
        Flags                   0
        Generation              20654
        System Change Number    0
        Page size               4096
        ODS version             12.0
        Oldest transaction      20635
        Oldest active           20636
        Oldest snapshot         20636
        Next transaction        20637
        Sequence number         0
        Next attachment ID      410
        Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Sep 18, 2013 8:27:17
        Attributes

    Variable header data:
        Sweep interval:         0
        *END*


Хочу его перетереть законным (хотя и опасным) методом, и получаю шваброй:
Код: plaintext
1.
2.
[root@vmoel63 19:32:35 fb30]$ gbak  -rep  idx_under_load_test.fbk some_totally_broken.fdb
Aborted (core dumped)

При этом:
1) в firebird.conf'e выставлено BugCheckAbort=1, однако никакой коры в соотв-щей папке НЕТУ. Настройку папки хранения дампов (/etc/sysctl.conf) не менял с августа;
2) в логе ФБ появляется вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
vmoel63.local   Fri Sep 20 19:31:10 2013
        /opt/fb30/bin/fbguard: guardian starting /opt/fb30/bin/firebird

vmoel63.local   Fri Sep 20 19:32:45 2013
        Database: /var/db/fb30/some_totally_broken.fdb
        internal Firebird consistency check ( cannot find tip page (165), file: tra.cpp line: 2171 )

Так что сабж...
...
Рейтинг: 0 / 0
20.09.2013, 19:43:54
    #38403197
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
PS. LI-T3.0.0.30661 (сегодня собирал)
...
Рейтинг: 0 / 0
20.09.2013, 19:54:50
    #38403205
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
Потому что gbak (как ни странно) не создаёт БД сам, он просит об этом движок. А движок,
чтобы убил базу должен её открыть. Не знаю точно зачем, но как минимум чтобы убедиться,
что это действительно база, а не kernel32.dll и чтобы найти все вторичные файлы, теневые
копии и т.д. и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.09.2013, 19:57:53
    #38403208
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
Dimitry SibiryakovПотому что gbak (как ни странно) не создаёт БД сам, он просит об этом движок. А движок,
чтобы убил базу должен её открыть. Не знаю точно зачем, но как минимум чтобы убедиться,
что это действительно база, а не kernel32.dll и чтобы найти все вторичные файлы, теневые
копии и т.д. и т.п.gstat -h открывает эту базу, читая только её заголовок. Почему этого же не делает движок, зачем он копает "куда-то глубже" ?
...
Рейтинг: 0 / 0
20.09.2013, 22:00:22
    #38403278
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
штатный способ удаления базы один - drop database, он требует коннекта к базе. За сим продолжение дискуссии считаю бессмысленным.
...
Рейтинг: 0 / 0
20.09.2013, 22:01:48
    #38403279
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
[quot Таблоидgstat -h открывает эту базу, читая только её заголовок[/quot]
он не открывает базу, а читает ее первую страницу. Это две большие разницы.
...
Рейтинг: 0 / 0
20.09.2013, 23:01:13
    #38403298
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
Таблоид,

Т.е. ты предлагаешь слепо убивать БД, к которым есть коннекты ?

Dimitry SibiryakovА движок,
чтобы убил базу должен её открыть. Не знаю точно зачемСм. выше
...
Рейтинг: 0 / 0
21.09.2013, 00:31:31
    #38403318
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
hvladТ.е. ты предлагаешь слепо убивать БД, к которым есть коннекты ?Применение ключика '-rep' означает: "я всё знаю, за всё в ответе, и в случае чего - ССЗБ".
...
Рейтинг: 0 / 0
21.09.2013, 07:36:16
    #38403363
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
ТаблоидПрименение ключика '-rep' означает: "я всё знаю, за всё в ответе, и в случае чего - ССЗБ".... но это не отменяет всего, что должен сделать движок, чтобы drop-нуть базу.
...
Рейтинг: 0 / 0
21.09.2013, 14:02:52
    #38403478
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
Basil A. Sidorovэто не отменяет всего, что должен сделать движок, чтобы drop-нуть
базу.
Лично я не уверен, что сканирование TIP для отмены активных транзакций это необходимое для
убиения действо...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.09.2013, 15:46:47
    #38403516
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ?
dimitrЗа сим продолжение дискуссии считаю бессмысленным.Ты таки прав
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Зачем gbak лезет в корявый broken.fdb, если отдана команда на перетирание его (-rep) ? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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