powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
25 сообщений из 28, страница 1 из 2
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #32760462
Pohvaloff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно SUBJ. Посоветуйте пожалуйста в каких случаях стоит использовать UNIFORM ALLOCATION у TABLESPACE'а, в в каких нет.
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #32760513
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажем так: НЕ ИСПОЛЬЗОВАТЬ его стоит только тогда, когда у вас в табличном пространстве будут храниться как огромные, так и маленькие объекты.

Если вы знаете свои данные и знаете, что определенные таблицы будут большие - поместите их в ТП с большим UNIFORM, чтоб уменьшить количество экстентов у сегментов и (самое главное) сделать предсказуемыми по размеру свободные куски. А то получится, что в результате фрагментации образовалось много свободных кусков небольшого/среднего размера, а выделить большой очередной экстент из них не получиться :-(

То же самое насчет очень маленьких таблиц - поместите их в ТП с UNIFORM SIZE 16k и сэкономете немного места ;-)

Весь остальной зоопарк - в ТП с AUTOALLOCATE, хотя здесь могут возникнуть те же проблемы по выделению большего экстента, чем свободные. Но, мне кажется, в боевых БД (нет удалений объектов и трункейтов) это не критично.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737257
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровЕсли вы знаете свои данные и знаете, что определенные таблицы будут большие - поместите их в ТП с большим UNIFORM, чтоб уменьшить количество экстентов у сегментов и (самое главное) сделать предсказуемыми по размеру свободные куски.

Предположим таблица 3 Тб. Только вставка. Насколько большим можно делать uniform?
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737262
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вроде ограничений нет, но больше 100 Mb, на мой взгляд, просто нет смысла
И у тебя один сегмент будет 3Tb? Обычно, с такими объемами юзают Partitioning Option
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737409
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровДа вроде ограничений нет, но больше 100 Mb, на мой взгляд, просто нет смысла
И у тебя один сегмент будет 3Tb? Обычно, с такими объемами юзают Partitioning Option
Да, один. partitioning пока что невозможен.
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737555
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
run09Вячеслав ЛюбомудровДа вроде ограничений нет, но больше 100 Mb, на мой взгляд, просто нет смысла
И у тебя один сегмент будет 3Tb? Обычно, с такими объемами юзают Partitioning Option
Да, один. partitioning пока что невозможен.
Даже на SE можно воспользоваться partitioning views - что-то типа "partitoning для бедных".
Моделька на поиграться
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737569
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тогда, наверное, стоит указать размер UNIFORM SIZE 1GB. Только мне как-то кажется, что пока это влажные фантазии...


Ну и опять же, я неоднократно приводил ссылочку на статью Т.К. в OM про параллельную прямую загрузку -- там AUTOALLOCATE выигрывает тем, что поджимает последние выделенные экстенты до фактического заполнения

На мой взгляд, это ломает всю концепцию выделения экстентов определенными (статическими размерами) кусками, чтоб всегда по максимуму использовать свободное место. Но то такое...
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737587
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровНу, тогда, наверное, стоит указать размер UNIFORM SIZE 1GB. Только мне как-то кажется, что пока это влажные фантазии...


Ну и опять же, я неоднократно приводил ссылочку на статью Т.К. в OM про параллельную прямую загрузку -- там AUTOALLOCATE выигрывает тем, что поджимает последние выделенные экстенты до фактического заполнения

На мой взгляд, это ломает всю концепцию выделения экстентов определенными (статическими размерами) кусками, чтоб всегда по максимуму использовать свободное место. Но то такое...
Параллельной загрузки не будет. Что вы имеете ввиду под "влажные фантазии" ?

andrey_anonymous ,
занятный трюк. Увы, схему изменить не получится
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39737599
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну просто с такими объемами обычно идут не на форум (мало ли кто там попадется) обсуждать, а к тому, кто вам эту систему впарил

Например, простые вопросы -- используете ли вы BIGFILE, ASM и прочие фишки именно для хранения больших данных
Может ли вылезти проблема именно на уровне OS?
Количество пользовальских (точнее серверных) оракловых процессов (каждый процесс открывает сам все датафайлы, к которым он обращается) тоже может ограничить.
Таки мало сведений
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738486
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровНу просто с такими объемами обычно идут не на форум (мало ли кто там попадется) обсуждать, а к тому, кто вам эту систему впарил

Например, простые вопросы -- используете ли вы BIGFILE, ASM и прочие фишки именно для хранения больших данных
Может ли вылезти проблема именно на уровне OS?
Количество пользовальских (точнее серверных) оракловых процессов (каждый процесс открывает сам все датафайлы, к которым он обращается) тоже может ограничить.
Таки мало сведений
Сейчас ASM. Я кстати, как раз и планирую сделать bigfile
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738493
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто не понимаю, как может один сегмент быть 3 Тб
Может таки это отдельный LOB-сегмент?
Ты действительно адекватно оцениваешь ситуацию?
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738510
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
Ну, да, обычный сегмент (без lob), живущий своей долгой жизнью лет 20...
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738519
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
run09Вячеслав ЛюбомудровНу просто с такими объемами обычно идут не на форум (мало ли кто там попадется) обсуждать, а к тому, кто вам эту систему впарил

Например, простые вопросы -- используете ли вы BIGFILE, ASM и прочие фишки именно для хранения больших данных
Может ли вылезти проблема именно на уровне OS?
Количество пользовальских (точнее серверных) оракловых процессов (каждый процесс открывает сам все датафайлы, к которым он обращается) тоже может ограничить.
Таки мало сведений
Сейчас ASM. Я кстати, как раз и планирую сделать bigfile

использование bigfile - имеет определенные засады, перед использованием рекомендую ознакомится
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738521
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лет 20 -- это с Oracle7
Я примерно с того времени использую Oracle (чуть раньше)
Но даже последнее место работы -- мы используем финансовые (которых тупо нельзя забыть) проводки за последних 20 лет
Так там даже на 2Тб не получается всех документов (включая сканы в PDF)

Ты либо выдаешь желаемое за действительное (ну или когда будет), либо нехочу озвучивать
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738525
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninrun09пропущено...

Сейчас ASM. Я кстати, как раз и планирую сделать bigfile

использование bigfile - имеет определенные засады, перед использованием рекомендую ознакомитсяВадим, проясни
Действительно интересно
Пока не юзаю, но иметь по 30 файлов на ТП уже накаляет
Хотя, мне кажется, тут имеет приоритет место хранения
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39738574
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровЛет 20 -- это с Oracle7
Я примерно с того времени использую Oracle (чуть раньше)
Но даже последнее место работы -- мы используем финансовые (которых тупо нельзя забыть) проводки за последних 20 лет
Так там даже на 2Тб не получается всех документов (включая сканы в PDF)

Ты либо выдаешь желаемое за действительное (ну или когда будет), либо нехочу озвучивать

не совсем понимаю вашего удивления.

Код: plsql
1.
2.
3.
4.
5.
6.
SQL> select sum(bytes)/1024/1024/1024/1024 from dba_segments where segment_type='TABLE' group by segment_name having sum(bytes)/1024/1024/1024/1024 > 1;

SUM(BYTES)/1024/1024/1024/1024
------------------------------
                    2.80991192
                    1.31701565
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39739463
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
run09Предположим таблица 3 Тб. Только вставка. Насколько большим можно делать uniform?
Для небольших БД лучше не надо UNIFORM, автомат вполне адекватен. Оно Вам надо потом по ночам таблицы/индексы туда-сюда двигать?

Вячеслав ЛюбомудровТак там даже на 2Тб не получается всех документов (включая сканы в PDF)

Есть не в единичных экземплярах TABLE SUBPARTITION > 10TB и им не дают отдельное ТП, живут все вместе.

Вячеслав ЛюбомудровVadim Lejninпропущено...
использование bigfile - имеет определенные засады, перед использованием рекомендую ознакомитсяВадим, проясни
Действительно интересно
Пока не юзаю, но иметь по 30 файлов на ТП уже накаляет

А если несколько ТП по 300+ файлов? :)

К тому что из документации стоит добавить почему НЕ использовать Bigfile если они 8-16TB+:
не все бэкап схемы могут корректно работать с большими файлами

время на бэкап одного файла может быть больше окна бэкапа, в случаях когда полный бэкап требует несколько окон. Желания не возникло проверять восстановление прерванного на активный день multi section backup

если обработка, например передача DBMS_FILE_TRANSFER прервётся, то надо начинать заново. Для большого файла это время.

ребелансинг большой дискгруппы может занимать много, очень много времени

Из документации:
авторConsiderations with Bigfile Tablespaces
Bigfile tablespaces are intended to be used with Automatic Storage Management or other logical volume managers that support dynamically extensible logical volumes and striping or RAID.

Avoid creating bigfile tablespaces on a system that does not support striping because of negative implications for parallel execution and RMAN backup parallelization.

Avoid using bigfile tablespaces if there could possibly be no free space available on a disk group, and the only way to extend a tablespace is to add a new datafile on a different disk group.

Using bigfile tablespaces on platforms that do not support large file sizes is not recommended and can limit tablespace capacity. Refer to your operating system specific documentation for information about maximum supported file sizes.

Performance of database opens, checkpoints, and DBWR processes should improve if data is stored in bigfile tablespaces instead of traditional tablespaces. However, increasing the datafile size might increase time to restore a corrupted file or create a new datafile .
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39739856
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
master_yodarun09Предположим таблица 3 Тб. Только вставка. Насколько большим можно делать uniform?
Для небольших БД лучше не надо UNIFORM, автомат вполне адекватен. Оно Вам надо потом по ночам таблицы/индексы туда-сюда двигать?Зачем что-то куда-то двигать?
А вот то, что при AUTOALLOCATE максимальный размер экстента 256M (да и то, вроде только для размера блока 32K) уже увеличивает кол-во экстентов как минимум в 4, а скорее в 16 (для 64M экстента) раз по сравнению с гигабайтными экстентами
master_yodaВячеслав ЛюбомудровТак там даже на 2Тб не получается всех документов (включая сканы в PDF)

Есть не в единичных экземплярах TABLE SUBPARTITION > 10TB и им не дают отдельное ТП, живут все вместе.Даже не знаю, поздравить или посочувствовать

master_yodaВячеслав Любомудровпропущено...
Вадим, проясни
Действительно интересно
Пока не юзаю, но иметь по 30 файлов на ТП уже накаляет

А если несколько ТП по 300+ файлов? :)

К тому что из документации стоит добавить почему НЕ использовать Bigfile если они 8-16TB+:
не все бэкап схемы могут корректно работать с большими файлами

время на бэкап одного файла может быть больше окна бэкапа, в случаях когда полный бэкап требует несколько окон. Желания не возникло проверять восстановление прерванного на активный день multi section backup

если обработка, например передача DBMS_FILE_TRANSFER прервётся, то надо начинать заново. Для большого файла это время.

ребелансинг большой дискгруппы может занимать много, очень много времени

Из документации:
авторConsiderations with Bigfile Tablespaces
Bigfile tablespaces are intended to be used with Automatic Storage Management or other logical volume managers that support dynamically extensible logical volumes and striping or RAID.

Avoid creating bigfile tablespaces on a system that does not support striping because of negative implications for parallel execution and RMAN backup parallelization.

Avoid using bigfile tablespaces if there could possibly be no free space available on a disk group, and the only way to extend a tablespace is to add a new datafile on a different disk group.

Using bigfile tablespaces on platforms that do not support large file sizes is not recommended and can limit tablespace capacity. Refer to your operating system specific documentation for information about maximum supported file sizes.

Performance of database opens, checkpoints, and DBWR processes should improve if data is stored in bigfile tablespaces instead of traditional tablespaces. However, increasing the datafile size might increase time to restore a corrupted file or create a new datafile .
Согласен, что с бэкапом (а особенно, с восстановлением) возможны траблы. Это, наверное, единственное на данное время существенное ограничение
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39739871
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,
C bigfile основные засады уже перечислили
+ встречался целый пучок BUG связанных с ними
и не дай бог создать bigfile на файловой системе, незабываемые ощущения гарантированы :)
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740060
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудровmaster_yodaДля небольших БД лучше не надо UNIFORM, автомат вполне адекватен.
А вот то, что при AUTOALLOCATE максимальный размер экстента 256M (да и то, вроде только для размера блока 32K) уже увеличивает кол-во экстентов как минимум в 4, а скорее в 16 (для 64M экстента) раз по сравнению с гигабайтными экстентами
Разве это проблема для "небольшой" 3ТБ БД?

Вячеслав Любомудровс бэкапом (а особенно, с восстановлением) возможны траблы. Это, наверное, единственное на данное время существенное ограничение
Технически бэкапы можно сделать достаточно быстрыми, 10T/час это реально, т.е. это больше HW задача. бОльшая проблема, что не смотря на 2019 на носу, всё ещё очень много костылей вокруг 2^32.

Потому и
Vadim Lejnin+ встречался целый пучок BUG связанных с ними

Уж лучше датафайлы скриптом добавлять, чем разбираться с чудесами, или переносить объекты в "нормальное" ТП, когда вылез BUG при достижении 2, 16, 32Т.
BigFile тоже имеет лимит в 2^32 блоков ~32TB для 8к блока.
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740101
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
master_yoda....

Уж лучше датафайлы скриптом добавлять, чем разбираться с чудесами, или переносить объекты в "нормальное" ТП, когда вылез BUG при достижении 2, 16, 32Т.
BigFile тоже имеет лимит в 2^32 блоков ~32TB для 8к блока.

+++
Я добавлял сразу 4/10/20, да хоть сотню затравок файлов
и путь они потихоньку подрастают
ну и полюбил в последнее время OMF
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740155
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
master_yodaРазве это проблема для "небольшой" 3ТБ БД?



Ну,в сумме получается около 10 tb. А с какого момента, по вашему мнению, могут начаться проблемы и какие?
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740396
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
master_yodaВячеслав Любомудровпропущено...

А вот то, что при AUTOALLOCATE максимальный размер экстента 256M (да и то, вроде только для размера блока 32K) уже увеличивает кол-во экстентов как минимум в 4, а скорее в 16 (для 64M экстента) раз по сравнению с гигабайтными экстентами
Разве это проблема для "небольшой" 3ТБ БД?
Ну, ~50000 экстентов ( 64M ) против ~3000 (1G) разница таки есть

Но в битовых картах бит отвечает за один UNIFORM экстент (например 1G) или за 64K при AUTOALLOCATE

С 11gR2 в каждом из 126 блоков битовых карт при 8K блоке юзается по 63488 бит, т.е. описывается UNIFORM экстентов или по 64K для AUTOALLOCATE. Т.е. в случае UNIFORM SIZE 1G одного битмап блока хватит почти на 60T, а для AUTOALLOCATE только для чуть меньше 4G
Т.е. тот же запрос к тому же DBA_EXTENTS будет просто летать для UNIGORM SIZE 1G и жутко тормозить для AUTOALLOCATE (вот только кому он нужен, этот запрос )

Кстати, я так понимаю, для ТП, сделанных в 11gR2 используется 1M (128 блоков при 8K) для заголовков файла, но раньше-то использовалось только 64K (8 * 8K), всякие 1st level BMB, 2nd, 3rd. И, похоже, там ничего не меняется при миграции. Т.е. чтоб заюзать это упрощение необходимо перестроить ТП К сожалению, совершенно нет времени все это проверить, а потом забуду

PS. Я не умничаю, просто самому интересно стало. Здесь интересно написано
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740626
master_yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
run09Ну,в сумме получается около 10 tb. А с какого момента, по вашему мнению, могут начаться проблемы и какие?

Вряд ли вопросы изначально обсуждаемые в этом топике будут важнее чем тюнинг запросов и логики приложения.

Одной информации о 10ТБ мало, проблемы это фукнция от даунтайма, размера и нагрузки. Пока с нагрузкой можно справиться при помощи железа - это не проблема, а денег мало :) 15 лет назад ~1ТБ база казалась пределом комфорта, сейчас комфортные ~15ТБ

На железе не стоит экономить, all flash или, если RAC не нужен, NVME, 4x10Gb+ и т.п. Лицензии дороже железа на много.
...
Рейтинг: 0 / 0
когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
    #39740834
run09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав акцентирует внимание на Storage, уменьшая кол-во экстентов и их management в заколовках.
oracleNormally it is recommended that the entire Segment should be contained in Single Extent so that Full Table Scan or Fast Full index Scan just have to traverse a single Extent But as such, it is not a must.Even if the Segment is spread over Hundred or Thousands Of Extents and if the extents are of even size with proper ‘db_file_multiblock_read_count’ defined, the Full Table Scan or Fast Full Index Scan still can improve performance

Размер экстента поидее всегда должен быть multiple of DB_FILE_MULTIBLOCK_READ_COUNT. Этот параметр, с свою очередь, завязан на MAX IO SIZE на уровне OS, в случае же ASM это AU_SIZE дисковой группы (который должен совпадать с max_sectors_kb ядра Linux ? )

Но так ли это важно для OLTP базы со средним размером I/O Large read = 18 Mb/sec с редкими пиками Direct Reads в 80 MB/sec. И на весь I/O в среднем 120 IOPs ?

master_yoda, т.е. иными словами, - не стоит "экономить" на спичках (с размерами и кол-ом) экстентов на современном железе?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / когда стоит использовать UNIFORM ALLOCATION у TABLESPACE'а
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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