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

PS. Если че, pin (закрепление в библиотечном кэше описания объекта) имеет мало отношения к различным буферным кэшам
Более того -- для индексов вообще монопенесуально (если это не IFFS) в каком кэше они помещаются, можно только говорить про отдельную защелку CBC, но расчитать это малореально
...
Рейтинг: 0 / 0
06.06.2018, 15:42
    #39656612
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
...
Рейтинг: 0 / 0
06.06.2018, 15:45
    #39656616
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
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
06.06.2018, 15:55
    #39656623
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Viewer Ask Tom. KEEP Buffer Pool У тебя сегодня какое-то нездоровое увлечение "дядюшкой Томом", но не самыми удачными его (или, что еще хуже, его последователями) статьями
Если человек может читать по-английски, то он прочтет более продвинутую информацию на эту тему у того же Jonathan Lewis (и иже с ним)
А если нет -- ну какой смысл давать ссылку на англоязычный сайт?
...
Рейтинг: 0 / 0
06.06.2018, 16:17
    #39656640
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Ок, про дядюшку пометил...
А по поводу англоязычных сайтов - это это уже перегиб. Дока, металинк, масса FAQ - найти на на родном значительно сложнее... с грехом пополам и онлайн-переводчиком наковырять полезное болезные в состоянии...
...
Рейтинг: 0 / 0
06.06.2018, 16:23
    #39656650
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Дык об чем и речь -- нужно читать англоязычные (если можешь)
Но есть подозрение, что народ просто ленится (да, я и сам такой), поэтому если и есть смысл давать ссылки тем, у кого каша в голове, то, наверное таки на русскоязычных -- англоязычных они либо не читаю, либо не понимают (да я сам такой же, просто никому не рассказываю)
...
Рейтинг: 0 / 0
06.06.2018, 16:51
    #39656694
DBAshnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
по ссылке Тома: автор"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
06.06.2018, 16:53
    #39656700
DBAshnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
DBAshnik Мой вопрос был всего-навсего: как нам найти другие "hot", (кроме известных) про которых мы ещё не знаем что они "hot"!

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

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

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

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

Вячеслав ЛюбомудровА может там еще и LOB-ы закрались?
и лоб-ов у нас крайне мало.
...
Рейтинг: 0 / 0
07.06.2018, 10:11
    #39657105
Rbb
Rbb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
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
07.06.2018, 13:11
    #39657323
Alexander_Ttl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
DBAshnik, OEM Express (если таковой имеется) позволяет наложить различные фильтры. Можно выбрать ожидания, например I/O в разрезе объектов БД. Получается красивый график практически в реальном времени.
...
Рейтинг: 0 / 0
07.06.2018, 13:18
    #39657330
Alexander_Ttl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Хотя, по факту, обычно оказывается, что максимальные задержки I/O дают самые большие объекты. Поднимать их в буфер - стрелять себе в ногу.
...
Рейтинг: 0 / 0
08.06.2018, 11:40
    #39658198
DBAshnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как определить таблицы и индексы с максимальным ожиданием IO (для KeepBuffer)?
Rbb
Ну и в помощь запрос на периодическое просматривание sga на предмет постоянно сидящих там в fts/ffs объектов (запрос для 9i, уж не обезсудьте)

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


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