Скрипты для настройки экземпляра Oracle для хранения ArcSDE XML
ArcSDE for Oracle содержит два скрипта в папке SDEHOME > Tools > oracle, которые помогают настраивать экземпляр Oracle для достижения оптимальной производительности при хранении данных ArcSDE XML. Это скрипты xml_lob_block_distribution.sql и xml_lob_cache_size.sql.
xml_lob_block_distribution
Этот скрипт сообщает о распределении данных XML в таблице. Вы вводите имя таблицы со столбцом XML и скрипт возвращает распределение данных XML в следующих блоках:
- Данные менее 8 КБ
- Данные между 8 КБ и 16 КБ
- Данные более 16 КБ
Используя эту информацию, можно определить размер большинства данных XML. Если большая часть данных XML менее 8 КБ, а вы используете размер блока 16 КБ, место в базе данных будет расходоваться зря, а каждый запрос будет потреблять вдвое больше памяти, чем необходимо. Если вы перейдете на размер блока в 8 КБ, вы сможете вместить вдвое больше данных в запросы и в кэш, и почти в два раза уменьшить количество обращений к базе данных из запросов, возвращающих то же число записей. Однако, если большая часть данных XML больше 16 КБ, а вы используете размер блока 8 КБ, вам понадобиться двое больше блоков для хранения данных, чем при использовании блоков в 16 КБ. Это означает, что при каждом обращении будет выполняться вдвое большее число чтений с диска для получения того же количества записей из бизнес-таблицы, что снизит производительность запросов.
xml_lob_cache_size
Скрипт xml_lob_cache_size помогает оценить размер кэша для данных XML при данном размере блока. Так же, как и со скриптом xml_lob_block_distribution, вы вводите имя таблицы со столбцом XML. Кроме того, вы можете указать размер блока. Если размер блока не указан, для оценки используется текущее значение db_block_size.
Информация, возвращаемая скриптом, позволяет понять, какой размер кэша LOB необходим для оптимизации производительности поисковых запросов.
Вы не можете изменить размер блока существующей базы данных Oracle. Если эти скрипты показывают. что для оптимизации XML-запросов необходим другой размер блока, следует сделать архив базы данных, создать новую базу с другим размером блока и поместить в нее данные из архива.