|
|
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
2 Violina Вот тут-то Вы и попались. DDL идет как обычный DML над таблицами словаря. Он так и виден LogMiner'ом. И команды drop database не существует... 2 ppp Команды в журнал и откат не пишутся в виде SQL'а. Они пишутся в виде внутренних команд. Поэтому не надо все понимать буквально, что копируются блоки. Индексы ведь тоже обновляются... А многострочные DML пишутся пять-таки в виде кучи элементарных операций. Поэтому в LogMiner не видно одной большок команды вроде delete from t. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 18:06 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al Ну что ж! Насчет DML таблиц словаря логично. Но ведь я была права, что DDL изменения прописываются в дата файлы сразу и не откатываются. Например, если я делаю DROP TABLE, то коммит происходит сразу же и я не могу эту операцию откатить. Не сбрасывает же он при этом все данные таблицы в сегменты отката, это зачастую просто не может быть возможным, если таблица большая или например партиционирована. До использования LogMiner'а пока не дошла, так что проверить сама пока не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 18:21 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
А системный сегмент отката для чего нужен? Попробуйте прервать drop user bill cascade для пользователя с большим количеством объектов, увидите последовательное убиение объектов, но сам пользователь будет жив! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 18:43 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
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 ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 20:50 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al Как это нет DROP DATABASE? А как же тогда базу дропнуть если нужно, ручками? И файлы потом ручками вычищать? Ну а в общем, являются ли мои предположения по поводу DDL операций правильными, что они сразу прописываются в дата файлы? С drop user вроде понятно, что Оракл сначала ссылающиеся обьекты удаляет и лишь потом самого юзера - чтобы ни в коем случае не возникла неконсистентность. А вот интересно, если такую операцию прервать имитируя сбой (напримел отстрелив процесс Оракла), ее потом можно будет повторить или откатить? А системный сегмент отката для чего нужен? Системный сегмент отката нужен скорее всего для операций со словарем данных. to ppp Я вижу вы экспериментируете в LogMiner'ом. Не могли бы вы попробовать создать таблицу, залить туда достаточно много данных а потом дропнуть ее. Любопытно посмотреть, что произошло с реду и сегментами отката. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 09:57 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
2 Violina Чтобы убить базу, надо удалить все файлы, входящие в нее. А drop database все-таки не существует... По поводу убиваемого юзера. Проще сделать "следственный эксперимент". DDL действительно пишется в виде довольно сложных транзакций, заканчивающихся коммитом. 2 ppp logminer дает не внутренний вид команд, а читабельный, поэтому с ним надо держать ухо востро. Это все-таки инструмент для восстановления данных. По поводу маленьких журналов - посмотрите еще раз мой постинг о чекпойнтах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 10:10 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al Мои следственные эсперименты по грубому прерыванию пока что не удавались - слишком быстро все происходит не успеваю их прервать. Как же наплодить столько объектов, чтобы их удаление заняло какое то время? И как прерывать процесс - в таск менеджере (win2000, SQL Navigator)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 10:20 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
>Ну а в общем, являются ли мои предположения по поводу DDL операций правильными, что они сразу прописываются в дата файлы? В этом смысле они отрабатывают также как и другие операции. Неявный коммит вас не должен смущать, поскольку запись измененных блоков данных на диск и коммит напрямую между собой не связаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 10:41 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to killed Согласна, неявный коммит скорее не причина а следствие особенности DDL операций. Я просто предположила, что этот подход преждевременного или отложенного прописывания изменений в дата файлы в целях повышения эффективности имеет место только для DML операций. Поэтому и настолько важна роль реду ога и сегментов отката, чтобы обеспечить консистентность в случае сбоя. Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого! Ждем результатов экспериментов ррр... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 11:05 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
>Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого! Я ничего не понял :-) Если не против небольшого освежения беседы, такая ситуация: 1. В сессии А: select * from табла; (допустим, 1000000 записей) - осуществляется вывод. 2. Пока в А выводятся результаты запроса, в сессии Б: drop table табла; Ваши комментарии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 11:40 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Angel писал: Для DDL операций такой подход скорее всего не адекватен, потому что DDL операции достаточно критичны. Поэтому изменения сразу прописываются где надо и сразу коммитятся. Какой смысл откладывать такие операции как DROP TABLE, CREATE TABLE, изменения размеров сегментов и других параметров - никакого! Сожалею что пока не всегда могу ясно выражаться. Попробую перефразировать. Под подходом я имела ввиду, преждевременное или наоборот отложенное прописывание DML изменений в дата файлы, который и обуславливает нагрузку на реду лог и сегмента отката. Я пытаюсь выяснить свое предположение которое заключается в том, что в случае DDL операций, реду лог и сегмент отката нагружаются минимально, так как изменения DDL сразу отражаются в дата файлах, контрол файлах, словаре итп . PS: В использовании всяких средств я пока не сльна (изучаю концепт), поэтому мои возможности в экспериментах пока ограничены:-) По вашему вопросу: Пока выполняется SELECT, будет установлен LOCK (какой точно не знаю), так что DROP TABLE будет ждать окончания операции SELECT или будет выдана ошибка, что не может быть получен exclusive lock на таблицу в данный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 12:08 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
Violina, При выполнении операций над словарем сегменты отката и журналы задействуются всегда на всю катушку, поскольку при некоторых обычных DML можно выключить журналирование (nologging) или откат (discrete transactions), а для словаря - нельзя. Другое дело, что изменения в словаре не затрагивают большого количества строк, поэтому выполняются быстро. Например, drop table - это вычеркивание строки таблицы, нескольких строк столбцов и нескольких строк занятого пространства + инвалидация зависимых объектов. Чем больше столбцов и экстентов, тем дольше будет работать удаление таблицы. Оракловская система чекпойнтов, записи журналов и отката не меняется для операций над словарем. Не забудьте о том, что словарь хранится в оптимальных для запросов и DML структурах данных (много кластеров). Чтобы посмотреть на них - гляньте на sql.bsq. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 12:40 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al Ну вот, опять неясно выразилась:-( Под нагрузкой я имела ввиду запись большого количества данных в реду и сегменты отката. И так, в свете этого, мое предположение звучит так: в случае DDL операций, в реду лог и сегмент отката пишеться небольшое количество данных, так как изменения DDL сразу отражаются в дата файлах, контрол файлах, словаре итп. Выяснив этот вопрос, я думаю эту тему можно закрыть. И так, ждем ответа ррр и комментариев желающих. Позже, я сама попробую поэкспериментирвоать. За ответы DDL идет как обычный DML над таблицами словаря. Другое дело, что изменения в словаре не затрагивают большого количества строк, поэтому выполняются быстро. большое спасибо, они очень помгли мне в понимании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 12:53 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
Violina, Ваше предположение неверно. Запись в system мало отличается от других разделов (всегда проверяются контрольные суммы блоков). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 13:59 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al Хорошо, конкретизируем вопрос. Есть таблица TEST с большим количеством записей. При выполнении DML команды DELETE FROM TEST должно записаться очень много данных в сегменты отката, чтобы иметь возможность откатить эту операцию если понадобится. Однако DDL команда DROP TABLE TEST запишет туда только изменения в словаре данных и откатить ее будет нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 14:28 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
Верно. Но измененные блоки словаря запишутся dbwr в датафайлы системного раздела на общих основаниях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 14:49 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
to Al To estj vosstanavlivaetsa tolko nebolshaj chastj rollback segmenta posle poslednego chekpointa ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 16:41 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
2 ppp Именно так! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 16:44 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
2 AI >Можно я отвечу про insert? В откат пишется операция delete from ttt where >rowid='rrrrrrr'. Эта команда много места не занимает, поэтому нагрузка на >сегменты отката при вставках минимальна, но максимальна журнальная >информация. При удалениях обратная ситуация - максимальная нагрузка на >сегменты отката и минимальная - на журналы. ммм... не совсем так. Насчет минимальной нагрузки на при вставках и максимальной при удалениях на сегменты отката согласен, а вот насчет минимальной нагрузки на журналы при удалениях - этого не может быть по определению, т.к. нужно записать в журналы также все изменения в блоках сегментов отката (на которые как вы правильно заметили - нагрузка максимальна). Поэтому объем журнальной информации при удалениях все равно будет намного больше (где-то в 3 раза), чем при вставках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 19:58 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
To Al perechital vse postingi , tormozil ja konechno strahno ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 21:31 |
|
||
|
Вопрос по концепту: redo log, roll back segments
|
|||
|---|---|---|---|
|
#18+
Вот яки гарьни хлопьци и дивчины здесь собравлися... як побачивь я этот форум... и захотел вопрос задавать... Вопрос исключительно прикладной... почему наша БД всегда такая глючная и падучая... что делать ? пнуть dba не предлагати... ;) повесить его (или себя??) тоже... вобщем ваши 5TOP советов по повышению работоспособности сей СУБД оракл 8.1.x.x ...что имеет честь стоять у нас в контори... Респект... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 06:54 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32141023&tid=1990979]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 531ms |

| 0 / 0 |
