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

Откуда:
Сообщений: 437
Пробую убрать фрагментацию некоторых таблиц в базе, отправляю такой запрос:

SELECT TABLESPACE_NAME,
    SEGMENT_NAME,
    SEGMENT_TYPE,
    EXTENTS,
    BLOCKS,
    BYTES
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME = 'USERS'
AND OWNER = 'YU_DI' 
ORDER BY EXTENTS DESC


" "TABLESPACE_NAME""SEGMENT_NAME""SEGMENT_TYPE""EXTENTS""BLOCKS""BYTES"
"1""USERS""АGL_3Y_CZECH""TABLE""1250""213496""1748959232"
"2""USERS""АGL_1Y""TABLE""1161""1156752""9476112384"
"3""USERS""BIN$Jo5Y05wdRYe1mPP+Sp/rhw==$0""TABLE""494""312576""2560622592"
"4""USERS""Z0_АGL_BASE""TABLE""325""1146880""9395240960"
"5""USERS""COPYOPY_АGL_141215""TABLE""318""177152""1451229184"
"6""USERS""BIN$JkmY5Ya8Qsa9w6ehmDa1yg==$0""TABLE""269""329216""2696937472"
"7""USERS""COPY_150707_АGL_1Y""TABLE""240""345088""2826960896"
"8""USERS""COPY_150604_АGL_SFP_UU_NBU""TABLE""232""358272""2934964224"
"9""USERS""АGL_15_CZ""TABLE""231""29024""237764608"
"10""USERS""COPY_150513_FU_АGL_1Y""TABLE""231""320768""2627731456"
"11""USERS""BIN$6FZQ6QS/Ru2I9m36QJsaFg==$0""TABLE""231""350976""2875195392"
"12""USERS""COPY_150622_АGL_1Y""TABLE""227""344704""2823815168"
"13""USERS""BIN$T6rqIOEURJellDTo8ITHYg==$0""TABLE""226""344704""2823815168"
"14""USERS""COPY_150604_UU_АGL_1Y""TABLE""226""337792""2767192064"
"15""USERS""BIN$nzFYsIRrToSk7QbwdVPv0Q==$0""TABLE""226""327936""2686451712"
"16""USERS""COPY_150423_UU_АGL_1Y""TABLE""224""303360""2485125120"
"17""USERS""COPY_150116_АGL_1Y""TABLE""222""201728""1652555776"
"18""USERS""АGL_3Y_CZECH_UU""TABLE""222""48128""394264576"
"19""USERS""COPY_150408_UU_АGL_1Y""TABLE""220""288384""2362441728"
"20""USERS""COPY_150313_UU_АGL_1Y""TABLE""216""270336""2214592512"
"21""USERS""COPY_150203_АGL_1Y""TABLE""212""229504""1880096768"
"22""USERS""COPYOPY_АGL_1Y_141215""TABLE""208""196608""1610612736"
"23""USERS""COPYOPY_АGL_141113""TABLE""204""155648""1275068416"
"24""USERS""COPYOPY_АGL_141015""TABLE""202""155648""1275068416"
"25""USERS""BIN$1Rsexlk3R+6fCwi0rh8ZEQ==$0""TABLE""198""111360""912261120"
"26""USERS""UNL_АGL_NBU_SALDO_EG""TABLE""196""108928""892338176"
"27""USERS""COPY_150625_АGL_15_1Y""TABLE""194""120960""990904320"
"28""USERS""COPY_150623_АGL_15_1Y""TABLE""188""119808""981467136"
"29""USERS""COPY_150622_АGL_15_1Y""TABLE""185""116480""954204160"
"30""USERS""АGL_15_NBU_SALDO""TABLE""176""107264""878706688"


Далее выполняю:
ALTER TABLE YU_DI.АGL_3Y_CZECH MOVE
- на эту процедуру уходит 4 минуты

Все индексы rebuild, и вроде как должен был получится 1 экстент, но в реале нет, не получается. Или я смотрю не туда?
23 июл 15, 15:57    [17926230]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
ora601
Member

Откуда:
Сообщений: 750
golovonometr
Или я смотрю не туда?

Смотри в документацию :)

Extent allocation
http://docs.oracle.com/cd/B19306_01/server.102/b14220/logical.htm#i4896
23 июл 15, 16:07    [17926298]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
golovonometr
Member

Откуда:
Сообщений: 437
т.е. я должен выполнить DEALLOCATE UNUSED?
23 июл 15, 16:14    [17926348]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
ora601
Member

Откуда:
Сообщений: 750
golovonometr
т.е. я должен выполнить DEALLOCATE UNUSED?


C чего бы . У тебя 1 экстент в новом сегменте (ALTER TABLE MOVE) может получиться только если у TABLESPACE UNIFORM EXTENT ALLOCATION и он задан достаточно большой.

У тебя скорее всего их должно стать просто меньше.
23 июл 15, 16:19    [17926395]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
golovonometr
Member

Откуда:
Сообщений: 437
ясно, это уже проясняет многое, просто 1250 я так понимаю это много. Т.е. по сути таблица размазана по файлам табличного пространства, и в следствии чего уменьшается производительность.
23 июл 15, 16:25    [17926441]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
ora601
Member

Откуда:
Сообщений: 750
golovonometr
просто 1250 я так понимаю это много

Это может быть много, а может быть мало - зависит от размера екстентов и заполнены ли они вообще. Ты бы сначала проверил, есть ли у тебя вообще это свободное пространство, сколько его, оценить бенефит.
В любом случае ALTER TABLE MOVE пересоздаст сегмент без свободных екстентов. Так что если не стало лучше, нужно смотреть в другую сторону :)
И размазанность по файлам роли не играет, насколько я помню, особенно если используеться ASM.
23 июл 15, 16:35    [17926510]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
Elic
Member

Откуда:
Сообщений: 29989
golovonometr
Т.е. по сути таблица размазана по файлам табличного пространства, и в следствии чего уменьшается производительность.
Вывод неправильный.
23 июл 15, 16:35    [17926512]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
golovonometr
Member

Откуда:
Сообщений: 437
ну меньшее количество екстентов сказывается на производительности в лучшею сторону? Вообще в чем тогда смысл дефрагментации?
23 июл 15, 17:21    [17926796]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
DВА
Member

Откуда:
Сообщений: 5439
golovonometr
Вообще в чем тогда смысл дефрагментации?

видимо чтобы отмазаться от необходимости всерьез заниматься вопросами производительности
23 июл 15, 18:15    [17927057]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
golovonometr
Member

Откуда:
Сообщений: 437
а можно еще вопрос, что за непонятные BIN$Jo5Y05wdRYe1mPP+Sp/rhw==$0 таблицы? Тип сегмента указана как таблица...
24 июл 15, 17:06    [17931431]     Ответить | Цитировать Сообщить модератору
 Re: уменьшение количества экстентов таблиц  [new]
rec09
Guest
golovonometr
а можно еще вопрос, что за непонятные BIN$Jo5Y05wdRYe1mPP+Sp/rhw==$0 таблицы? Тип сегмента указана как таблица...

Это корзина. Погуглити, как её чистить и/или отключить
24 июл 15, 17:18    [17931518]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить