powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
16 сообщений из 16, страница 1 из 1
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656600
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как определить (на заданном отрезке времени X) db-обьекты (таблицы, индексы) из-за которых происходит максимальное ожидание IO? (и которых следовало бы, _ВОЗМОЖНО_(!) "pin-овать" в KeepBuffer?)
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656606
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik"pin-овать" в KeepBuffer?)Что это такое (точнее, что ты под этим подразумеваешь), и какой ты ожидаешь выигрыш?

PS. Если че, pin (закрепление в библиотечном кэше описания объекта) имеет мало отношения к различным буферным кэшам
Более того -- для индексов вообще монопенесуально (если это не IFFS) в каком кэше они помещаются, можно только говорить про отдельную защелку CBC, но расчитать это малореально
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656612
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656616
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Ask Tom. KEEP Buffer Pool Based on your misunderstanding of what the keep pool is/does, I would really recommend you do not use it. It does not do what you imagine.
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656623
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer Ask Tom. KEEP Buffer Pool У тебя сегодня какое-то нездоровое увлечение "дядюшкой Томом", но не самыми удачными его (или, что еще хуже, его последователями) статьями
Если человек может читать по-английски, то он прочтет более продвинутую информацию на эту тему у того же Jonathan Lewis (и иже с ним)
А если нет -- ну какой смысл давать ссылку на англоязычный сайт?
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656640
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, про дядюшку пометил...
А по поводу англоязычных сайтов - это это уже перегиб. Дока, металинк, масса FAQ - найти на на родном значительно сложнее... с грехом пополам и онлайн-переводчиком наковырять полезное болезные в состоянии...
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656650
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык об чем и речь -- нужно читать англоязычные (если можешь)
Но есть подозрение, что народ просто ленится (да, я и сам такой), поэтому если и есть смысл давать ссылки тем, у кого каша в голове, то, наверное таки на русскоязычных -- англоязычных они либо не читаю, либо не понимают (да я сам такой же, просто никому не рассказываю)
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656694
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по ссылке Тома: автор"The goal here was to give the DBA the ability to segregate segments to hot, warm, and do not care to cache areas."
Для меня вопрос того, что имеет смысл закинуть _известные_ нам(!) обьекты в DB_KEEP_CACHE давным-давно уже не стоит. Так как давным-давно я знаю _на пракитке_ что это ускоряет работу желаемого функционала. (что бы там Том не писал, он ведь тоже, бывает, ошибается!) И можно я не буду обсуждать этот вопрос тут больше, ну пожалуйста?! ;-)

Мой вопрос был всего-навсего: как нам найти другие "hot", (кроме известных) про которых мы ещё не знаем что они "hot"!
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656700
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik Мой вопрос был всего-навсего: как нам найти другие "hot", (кроме известных) про которых мы ещё не знаем что они "hot"!

P.S. и сие нужно на 11gR2! (EE, но без юзания дорогих платных пакетов типа Diagnostic Pack)
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656725
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь вопрос изначально звучал именно как звучал

Раз ты понимаешь, что "имеет смысл закинуть _известные_ нам(!) обьекты в DB_KEEP_CACHE" то ты, наверняка понимаешь, чем отличается поведение горячих/холодных/частоиспользуемых блоков в каждой из цепочек -- CACHE / KEEP_CACHE / RECYCLE_CACHE

Значит и понимаешь как их искать -- например "горячие" блоки разделяющие CBC-защелку с другими сегментами
Или сегменты (особенно при одноблочном чтении -- по индексу), которые частенько приходится подкачивать с диска
И, подождите, это не те, случаем, которые через direct path read читаются?

Дык может разница в аттрибутах CACHE и BUFER_POOL ?
А может там еще и LOB-ы закрались?
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656760
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров Значит и понимаешь как их искать
в том то и дело что нет!
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39656763
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров И, подождите, это не те, случаем, которые через direct path read читаются?
нету у нас direct path read!

Вячеслав ЛюбомудровА может там еще и LOB-ы закрались?
и лоб-ов у нас крайне мало.
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39657105
Rbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnikкак определить (на заданном отрезке времени X) db-обьекты (таблицы, индексы) из-за которых происходит максимальное ожидание IO? (и которых следовало бы, _ВОЗМОЖНО_(!) "pin-овать" в KeepBuffer?)

Подход просто по признаку "максимальное ожидание IO" для кандидатов в keep buffer не верен. У вас просто могут быть неоптимизированные запросы, или запросы, которые выполняются редко... скорее они кандидаты в recycle buffer, а не в keep...

Нужно хорошо знать саму логику использования бд, знать ее ядро, таблицы и индексы, которые являются базовыми по схеме, т.е. объекты, вокруг которых и на основе которых крутятся большинство транзакционных и много прочих запросов. И если для таких базовых таблиц-индексов по какой-то причине (невозможность уйти от fts/ffs, или их желательное использование и т.д) просматривается большое кол-во io, тогда да, они МОГУТ быть (хотя не обязательно) кандидатами в keep .
Ну и в помощь запрос на периодическое просматривание sga на предмет постоянно сидящих там в fts/ffs объектов (запрос для 9i, уж не обезсудьте)



set echo off;
set feedback on

set pages 999;
column nbr_FTS format 999,999
column num_rows format 999,999,999
column blocks format 999,999
column owner format a14;
column name format a24;
column ch format a1;

column object_owner heading "Owner" format a12;
column ct heading "# of SQL selects" format 999,999;

select
object_owner,
count(*) ct
from
v$sql_plan
where
object_owner is not null
group by
object_owner
order by
ct desc
;

set heading off;
set feedback off;

set heading on;
set feedback on;
ttitle 'full table scans and counts| |The "K" indicates that the
table is in the KEEP Pool (Oracle9).'
select
p.owner,
p.name,
t.num_rows,
-- ltrim(t.cache) ch,
decode(t.buffer_pool,'KEEP','Y','DEFAULT','N') K,
s.blocks blocks,
sum(a.executions) nbr_FTS
from
dba_tables t,
dba_segments s,
v$sqlarea a,
(select distinct
address,
object_owner owner,
object_name name
from
v$sql_plan
where
--- operation = 'TABLE ACCESS' and options = 'FULL') p
(operation = 'TABLE ACCESS' and options = 'FULL') or (operation = 'INDEX' and options = 'FAST FULL SCAN') ) p
where
a.address = p.address
and
t.owner = s.owner
and
t.table_name = s.segment_name
and
t.table_name = p.name
and
t.owner = p.owner
and
t.owner not in ('SYS','SYSTEM')
having
sum(a.executions) > 9
group by
p.owner, p.name, t.num_rows, t.cache, t.buffer_pool, s.blocks
order by
p.owner, t.num_rows DESC, sum(a.executions) desc;
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39657323
Alexander_Ttl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik, OEM Express (если таковой имеется) позволяет наложить различные фильтры. Можно выбрать ожидания, например I/O в разрезе объектов БД. Получается красивый график практически в реальном времени.
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39657330
Alexander_Ttl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, по факту, обычно оказывается, что максимальные задержки I/O дают самые большие объекты. Поднимать их в буфер - стрелять себе в ногу.
...
Рейтинг: 0 / 0
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
    #39658198
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rbb
Ну и в помощь запрос на периодическое просматривание sga на предмет постоянно сидящих там в fts/ffs объектов (запрос для 9i, уж не обезсудьте)

большое спасибо! Выглядит вполне логично!!! Жаль, что я сам про v$sqlarea.executions не додумался!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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