Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DELETE и переполнение журнала транзакций / 3 сообщений из 3, страница 1 из 1
06.05.2010, 20:42
    #36616254
GarF1eld!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DELETE и переполнение журнала транзакций
Пытаюсь удалить из таблиы записи (247671 штук)
Код: plaintext
1.
2.
DELETE
FROM L
WHERE LD < TIMESTAMP('2010-04-01');
Получаю
Код: plaintext
DB2 Database Error: ERROR [ 57011 ] [IBM][DB2/NT] SQL0964C  The transaction log for the database is full.  SQLSTATE= 57011 
Можно ли это обойти? или только увеличивать размер лога?
...
Рейтинг: 0 / 0
07.05.2010, 07:44
    #36616581
Ivan Ivanich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DELETE и переполнение журнала транзакций
А как ты обойдёшь? База ведь пишет их в журнал, что бы откатиться в случае чего. Так что или сужай критерий where или увеличивай журнал или пиши хитрую процедуру которая будет удалять по частям и делать commit через каждые ну допустим 10000 записей.
...
Рейтинг: 0 / 0
07.05.2010, 10:32
    #36616807
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DELETE и переполнение журнала транзакций
GarF1eld!,

Воспользуйтесь хитрой процедурой :
Код: plaintext
call huge_change('select 1 FROM L WHERE LD < TIMESTAMP(''2010-04-01-00.00.00'')', 'delete from L',  1000 , ?)
Она будет делать commit после удаления каждой 1000 записей.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DELETE и переполнение журнала транзакций / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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