Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Статистика redo size при select...  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Oracle 9.2.0.7
SQL> create table test as select * from dba_objects;

Table created.

Elapsed: 00:00:01.03
SQL> insert into test select * from test;

36266 rows created.

Elapsed: 00:00:00.08

Execution Plan
----------------------------------------------------------
   0      INSERT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (FULL) OF 'TEST'




Statistics
----------------------------------------------------------
        116  recursive calls
       2764  db block gets
       1540  consistent gets
        491  physical reads
    3978920  redo size
        629  bytes sent via SQL*Net to client
        531  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
      36266  rows processed

SQL> /

72532 rows created.

Elapsed: 00:00:00.07

Execution Plan
----------------------------------------------------------
   0      INSERT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (FULL) OF 'TEST'




Statistics
----------------------------------------------------------
        232  recursive calls
       5520  db block gets
       3088  consistent gets
        369  physical reads
    7988612  redo size
        629  bytes sent via SQL*Net to client
        531  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
      72532  rows processed

SQL> /

145064 rows created.

Elapsed: 00:00:04.09

Execution Plan
----------------------------------------------------------
   0      INSERT STATEMENT Optimizer=CHOOSE
   1    0   TABLE ACCESS (FULL) OF 'TEST'




Statistics
----------------------------------------------------------
        443  recursive calls
      11041  db block gets
       6187  consistent gets
       1826  physical reads
   15916460  redo size
        629  bytes sent via SQL*Net to client
        531  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
     145064  rows processed

SQL> commit;

Commit complete.

Elapsed: 00:00:00.00
SQL> select count(*) from test;

  COUNT(*)
----------
    290128

Elapsed: 00:00:02.05

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (AGGREGATE)
   2    1     TABLE ACCESS (FULL) OF 'TEST'




Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
       7342  consistent gets
       3630  physical reads
     205260  redo size
        408  bytes sent via SQL*Net to client
        499  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

Может кто-нибудь пояснить, почему так происходит?.
7 сен 06, 15:19    [3105827]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
всё просто - отложенная очистка блоков (delayed block cleanout)
7 сен 06, 15:29    [3105916]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Думал над этим.
Поясните, зачем ему потребовалась чистка блоков в данном примере?
7 сен 06, 15:30    [3105927]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Да, похоже. Просто наткнулся и удивился. :)
7 сен 06, 15:41    [3106019]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Part
Member

Откуда: Краснодар
Сообщений: 187
Ему (select'у) не зачем. Просто кто первый увидел "ненужные" блокировки, тот и чистит.
7 сен 06, 15:46    [3106065]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
waspwort
Member

Откуда: Тамбов-сити
Сообщений: 325
У Кайта было про это в первой части.
Кое что-есть на asktom


The block cleanout is specifically about "whose got that row locked", the block
cleanout is to clean out the transaction "row locking" information. This is not
about transaction row locking information -- the row locking information would
be "not needed" since these blocks were written above the high water mark (no
other transaction could have SEEN them, there was no need to leave behind the
"I've got this row locked, don't touch it")

delayed block cleanout occurs when a select reads a block and it would appear
that the row(s) are locked. It looks and says "ah, you were only kidding, they
are not, let me clean this out so that subsequent reads don't get fooled like I
just did"
7 сен 06, 15:49    [3106092]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
Vadim_Maximov
Поясните, зачем ему потребовалась чистка блоков в данном примере?

Это conventional Insert. Он модифицирует блоки в буферном кэше, изменения превысили 10% от общего кол-ва блоков в кэше (или какие-то блоков были сброшены на диск, что препятствует fast cleanout при commit) - следующий "счастливчик" будет вынужден их очистить.
7 сен 06, 15:53    [3106135]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Note
Guest
Поясню. Тот "счастливчик", который его полапает.
7 сен 06, 16:01    [3106185]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Fucker
Member [заблокирован]

Откуда:
Сообщений: 1525
А тут были намеки на методы, которыми можно воспользоваться для изучения этого "явления":

http://www.jlcomp.demon.co.uk/cleanout.html
https://www.sql.ru/forum/actualthread.aspx?bid=3&tid=91571&pg=-1&hl=fucker+cleanout

Fucker
7 сен 06, 16:19    [3106354]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Германий Палладиевич
Guest
В копилку методов :)
Event 10203
7 сен 06, 17:16    [3106923]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
Коллеги, всем спасибо. Поковыряем на досуге.
7 сен 06, 17:21    [3106965]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Иридий Ртутьевич
Guest
Германий Палладиевич
В копилку методов :)
Event 10203
Надо было сразу написать. В общем, еще довесок:
2) layer 4 opcode 1 (типа alter system dump logfile ...)
3) event 10228 (Block cleanout record, scn:...)
7 сен 06, 20:35    [3107814]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Fucker
Member [заблокирован]

Откуда:
Сообщений: 1525
Иридий Ртутьевич
Германий Палладиевич
В копилку методов :)
Event 10203
Надо было сразу написать. В общем, еще довесок:
2) layer 4 opcode 1 (типа alter system dump logfile ...)
3) event 10228 (Block cleanout record, scn:...)
Афиноген Пургеныч, ну дай ты человеку самостоятельно поработать... ;-)

Fucker
9 сен 06, 15:13    [3114676]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Охрений Охреневич
Guest
Можно тупо смотреть статистики сессий - без знания events и т.д.
9 сен 06, 16:35    [3114795]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Fucker
Member [заблокирован]

Откуда:
Сообщений: 1525
Охрений Охреневич
Можно тупо смотреть статистики сессий - без знания events и т.д.
Тупо можно смотреть как со "знаниями events", так и без оных...

Fucker
9 сен 06, 17:09    [3114830]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Охрений Охреневич
Guest
Fucker
Охрений Охреневич
Можно тупо смотреть статистики сессий - без знания events и т.д.
Тупо можно смотреть как со "знаниями events", так и без оных...

Fucker


Как и советовать :)
9 сен 06, 17:26    [3114845]     Ответить | Цитировать Сообщить модератору
 Re: Статистика redo size при select...  [new]
Рений Бариевич
Guest
Fucker
Тупо можно смотреть как со "знаниями events", так и без оных...
+1

"И я, и я, и я того же мнения"
(c) Ослик Иа
9 сен 06, 19:45    [3114947]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить