powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как удалить транзакцию из архивного журнала
15 сообщений из 15, страница 1 из 1
Как удалить транзакцию из архивного журнала
    #33661516
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юзер в 13:00 грохнул данные. Есть архив 0-го уровня и далее архивы журналов. Но предыдущий перед удалением данных журнал (например 9025) сархивировался в 8:30, а следующий (9026) в 16:00. Т.е. восстановил я из архива базу, дошёл по журналам до 9025 - 8:30. Если я накачу следующий журнал 9026, то данные естественно пропадут. А хотелось бы накатить, но как-то из него изъять транзакцию на удаление. Я знаю, что в Оракле такую операцию проделать можно. А можно ли в информиксе?
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33661620
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юзер в 13:00 грохнул данные. Есть архив 0-го уровня и далее архивы журналов. Но предыдущий перед удалением данных журнал (например 9025) сархивировался в 8:30, а следующий (9026) в 16:00. Т.е. восстановил я из архива базу, дошёл по журналам до 9025 - 8:30. Если я накачу следующий журнал 9026, то данные естественно пропадут. А хотелось бы накатить, но как-то из него изъять транзакцию на удаление. Я знаю, что в Оракле такую операцию проделать можно. А можно ли в информиксе?
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33661655
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем делал архивы - ontape или onbar?
Если ontape то накатить сможешь только на конкретный журнал. Если onbar то можно указать момент времени на который накатывать (point-to-time restore). Т.е. тебе надо указать момент времени до которого произошла фиксация удаления записей (commit), если все делал в одной транзакции, или же перед первым коммитом если в нескольких.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662072
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndronЧем делал архивы - ontape или onbar?
Если ontape то накатить сможешь только на конкретный журнал. Если onbar то можно указать момент времени на который накатывать (point-to-time restore). Т.е. тебе надо указать момент времени до которого произошла фиксация удаления записей (commit), если все делал в одной транзакции, или же перед первым коммитом если в нескольких.

Делаю ontape. Да-да, вспомнил, что в onbar есть возможность восстановления к указанному времени. Но чегой-то не сложилось у меня с onbar в своё время.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662271
ontape
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndronЧем делал архивы - ontape или onbar?
Если ontape то накатить сможешь только на конкретный журнал. Если onbar то можно указать момент времени на который накатывать (point-to-time restore). Т.е. тебе надо указать момент времени до которого произошла фиксация удаления записей (commit), если все делал в одной транзакции, или же перед первым коммитом если в нескольких.
Сорри, а как это, ontape-ом на конкретный журнал ?
А всю дорогу наивно полагал, что ontape восстанавливает лентами,
т.е. всеми журналами, которые есть в архиве ...
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662414
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ontapeСорри, а как это, ontape-ом на конкретный журнал ?
А всю дорогу наивно полагал, что ontape восстанавливает лентами,
т.е. всеми журналами, которые есть в архиве ...

Имеется ввиду, что ontape может накатывать только весь журнал, а не его часть в отличие от onbar. Тобишь в указанном мною примере: 0-й архив, далее 9000, 9001,...,9025 журналы. 9026 уже накатывать нет смысла, т.к. там сидит транзакция на удаление.
А onbar всё так же, но ещё может накатить часть 9026 журнала, в зависимости от указанного времени восстановления (до того момента, когда произошло удаление данных).
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662706
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если удаленные данные были в одной или двух таблицах, то можно восстановиться на резервный сервак и напрямую запросами взять данные и поместить в основную БД. Но на практике, в промышленной среде с ее бизнес-логикой на сервере приложения, триггерами и констрейтами...довольно проблематично :(
Проще заставить виноватого юзера руками занести все удаленные данные :)
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662786
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilisЕсли удаленные данные были в одной или двух таблицах, то можно восстановиться на резервный сервак и напрямую запросами взять данные и поместить в основную БД. Но на практике, в промышленной среде с ее бизнес-логикой на сервере приложения, триггерами и констрейтами...довольно проблематично :(
Проще заставить виноватого юзера руками занести все удаленные данные :)

Так весь вопрос как раз в том как на резервном серваке восстановить эти данные максимально близко к удалению. А перегнать их и скриптами можно.
А юзер это и не юзер вовсе, а просто молодой и неопытный программер. Он и не знает толком что удалил.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33662817
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rumata EstorskiyЮзер в 13:00 грохнул данные. Есть архив 0-го уровня и далее архивы журналов. Но предыдущий перед удалением данных журнал (например 9025) сархивировался в 8:30, а следующий (9026) в 16:00. Т.е. восстановил я из архива базу, дошёл по журналам до 9025 - 8:30. Если я накачу следующий журнал 9026, то данные естественно пропадут. А хотелось бы накатить, но как-то из него изъять транзакцию на удаление. Я знаю, что в Оракле такую операцию проделать можно. А можно ли в информиксе?

нельзя.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33663472
cleaner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно.
Только для этого нужно знать позицию в логе либо %использования на нужный момент времени.
С устройства с архивом логов выбираете необходимый размер архива для восстановления..
Начните с немного меньше требуемого размера.
После каждого восстановления логов ontape спрашивает есть ли еще архивы логов для восстановления.
Вы, постепенно увеличивая размер файла с архивом логов можете подойти в плотную к нужному вам месту.
При повторном использовании того же файла, ontape пропустит уже восстановленные транзакции.
Т.е. берете кусок архива логов и постепенно увеличивая его и подсовывая онтейпу подходите к нужному вам месту.

Но Василий прав, хлопотно все это. Возможно, что потом еще будете долгое время все это вылизывать и пожалеете о том, что не поручили пользователю заново вбить данные.
Так что лучше оцените затраты сейчас, чтобы потом не мучал геморрой.
Не всегда такие действия по восстановлению приводят к желаемому результату.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33663475
cleaner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее можно накатить до момента удаления.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33663671
Rumata Estorskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cleanerС устройства с архивом логов выбираете необходимый размер архива для восстановления..


Это как я могу выбрать размер? У меня журналы архивируются и складываются на диск в виде файлов. При восстановлении ontape просит только очередной журнал. Никаких размеров я никогда и нигде не видел. Не буду же я двоичный файл руками резать.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33663727
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем руками, dd подойдет. Называется "метод ловли льва в Африке".
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33663863
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisЕсли удаленные данные были в одной или двух таблицах, то можно восстановиться на резервный сервак и напрямую запросами взять данные и поместить в основную БД.

Теперь, когда IBM выпустила замечательную версию информикса IDS10, зачем тратить время на восстановление всего сервера, если надо восстановить только незначительную часть данных? :)
В 10 версии Informix есть table-level restore , поэтому можно вытащить данные на момент времени , главное - чтобы таблица существовала до того как сделали level-0. Кстати чем делали архив для этого не имеет значения, table-level restore одинаково работает с ontape и onbar.
...
Рейтинг: 0 / 0
Как удалить транзакцию из архивного журнала
    #33665678
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cleanerМожно.
Только для этого нужно знать позицию в логе либо %использования на нужный момент времени.
С устройства с архивом логов выбираете необходимый размер архива для восстановления..
Начните с немного меньше требуемого размера.
После каждого восстановления логов ontape спрашивает есть ли еще архивы логов для восстановления.
Вы, постепенно увеличивая размер файла с архивом логов можете подойти в плотную к нужному вам месту.
При повторном использовании того же файла, ontape пропустит уже восстановленные транзакции.
Т.е. берете кусок архива логов и постепенно увеличивая его и подсовывая онтейпу подходите к нужному вам месту.

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

Человек спрашивал, можно ли удалить одну транзакцию из лога, накатив все остальные. Правильный ответ - нельзя. Хоть делением файла, хоть как.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как удалить транзакцию из архивного журнала
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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