powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
13 сообщений из 13, страница 1 из 1
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044931
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Были на схеме таблицы размерами в миллионы строк.
Девелоперы эти миллионы удалили, оставив по десятку строк в таблице.
Консистентность сохранена.
Тестеры что-то делают и простые селекты генерят большое количество redo_size.
В результате, запрос вместо 0,05 сек начинает работать минуту.
я так понимаю, что имеет место отложенная очистка блока.
можно ли эту очистку выполнять вручную?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     624404  consistent gets
     579373  physical reads
 

   25990548  redo size

 
        220  bytes sent via SQL*Net to client
        380  bytes received via SQL*Net from client
          1  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          0  rows processed

Для примера, объем используемых блоков данных в таблице 80Kb,
а размер таблицы 2Gb
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044934
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

hwm урежьте.
alter table ... move + ребилд индексов
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044936
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf,

за индексы сенкс, но
alter table MY_TABLE move
выполнял, но без изменения параметров в user_tables
(
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044939
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

А что ты ожидал увидеть в user_tables? У тебя большое количество физ.чтений на десяток строк, как ты говоришь. кроме того, если только move был - значит индексы инвалиды. Есть ли партиции и т.п.?
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044965
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf,

я ожидал увидеть уменьшение параметра blocks с 38800
на какую-нибудь значимую величину
)
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044971
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf,

а что сделает команда move без параметров,
без имени табличного пространства, например?
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044977
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

перестроит сегмент с текущими параметрами в том же табличном пространстве.
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044979
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,

спасибо я, собственно, прежде чем спросить, прочитал doc про move,
но тогда вопрос остается - я думал уменьшить объем блоков с удаленными
данными.
а в чем смысл перестраивать сегмент с теми же параметрами в том же табличном пространстве?
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044984
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

сбросить HWM и убрать блоки с удаленными данными :)

я могу ошибаться, но user_tables.blocks - данные с последнего сбора статистики, а не фактические. посмотрите в dba_extents.
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044993
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,
Ну конечно!
Конечно в user_tables это после сбора статистики!
что ж я так все забыл - даже стыдно стало. (

Спасибо!

и, все таки, сабж вопроса - как можно очистить заголовки блоков вручную,
пока тестеры не пришли в понедельник и не стали жаловаться,
что вместо обычных 0,05 сек запрос висит минуту?
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40044997
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

чем вас move не устраивает? блоки формируются заново, чистить ничего не надо. ну или самому вычитать всю таблицу целиком один раз чем-нибудь.
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40045005
receiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,

наоборот! очень устраивает, про что я и написал!
в dba_segments увидел, что блоки с 38000 штук превратились в 65!

))) я снова чушь написал! конечно, раз блоки отбрасываются, то они и чистятся.
просто мне трудно оперативно самому посмотреть - я посылаю операторы DBA, у которого
есть доступ. он мне пишет результаты - испорченный телефон.

Кит, еще раз спасибо!
...
Рейтинг: 0 / 0
как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
    #40045306
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
receiver,

про индексы не забудь, если они есть
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как очистить заголовки блоков самому, не ждать зависания следующих транзакций?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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