powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по концепту: redo log, roll back segments
21 сообщений из 46, страница 2 из 2
Вопрос по концепту: redo log, roll back segments
    #32140275
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Violina

Вот тут-то Вы и попались. DDL идет как обычный DML над таблицами словаря. Он так и виден LogMiner'ом. И команды drop database не существует...

2 ppp

Команды в журнал и откат не пишутся в виде SQL'а. Они пишутся в виде внутренних команд. Поэтому не надо все понимать буквально, что копируются блоки. Индексы ведь тоже обновляются... А многострочные DML пишутся пять-таки в виде кучи элементарных операций. Поэтому в LogMiner не видно одной большок команды вроде delete from t.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140292
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al

Ну что ж! Насчет DML таблиц словаря логично. Но ведь я была права, что DDL изменения прописываются в дата файлы сразу и не откатываются. Например, если я делаю DROP TABLE, то коммит происходит сразу же и я не могу эту операцию откатить. Не сбрасывает же он при этом все данные таблицы в сегменты отката, это зачастую просто не может быть возможным, если таблица большая или например партиционирована.

До использования LogMiner'а пока не дошла, так что проверить сама пока не могу.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140309
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А системный сегмент отката для чего нужен? Попробуйте прервать drop user bill cascade для пользователя с большим количеством объектов, увидите последовательное убиение объектов, но сам пользователь будет жив!
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140357
ppp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al
Ja poigrajusj malenko s Log Minerom , togda navernoe okonchatelno projasnitsa v
kakom vide informacija ob izmenenii rollback pishetsa v redo log, a to vse taki ne jasno, kak iz takih malenkih redo log ,Oracle mozet vosstanovitj rollback v sluchae naprimer dlinnoj operacii update ( kogda sam rollback dovolno bolshoj ).
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140544
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al

Как это нет DROP DATABASE? А как же тогда базу дропнуть если нужно, ручками? И файлы потом ручками вычищать?

Ну а в общем, являются ли мои предположения по поводу DDL операций правильными, что они сразу прописываются в дата файлы?

С drop user вроде понятно, что Оракл сначала ссылающиеся обьекты удаляет и лишь потом самого юзера - чтобы ни в коем случае не возникла неконсистентность. А вот интересно, если такую операцию прервать имитируя сбой (напримел отстрелив процесс Оракла), ее потом можно будет повторить или откатить?

А системный сегмент отката для чего нужен?
Системный сегмент отката нужен скорее всего для операций со словарем данных.

to ppp

Я вижу вы экспериментируете в LogMiner'ом. Не могли бы вы попробовать создать таблицу, залить туда достаточно много данных а потом дропнуть ее. Любопытно посмотреть, что произошло с реду и сегментами отката.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140571
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Violina

Чтобы убить базу, надо удалить все файлы, входящие в нее. А drop database все-таки не существует...

По поводу убиваемого юзера. Проще сделать "следственный эксперимент".

DDL действительно пишется в виде довольно сложных транзакций, заканчивающихся коммитом.

2 ppp

logminer дает не внутренний вид команд, а читабельный, поэтому с ним надо держать ухо востро. Это все-таки инструмент для восстановления данных. По поводу маленьких журналов - посмотрите еще раз мой постинг о чекпойнтах.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140587
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al

Мои следственные эсперименты по грубому прерыванию пока что не удавались - слишком быстро все происходит не успеваю их прервать. Как же наплодить столько объектов, чтобы их удаление заняло какое то время? И как прерывать процесс - в таск менеджере (win2000, SQL Navigator)?
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140623
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ну а в общем, являются ли мои предположения по поводу DDL операций правильными, что они сразу прописываются в дата файлы?

В этом смысле они отрабатывают также как и другие операции. Неявный коммит вас не должен смущать, поскольку запись измененных блоков данных на диск и коммит напрямую между собой не связаны.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140647
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to killed

Согласна, неявный коммит скорее не причина а следствие особенности DDL операций.

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

Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого!

Ждем результатов экспериментов ррр...
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140714
Angel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого!

Я ничего не понял :-)

Если не против небольшого освежения беседы, такая ситуация:

1. В сессии А: select * from табла; (допустим, 1000000 записей) - осуществляется вывод.
2. Пока в А выводятся результаты запроса, в сессии Б: drop table табла;

Ваши комментарии.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140782
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Angel

писал:
Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого!


Сожалею что пока не всегда могу ясно выражаться. Попробую перефразировать.

Под подходом я имела ввиду, преждевременное или наоборот отложенное прописывание DML изменений в дата файлы, который и обуславливает нагрузку на реду лог и сегмента отката.

Я пытаюсь выяснить свое предположение которое заключается в том, что в случае DDL операций, реду лог и сегмент отката нагружаются минимально, так как изменения DDL сразу отражаются в дата файлах, контрол файлах, словаре итп .

PS:
В использовании всяких средств я пока не сльна (изучаю концепт), поэтому мои возможности в экспериментах пока ограничены:-)

По вашему вопросу:
Пока выполняется SELECT, будет установлен LOCK (какой точно не знаю), так что DROP TABLE будет ждать окончания операции SELECT или будет выдана ошибка, что не может быть получен exclusive lock на таблицу в данный момент.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140838
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Violina,

При выполнении операций над словарем сегменты отката и журналы задействуются всегда на всю катушку, поскольку при некоторых обычных DML можно выключить журналирование (nologging) или откат (discrete transactions), а для словаря - нельзя. Другое дело, что изменения в словаре не затрагивают большого количества строк, поэтому выполняются быстро. Например, drop table - это вычеркивание строки таблицы, нескольких строк столбцов и нескольких строк занятого пространства + инвалидация зависимых объектов. Чем больше столбцов и экстентов, тем дольше будет работать удаление таблицы. Оракловская система чекпойнтов, записи журналов и отката не меняется для операций над словарем. Не забудьте о том, что словарь хранится в оптимальных для запросов и DML структурах данных (много кластеров). Чтобы посмотреть на них - гляньте на sql.bsq.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32140864
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al

Ну вот, опять неясно выразилась:-( Под нагрузкой я имела ввиду запись большого количества данных в реду и сегменты отката. И так, в свете этого, мое предположение звучит так:

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

Выяснив этот вопрос, я думаю эту тему можно закрыть. И так, ждем ответа ррр и комментариев желающих. Позже, я сама попробую поэкспериментирвоать.

За ответы

DDL идет как обычный DML над таблицами словаря.

Другое дело, что изменения в словаре не затрагивают большого количества строк, поэтому выполняются быстро.


большое спасибо, они очень помгли мне в понимании.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141023
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Violina,

Ваше предположение неверно. Запись в system мало отличается от других разделов (всегда проверяются контрольные суммы блоков).
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141083
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al

Хорошо, конкретизируем вопрос. Есть таблица TEST с большим количеством записей.
При выполнении DML команды DELETE FROM TEST должно записаться очень много данных в сегменты отката, чтобы иметь возможность откатить эту операцию если понадобится. Однако DDL команда DROP TABLE TEST запишет туда только изменения в словаре данных и откатить ее будет нельзя.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141118
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верно. Но измененные блоки словаря запишутся dbwr в датафайлы системного раздела на общих основаниях.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141303
ppp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Al
To estj vosstanavlivaetsa tolko nebolshaj chastj rollback segmenta posle poslednego chekpointa ?
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141305
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ppp

Именно так!
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141554
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AI

>Можно я отвечу про insert? В откат пишется операция delete from ttt where
>rowid='rrrrrrr'. Эта команда много места не занимает, поэтому нагрузка на
>сегменты отката при вставках минимальна, но максимальна журнальная
>информация. При удалениях обратная ситуация - максимальная нагрузка на
>сегменты отката и минимальная - на журналы.

ммм... не совсем так. Насчет минимальной нагрузки на при вставках и максимальной при удалениях на сегменты отката согласен, а вот насчет минимальной нагрузки на журналы при удалениях - этого не может быть по определению, т.к. нужно записать в журналы также все изменения в блоках сегментов отката (на которые как вы правильно заметили - нагрузка максимальна). Поэтому объем журнальной информации при удалениях все равно будет намного больше (где-то в 3 раза), чем при вставках.
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141589
ppp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Al
perechital vse postingi , tormozil ja konechno strahno )))
...
Рейтинг: 0 / 0
Вопрос по концепту: redo log, roll back segments
    #32141655
Грит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот яки гарьни хлопьци и дивчины здесь собравлися... як побачивь я этот форум... и захотел вопрос задавать...
Вопрос исключительно прикладной... почему наша БД всегда такая глючная и падучая... что делать ? пнуть dba не предлагати... ;) повесить его (или себя??) тоже... вобщем ваши 5TOP советов по повышению работоспособности сей СУБД оракл 8.1.x.x ...что имеет честь стоять у нас в контори...
Респект...
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по концепту: redo log, roll back segments
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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