Скрипты для настройки экземпляра 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 в следующих блоках:

Используя эту информацию, можно определить размер большинства данных 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-запросов необходим другой размер блока, следует сделать архив базы данных, создать новую базу с другим размером блока и поместить в нее данные из архива.

5/10/2014