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

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

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

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

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

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


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

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

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

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


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