|
Блоки
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть только что созданная пустая таблица test с одним числовым полем. Первый сеанс делает вставку без commit insert into test values(1); Второй сеанс делает вставку без commit insert into test values(2); Затем делается commit в обоих сеансах. В результате видим, что строки находятся в разных блоках. Почему? Зачем второй блок использовать, когда первый почти пустой? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 18:37 |
|
Блоки
|
|||
---|---|---|---|
#18+
На случай если одна из транзакций закончится rollback. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 18:46 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov На случай если одна из транзакций закончится rollback. Не очень понял ответ. Если одна из транзакций делает rollback просто удалится ее строка из блока. Как это может повлиять на другую строку (второго сеанса), если она в том же блоке будет... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 18:59 |
|
Блоки
|
|||
---|---|---|---|
#18+
SenjorPomidorЕсли одна из транзакций делает rollback просто удалится ее строка из блока. По умолчанию Оракул откатывает блок целиком. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:03 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov SenjorPomidorЕсли одна из транзакций делает rollback просто удалится ее строка из блока. По умолчанию Оракул откатывает блок целиком. что за бред.... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:12 |
|
Блоки
|
|||
---|---|---|---|
#18+
Sayan Malakshinovчто за бред.... Если в умолчательном режиме NOROWDEPENDENCIES найдёшь у записи информацию какой транзакции она принадлежит - сообщи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:28 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov SenjorPomidorЕсли одна из транзакций делает rollback просто удалится ее строка из блока. По умолчанию Оракул откатывает блок целиком. То есть, если, к примеру, различные сеансы производят update строк (каждый сеанс - свою строку), находящихся в одном блоке, то rollback в одном из сеансов откатит все апдейты ДРУГИХ сеансов? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:30 |
|
Блоки
|
|||
---|---|---|---|
#18+
SenjorPomidorТо есть, если, к примеру, различные сеансы производят update строк (каждый сеанс - свою строку), находящихся в одном блоке, то rollback в одном из сеансов откатит все апдейты ДРУГИХ сеансов? )) Нет, они встанут на ожидание блокировки этого блока ещё до того как смогут изменить строку. И да, у них случится штука, называемая "мини-откат". https://docs.oracle.com/cd/B19306_01/server.102/b14220/consist.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:35 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Sayan Malakshinovчто за бред.... Если в умолчательном режиме NOROWDEPENDENCIES найдёшь у записи информацию какой транзакции она принадлежит - сообщи.что ты за околесицу ты несешь... почитай про строение блока и undo... Dimitry Sibiryakov они встанут на ожидание блокировки этого блока ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 19:59 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov NOROWDEPENDENCIES ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 20:04 |
|
Блоки
|
|||
---|---|---|---|
#18+
Sayan Malakshinov что ты за околесицу ты несешь... И нести бред - это его нередкое состояние: 22284504 22073887 22014493 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 20:22 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov SenjorPomidorЕсли одна из транзакций делает rollback просто удалится ее строка из блока. По умолчанию Оракул откатывает блок целиком. Я не понял, это как так? Если две записи были записаны в блок двумя разными транзакциями, первая была завершена (commit) а вторая отменена (rollback), то, следуя твоему утверждению, обе записи будут удалены? Это что-то новое для меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 15:14 |
|
Блоки
|
|||
---|---|---|---|
#18+
flexgenЕсли две записи были записаны в блок двумя разными транзакциями А теперь перечитываем первый пост: разные транзакции не пишут записи в один блок. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 15:28 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Прекрати нести феерический бред. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 16:33 |
|
Блоки
|
|||
---|---|---|---|
#18+
Я-то могу и прекратить, но что, никто не собирается ответить на вопрос топикстартера от слова "совсем"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 17:08 |
|
Блоки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov разные транзакции не пишут записи в один блок. 1) добавте две строки в один блок 2) коммит 3) поменяйте первую строку в одной сессии, вторую в другой 4) в первой коммит 5) второй роллбек разные транзакции записали в один блок ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:40 |
|
Блоки
|
|||
---|---|---|---|
#18+
SenjorPomidor Зачем второй блок использовать, когда первый почти пустой? Лучше задать другой вопрос - зачем всем ломиться в первый блок, рискуя конкуренцией? Oracle старается разбросать нагрузку, чтобы не возникало узких мест. В прошлом ответом на Ваш вопрос было бы ключевое слово FREELISTS. В эпоху ASM это уже не особо актуально, но принцип остался тем же самым, так что прочитайте про freelists, если хотите понять ситуацию без погружения в дебри. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 20:01 |
|
Блоки
|
|||
---|---|---|---|
#18+
softwarer SenjorPomidor Зачем второй блок использовать, когда первый почти пустой? Лучше задать другой вопрос - зачем всем ломиться в первый блок, рискуя конкуренцией? Oracle старается разбросать нагрузку, чтобы не возникало узких мест. В прошлом ответом на Ваш вопрос было бы ключевое слово FREELISTS. В эпоху ASM это уже не особо актуально, но принцип остался тем же самым, так что прочитайте про freelists, если хотите понять ситуацию без погружения в дебри. Спасибо, я уже понял, что это особенность параллельной вставки. Получается Ораклу дорого и некогда выяснять, получится ли вставить в данный блок строки в параллельном режиме, здесь главное - скорость. Поэтому каждая сессия "свой" блок захватывает в соответствии с freelists. Но замечу, что при параллельных апдейтах строки, находящиеся в одном блоке, прекрасно обновляются (одновременно) разными сеансами и никто конкуренции не боится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 20:47 |
|
Блоки
|
|||
---|---|---|---|
#18+
SenjorPomidor Но замечу, что при параллельных апдейтах строки, находящиеся в одном блоке, прекрасно обновляются (одновременно) разными сеансами и никто конкуренции не боится. Не настолько прекрасно. "Не боится" - неправильные слова, ближе к истине "без помощи разработчика Oracle мало что может с ними сделать". Параллельные апдейты горячего блока - вполне себе популярный способ затормозить систему, в том числе просто из-за слотов транзакций (например, если восемь сессий хотят одновременно обновить разные и непересекающиеся строки в этом блоке, то только две или три действительно это сделают, а остальные повиснут на блокировке, ожидая коммита предыдущих). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 21:02 |
|
Блоки
|
|||
---|---|---|---|
#18+
softwarer Параллельные апдейты горячего блока - вполне себе популярный способ затормозить систему, в том числе просто из-за слотов транзакций (например, если восемь сессий хотят одновременно обновить разные и непересекающиеся строки в этом блоке, то только две или три действительно это сделают, а остальные повиснут на блокировке, ожидая коммита предыдущих). А почему такие цифры скромные для примера? ) Количеством сессий для обновления блока вроде maxtrans управляет. Он уже хотя и не редактируется, но по умолчанию выставлен в значение 255 (транзакций). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 21:21 |
|
Блоки
|
|||
---|---|---|---|
#18+
SenjorPomidor Количеством сессий для обновления блока вроде maxtrans управляет. Нет. Он задаёт верхнюю границу, но при этом никто не обещал, что блок эту границу достигнет. Если говорить про значение 255, то, в общем, можно быть уверенным, что вне специально организованного примера - не достигнет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 21:37 |
|
Блоки
|
|||
---|---|---|---|
#18+
softwarer в том числе просто из-за слотов транзакций (например, если восемь сессий хотят одновременно обновить разные и непересекающиеся строки в этом блоке, то только две или три действительно это сделают, а остальные повиснут на блокировке, ожидая коммита предыдущих). Делать заявления с квантором всеобщности - стратегически непрофессионально. Легко налететь на контрпример. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 22:53 |
|
|
start [/forum/topic.php?fid=52&msg=40050861&tid=1880397]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 261ms |
0 / 0 |