Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Восстановление журнала транзакций из БД / 13 сообщений из 13, страница 1 из 1
12.01.2012, 17:17
    #37611538
sas-koval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
База Sybase ASA Version 8.0.3.5267
Устанавливается в комплекте со сторонней программой управления устройства. т.е. какая-то урезаная версия.
В один прекрасный день обнаружил, что программа управления не работает и увидел ошибку о том, что закончилось место на диске.
Нехитрым методом нашёл, что файл лога транзакций базы вырос до 31 гига. Поскольку это всего лишь лог - удалил его руками и запустил базу..... база не запустилась с ошибкой о том, что не смог найти журнал транзакций.
Чешу репу. Пробовал подставить аналогичный файл с другого компа, но ничего хорошего не выяснилось.

Теперь все поржали над моими аля админскими методами и давайте прикинем, что можно сделать...
Собственно вопросы:
1. зачем программе журнал? почему ей не создать новый файл и продолжать писать туда?
2. если файл журнала транзакций содержит все команды которыми создавалась база, то теоретически возможно из файла db сгенерить журнал, который будет содержать все команды по созданию и наполнению базы данных. если возможно, то как это сделать?
Есть у меня подозрение, что Sybase Central мог бы помочь мне сгенерить этот файл журнала с нуля, но поскольку у меня урезаня версия, то ничего такого у меня нету под рукой. + не уверн, что найду подходящую версию этой программы.

Что скажите?
...
Рейтинг: 0 / 0
12.01.2012, 17:23
    #37611559
roleks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
Могу посоветовать старую пословицу: Семь раз отмерь, один раз отрежь

А если серьезно - попробуй запустить принудительно без лога...а вдруг....
...
Рейтинг: 0 / 0
12.01.2012, 17:25
    #37611565
roleks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
И еще... погугли нет насчет того для чего нужен бд нужен лог и что туда пишется
...
Рейтинг: 0 / 0
12.01.2012, 17:29
    #37611583
pand
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
Насколько я понимаю сейчас модно не читать и не изучать софт с которым работаешь.

dbeng8 -f имя базы может Вам помочь.
а для вечерних медитаций очень рекомендую dbeng8 -h
...
Рейтинг: 0 / 0
12.01.2012, 17:34
    #37611601
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
12.01.2012 18:17, sas-koval пишет:

> Нехитрым методом нашёл, что файл лога транзакций базы вырос до 31 гига.
> Поскольку это всего лишь лог - удалил его руками и запустил базу.....
> база не запустилась с ошибкой о том, что не смог найти журнал транзакций.

Гениально...

> Теперь все поржали над моими аля админскими методами и давайте прикинем,
> что можно сделать...

Отрезать тебе руки, чтобы ты никогда не лез в то, в чём не разбираешься.

> 1. зачем программе журнал?

Нужен.

> 2. если файл журнала транзакций содержит все команды которыми
> создавалась база, то теоретически возможно из файла db сгенерить журнал

Нельзя. Подумай хоть 5 минут.

> Что скажите?

Безнадёжен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.01.2012, 18:35
    #37611731
sas-koval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
roleks, принудительно без журнала - не запускается и собственно выдаёт ошибку.
Про цель журнала транзакции уже почитал и везде написано, что он нужен для того, чтоб восстановить данные в самой БД на любой момент времени с момента создания БД, например в случае крушения БД. Но нигде не написано, что не имея журнала (как бы истории) невозможно пользоваться БД.

pand, не могу сказать за всех, но я работаю не с БД, а с устройством. а для его управления уж используется БД без участия пользователя. И при этом к программе управления не прилагается утилит, которые помогали бы работать с базой. нет такой кнопки типа "усечь файл журнала транзакций". никто не предусмотрел, что в процессе работы журнал может вырасти до 31 гига.
про dbeng8 впервые слышу от вас и попробую разобраться с тем, для чего он нужен и где я его смогу достать. В любом случае за совет Спасибо.

Dim2000, я не удивлён, что обрету и такой отзыв :)

> Отрезать тебе руки, чтобы ты никогда не лез в то, в чём не разбираешься.
ведь если не лезть, то никогда и не разберёшься.

> Нужен.
я уж понял это. если знаешь - объяснил бы. если лишь бы ответить, то лучше открой другую тему форума...

> Нельзя. Подумай хоть 5 минут.
Думал. более 5-ти минут. если это не описание структуры БД, то это просто лог. и он не нужен программе. он нужен только если что-то пойдёт "не по плану". а если в нём содержится описание структуры БД, то он не должен называться *.log . он не должен называться "журналом".

> Безнадёжен.
твоё мнение учтено. ждём ещё мнений.
...
Рейтинг: 0 / 0
12.01.2012, 19:39
    #37611828
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
хелп из десятой вермсии, но и для восьмой должно подойти
Syntax
{ dbsrv10 | dbeng10 } -f ...

Applies to
All operating systems and servers.

Remarks
If there is no transaction log, the database server performs a checkpoint recovery of the database and then terminates—it doesn't continue to run. You can then restart the database server without the -f option for normal operation.

If there is a transaction log in the same directory as the database, the database server performs a checkpoint recovery, and a recovery using the transaction log, and then terminates—it doesn't continue to run. You can then restart the database server without the -f option for normal operation.

Specifying a cache size when starting the server can reduce recovery time.

See Backup and Data Recovery.

Example
The following command forces the database server to start and perform a recovery of the database mydatabase.db:

dbeng10 mydatabase.db -f
...
Рейтинг: 0 / 0
12.01.2012, 19:42
    #37611831
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
т.е. запустить базу с ключем -f, подождать пока отработает процесс её проверки и создасться новый лог маленького размера.
потом запускать базу/устройство в обычном режиме.
Корректно лог резать надо по-другому. Изучайте раздел хелпа по backup. Тут на форуме уже обсуждалось,коакой командой резать лог.
...
Рейтинг: 0 / 0
12.01.2012, 19:58
    #37611862
sas-koval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
Круто, спасибо за совет. Про правильный метод уже начитался. хочется эту запустить с наименьшим сопротивлением.
Народ. Если вдруг есть у кого под рукой этот dbeng для 8-й версии - бросьте плиз на sas-koval_mail_ru. Реально за 10 минут не нашёл и дальше буду искать уже завтра :)
...
Рейтинг: 0 / 0
13.01.2012, 11:10
    #37612566
roleks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
sas-kovalКруто, спасибо за совет. Про правильный метод уже начитался. хочется эту запустить с наименьшим сопротивлением.
Народ. Если вдруг есть у кого под рукой этот dbeng для 8-й версии - бросьте плиз на sas-koval_mail_ru. Реально за 10 минут не нашёл и дальше буду искать уже завтра :)

Аффтар жжет.
А как же у тебя БД поднимается?

Подсказка: если нет dbeng, ищи dbsrv
...
Рейтинг: 0 / 0
13.01.2012, 13:29
    #37612901
pand
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
sas-kovalpand, не могу сказать за всех, но я работаю не с БД, а с устройством. а для его управления уж используется БД без участия пользователя. И при этом к программе управления не прилагается утилит, которые помогали бы работать с базой. нет такой кнопки типа "усечь файл журнала транзакций". никто не предусмотрел, что в процессе работы журнал может вырасти до 31 гига.
про dbeng8 впервые слышу от вас и попробую разобраться с тем, для чего он нужен и где я его смогу достать. В любом случае за совет Спасибо.

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

sas-kovalDim2000, я не удивлён, что обрету и такой отзыв :)

Он сегодня в хорошем расположении духа :)

Думаю, не буду оригинальным, но лучшее средство от гемороя мозга это чтение документаций.

вас должна спасти одна из двух пуль
dbsrv8 -f имя-базы
dbeng8 -f имя-базы
один из этих файлов у вас обязательно должен быть.
...
Рейтинг: 0 / 0
13.01.2012, 15:05
    #37613200
sas-koval
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
pand, dbsrv8 у меня был и остаётся. на нём и поднимается. не знал я, что это похожие программы и что ключи от одной подойдут и другой.
В итоге скачал и установил полную версию БД, забрал с неё dbeng8, запустил с ключём -f и минут через 20 база ожила.
Прога ожила и резервную копию файлов уже сделал.
Всем большое спасибо, вопрос закрыт.

По вопросу "почему полез" хочу сказать, что в этих делах у нас идут ко мне. Был бы админ - решали бы вместе. А так - решал вопрос надеясь на интуицию :)
а интуиция подсказала, что расширение log добавляется к тем файлам, которые не имеют критической важности.
Ну да ладно.. признаю свою вину, обещаю в следующий раз с базами быть аккуратней и закрываю тему.
...
Рейтинг: 0 / 0
13.01.2012, 15:44
    #37613319
BirdIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление журнала транзакций из БД
sas-koval,

обещайте что не только с базами..
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Восстановление журнала транзакций из БД / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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