?

Log in

No account? Create an account
Db2 Federation: PostgreSQL (Linux)
zinal
Accessing PostgreSQL data sources with Db2 Federation under Linux:
Continue reading...Collapse )
Tags:

Внезапное
zinal
In public house of software
They steal your data, so beware:
They are the masters of disasters,
They are the best of East and West!

Читал системный журнал
zinal
Oct  4 18:12:54 toster dbus[1844]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Oct  4 18:12:54 toster dbus-daemon: dbus[1844]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Oct  4 18:12:54 toster dbus[1844]: [system] Successfully activated service 'org.freedesktop.problems'
Oct  4 18:12:54 toster dbus-daemon: dbus[1844]: [system] Successfully activated service 'org.freedesktop.problems'

Хозяйке на заметку
zinal
Если в крупной таблице необходимо обновить большое количество записей, легко "упереться" в ограничение на объём операций в рамках одной транзакции (в одном операторе). Для Oracle Database ограничивающим фактором оказывается предельный размер UNDO, для IBM Db2 - размер активной части журнала транзакций, и т.п. В любом случае, размер транзакции ограничен объёмом памяти, в которую записываются данные для отката этой транзакции.
Решение данного затруднения очевидно — нужно разбить крупную операцию на последовательность более мелких, с промежуточным подтверждением каждой транзакции. Требуется лишь понять, как ограничить размер единичной транзакции.
Проще всего опираться на количество изменённых записей. Современные СУБД позволяют ограничить количество изменяемых запросом записей. Также при выполнении запроса на изменение данных обычно можно, после завершения запроса, определить количество изменённых строк, либо, как минимум, факт отсутствия выполненных запросом изменений - это можно использовать как условие для остановки алгоритма.
Пример для Db2:

db2 -td@
BEGIN
  DECLARE SQLCODE INTEGER DEFAULT 0;
  DECLARE retcode INTEGER DEFAULT 1;
  WHILE (retcode > 0) DO
    UPDATE mytab SET date_oper=CAST('29.10.2012' as date)+ (300*RAND()) 
      WHERE date_oper IS NULL FETCH FIRST 100000 ROWS ONLY;
    SET retcode = SQLCODE;
    SET retcode = CASE WHEN retcode=100 THEN 0 ELSE 1 END;
    COMMIT;
  END WHILE;
END @
Tags: , ,

В цитатник
zinal

"Помощь техникой в борьбе с нечистой силой — это было мощно. По-военному". (C) Олег Дивов, "Саботажник"


Читал новости
zinal
За попытку совершения [Роскомнадзора] путем применения [Роскомнадзора] задержан [Роскомнадзор].

Всё-таки наши депутаты явно не туда направляют свою кипучую энергию. Жопа есть, а слова нет.

Глаз Сарумяна-строителя
zinal


Загадочное сооружение во дворе свежепостроенной школы. Вызывает ряд вопросов:
- что это такое?
- зачем оно?
- что курил архитектор?

Харизма в дверь не пролезает
default
zinal
( You are about to view content that may only be appropriate for adults. )

За что не любят либералов (c) sapojnik.livejournal.com
zinal
Очень правильный текст двухлетней давности. Но, блин, актуальный - и, видимо, навсегда.

Read more...Collapse )

(no subject)
benice
zinal
Утащил прекрасное с Кворы:


What would happen if an American aircraft carrier flew over Moscow? Could the Russians shoot it down?Collapse )