Этот выпуск посвящен размещению сегментов отката в нескольких табличных пространствах. По мотивам ответа Тома Кайта на вопрос пользователя, заданный в апреле 2003 года. Ну, и для полноты картины - формальный синтаксис оператора CREATE ROLLBACK SEGMENT в Oracle 9i Release 2 (9.2.0)
А) Имеет ли смысл распределять сегменты отката по нескольким табличным пространствам, если эти пространства расположены на одном наборе дисков?
Б) Зависит ли ответ от версии Oracle?
А) В 9iR2 следует использовать одно табличное пространство UNDO, и все. В Oracle 9i явно настраивать сегменты отката больше не нужно.
В версиях 8i я всегда выделял отдельное табличное пространство для каждого сегмента отката. Это упрощает их уменьшение вручную (не используйте установку optimal - это напрасная трата времени) при необходимости. Одно табличное пространство, один файл, один сегмент отката - легко уменьшить.
Но, повторю еще раз: не используя табличные пространства UNDO в 9ir2, вы многое теряете.
b) see a
Привет, Том!
Почему только один сегмент отката? НЕ будет ли более эффективно создать несколько
сегментов отката, особенно в системе оперативной обработки транзакций (ООТ)?
Когда ты пишешь про один сегмент отката, должно ли в нем быть много (например, 30-40 или больше) экстентов или как можно меньше?
Когда можно утверждать, что одного сегмента отката не достаточно (конфликты при доступе к заголовку undo) и надо создавать новые (в версиях до 9i, естественно)?
Я писал про один сегмент отката?
Мне кажется, нет...
Я писал:
В 9iR2 - используйте табличное пространство undo и сервер Oracle сам позаботится о размере и количестве сегментов отката в этом табличном пространстве undo.
В 8i я создавал один сегмент отката в табличном пространстве, или отдельное табличное пространство для каждого сегмента отката. Я говорил об отношении один к одному между сегментом отката и табличным пространством, а не о количестве сегментов отката.
Оригинал обсуждения этого вопроса можно найти здесь.
Copyright © 2003 Oracle Corporation
Синтаксис конструкции хранения мы уже рассматривали в 24 выпуске рассылки.
Следующий оператор создает сегмент отката со стандартными параметрами хранения в локально управляемом табличном пространстве:
CREATE TABLESPACE rbs_ts DATAFILE 'rbs01.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 100K; /* Этот и следующий оператор не сработает, если база данных работает в режиме автоматического управления данными отмены - Automatic Undo Mode (9i). */ CREATE ROLLBACK SEGMENT rbs_one TABLESPACE rbs_ts;
Предыдущий оператор эквивалентен следующему:
CREATE ROLLBACK SEGMENT rbs_one
TABLESPACE rbs_ts
STORAGE (
INITIAL 10K
NEXT 10K
MAXEXTENTS UNLIMITED
);
Потерянные изменения и оптимистическое блокирование. Следите за новостями на сайте проекта Open Oracle.
С наилучшими пожеланиями,
В.К.
|
|