Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 NO FORCE LOGGING для табличного пространства  [new]
maxdart
Member

Откуда: spb
Сообщений: 31
Доброго всем дня!

Очень заинтересовал вопрос: а можно ли при наличии базы в режиме force logging иметь в ней tablespace, в котором force logging отключено?
Иными словами, инструкция
ALTER TABLESPACE ... NO FORCE LOGGING;

перекрывает настройки базы, или же такой финт невозможен?

Спасибо.
2 окт 14, 17:45    [16652003]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
maxdart,

НЕТ !

CREATE [UNDO] TABLESPACE
2 окт 14, 18:05    [16652103]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
ora601
Member

Откуда:
Сообщений: 750
maxdart
Доброго всем дня!

Очень заинтересовал вопрос: а можно ли при наличии базы в режиме force logging иметь в ней tablespace, в котором force logging отключено?
Иными словами, инструкция
ALTER TABLESPACE ... NO FORCE LOGGING;

перекрывает настройки базы, или же такой финт невозможен?

Спасибо.

И даже logging в этом tablespace отключен :)
2 окт 14, 18:16    [16652157]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
maxdart
Member

Откуда: spb
Сообщений: 31
AG#, спасибо за ответ!

А как еще можно разрулить такую ситуацию...

Как уже говорил, есть база в force logging режиме. В ней имеется достаточно тяжелая и большая матвьюха, которая обновляется раз в полчаса. Соответственно, база по этому поводу сильно плодит архивные логи, что не есть гут.

Делать рефреш матвьюшки, используя atomic_refresh = false нельзя хотя бы по причине того, что какие-то моменты времени выборка будет возвращать 0 строк. Делать кастомную логику рефреша с использованием direct path insert и иже с ним, чтобы избавиться от логов так же не получится - спасибо force logging.

Переписать запрос, на котором строится матвьюшка так, чтобы он достаточно быстро отрабатывал и в режиме реального времени не представляется возможным - очень много данных надо лопатить и аггрегировать. А доступ к информации из матвьюшки нужен пользователям постоянно.

Пока что в замешательстве.
2 окт 14, 18:23    [16652194]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
ora601
Member

Откуда:
Сообщений: 750
maxdart
AG#, спасибо за ответ!

А как еще можно разрулить такую ситуацию...

Как уже говорил, есть база в force logging режиме. В ней имеется достаточно тяжелая и большая матвьюха, которая обновляется раз в полчаса. Соответственно, база по этому поводу сильно плодит архивные логи, что не есть гут.

Делать рефреш матвьюшки, используя atomic_refresh = false нельзя хотя бы по причине того, что какие-то моменты времени выборка будет возвращать 0 строк. Делать кастомную логику рефреша с использованием direct path insert и иже с ним, чтобы избавиться от логов так же не получится - спасибо force logging.

Переписать запрос, на котором строится матвьюшка так, чтобы он достаточно быстро отрабатывал и в режиме реального времени не представляется возможным - очень много данных надо лопатить и аггрегировать. А доступ к информации из матвьюшки нужен пользователям постоянно.

Пока что в замешательстве.


Перевести force logging на уровень тейблспейсов?
2 окт 14, 18:33    [16652260]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
DВА
Member

Откуда:
Сообщений: 5439
С чего бы вдруг матвьюхе самой по себе начать обновляться в режиме nologging ?
2 окт 14, 18:57    [16652367]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
-2-
Member

Откуда:
Сообщений: 15330
maxdart,

отключение logging не поможет для обычного dml-обновления atomic_refresh = false. сделай два матвью и после пересчета create or replace synonym.
2 окт 14, 19:04    [16652409]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
maxdart
имеется достаточно тяжелая и большая матвьюха, которая обновляется раз в полчаса.
Делать рефреш матвьюшки, используя atomic_refresh = false нельзя


Не врубился. Причем тут atomic_refresh, ведь матвьюха хоть и тяжелая и большая, но ведь одна?

SY.

Сообщение было отредактировано: 5 окт 14, 00:41
5 окт 14, 00:40    [16661958]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
SY
maxdart
имеется достаточно тяжелая и большая матвьюха, которая обновляется раз в полчаса.
Делать рефреш матвьюшки, используя atomic_refresh = false нельзя


Не врубился. Причем тут atomic_refresh, ведь матвьюха хоть и тяжелая и большая, но ведь одна?

SY.
При atomic_refresh = false при refresh происходит truncate + insert /+ append */, поэтому возможен nologging, ну и даже без nologging за счет truncate redo будет меньше. Но автор очевидно ошибочно думает что без atomic_refresh = false можно избавиться от redo через force logging.
5 окт 14, 01:32    [16662121]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
This was not acceptable, so atomic refreshes are performed every 30 minutes. In atomic-refresh mode, users will continue to see the previous contents
5 окт 14, 01:49    [16662185]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
wurdu
При atomic_refresh = false при refresh происходит truncate + insert /+ append */


Спасибо, не знал. Но это при complete refresh, не так-ли? При fast refresh и atomic_refresh = false truncate не происходит.

SY.
5 окт 14, 03:18    [16662308]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
SY
wurdu
При atomic_refresh = false при refresh происходит truncate + insert /+ append */


Спасибо, не знал. Но это при complete refresh, не так-ли? При fast refresh и atomic_refresh = false truncate не происходит.

SY.
Конечно.
5 окт 14, 04:46    [16662332]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
wurdu,

т.е. complete refresh при atomic_refresh = false выходит несовместимы ?

такое действо: truncate + insert /+ append */ ...ну как-то не айс

вообще фича atomic_refresh какая-то странная...ну мож и нормальная...но неотлаженная нивкакую (по крайней мере пока проверять нужно на тестах...на продакшн я бы не стал пока рисковать)....кто знает что там за баги....
5 окт 14, 08:13    [16662365]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
AG#
wurdu,

т.е. complete refresh при atomic_refresh = false выходит несовместимы ?

такое действо: truncate + insert /+ append */ ...ну как-то не айс

вообще фича atomic_refresh какая-то странная...ну мож и нормальная...но неотлаженная нивкакую (по крайней мере пока проверять нужно на тестах...на продакшн я бы не стал пока рисковать)....кто знает что там за баги....
Ну почему же несовместимые. До 10g это было дефолтное поведение при complete. Разница в том, что при atomic_refresh => true при complete используется delete + insert. Соответственно нет момента когда пользователь видит пустую таблицу. Опять же несколько таблиц обновляется в одну транзакцию. Ну а вообще, partition exchange, как тут уже предлагалось, вполне нормальный вариант
5 окт 14, 09:55    [16662432]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
wurdu
AG#
wurdu,

т.е. complete refresh при atomic_refresh = false выходит несовместимы ?

такое действо: truncate + insert /+ append */ ...ну как-то не айс

вообще фича atomic_refresh какая-то странная...ну мож и нормальная...но неотлаженная нивкакую (по крайней мере пока проверять нужно на тестах...на продакшн я бы не стал пока рисковать)....кто знает что там за баги....
Ну почему же несовместимые. До 10g это было дефолтное поведение при complete. Разница в том, что при atomic_refresh => true при complete используется delete + insert. Соответственно нет момента когда пользователь видит пустую таблицу. Опять же несколько таблиц обновляется в одну транзакцию. Ну а вообще, partition exchange, как тут уже предлагалось, вполне нормальный вариант


partition exchange в принципе да...вроде нормальный вариант...хотя опять-же DDL...смотреть конечно нужно исходя от бизнеса, если есть возможность нарезать, выполнять в какое-то свободное временное окно
5 окт 14, 17:45    [16663219]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
Звиняюсь...мож туплю ? ))) partition exchange...ребилд Indexes не потребуется ?
5 окт 14, 18:04    [16663262]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
AG#
Звиняюсь...мож туплю ? ))) partition exchange...ребилд Indexes не потребуется ?


Только global. Но в данном случае их не будет т.к. таблица (или MV) делается одной партицией (типа partition whole_table values less than (maxvalue)) и все индексы строятся local partitioned.

SY.
5 окт 14, 19:01    [16663400]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
SY
Только global


Упс. Чего-то меня занесло - exchange partition должен будет иметь INCLUDING INDEXES

SY.

Сообщение было отредактировано: 5 окт 14, 19:22
5 окт 14, 19:21    [16663440]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
[quot SY]
AG#
Звиняюсь...мож туплю ? ))) partition exchange...ребилд Indexes не потребуется ?


Только global. Но в данном случае их не будет т.к. таблица (или MV) делается одной партицией (типа partition whole_table values less than (maxvalue)) и все индексы строятся l[b]ocal partitioned[/

ну если так то норм....хотя сомнения....ну хер знает
values less than (maxvalue))
5 окт 14, 22:57    [16663928]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
SY
SY
Только global


Упс. Чего-то меня занесло - exchange partition должен будет иметь INCLUDING INDEXES

SY.


дык...)))
5 окт 14, 23:07    [16663949]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
AG#
дык...)))


INCLUDING INDEXES это не rebuild а такой-же exchange, так-что пройдет моментально. А вот GLOBAL придется rebuildать.

SY.
6 окт 14, 01:55    [16664204]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
SY
AG#
дык...)))


INCLUDING INDEXES это не rebuild а такой-же exchange, так-что пройдет моментально. А вот GLOBAL придется rebuildать.

SY.


ну это именно и имел ввиду....GLOBAL
6 окт 14, 07:28    [16664305]     Ответить | Цитировать Сообщить модератору
 Re: NO FORCE LOGGING для табличного пространства  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
GLOBAL ребилд на 100-200 гиг....кошмар
6 окт 14, 07:35    [16664310]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить