Опции конфигурации таблицы файлов журнала баз геоданных в Oracle.
Существует четыре различных опции для файла журнала ArcSDE: совместный, на основании сеанса, автономный, а также пулы из файлов журнала на основании сеанса или автономных файлов журнала. Каждый описан в отдельных разделах данной темы.
В большинстве случаев конфигурация файла журнала ArcSDE по умолчанию для вашей системы управления базами данных (DBMS) должна быть достаточной и является рекомендованной настройкой.
Настройка таблицы файла журнала для Oracle по умолчанию – файлы журнала ArcSDE в открытом доступе.
Опции файла журнала задаются с использованием специальных параметров в таблицах SERVER_CONFIG и DBTUNE.
Параметры в данных таблицах изменяются с использованием команд sdeconfig и sdedbtune соответственно. Данные команды, а также другие инструменты администрирования командной строки ArcSDE должны быть загружены с портала поддержки клиентов Esri при помощи сервера приложений ArcSDrE. Синтаксис команд и примеры использования команд приведены в руководстве по командам администрирования, которое предоставляется вместе с установкой сервера приложений ArcSDE.
Совместно используемые файлы журнала
Совместные файлы журнала являются общими для всех сеансов подключения одного пользователя. При подключении нескольких пользователей с использованием одной учетной записи, все такие сеансы добавляют и удаляют записи из одной таблицы данных файла журнала.
Когда необходимо использовать совместные файлы журнала
Используйте совместные файлы журнала в том случае, если у вас имеется большое количество одновременных сеансов и каждый сеанс подключается с использованием отдельной учетной записи СУБД (что рекомендуется для выполнения подключений к базе геоданных).
В каких случаях совместное использование файлов журнала нецелесообразно
Вы можете не захотеть использовать совместные файлы журналов в том случае, если у вас имеется множество подключений с одним именем пользователя, например, при использовании сервиса ArcIMS, генерирующего множественные подключения с одним именем пользователя. Это может привести к борьбе за ресурсы и времени ожидания для таблицы SDE_LOGFILE_DATA. В этом случае вы можете использовать файлы журналов на основании сеансов.
Таблицы, созданные для совместных файлов журнала
Таблицами файла журнала, используемыми для данной опции, являются SDE_LOGFILES и SDE_LOGFILE_DATA. Они создаются в схеме подключения пользователя при его первом превосходящем порог выборе. Для ArcGIS for Desktop данный порог составляет 100 записей.
В SDE_LOGFILES хранится информация о каждой создаваемой выборке (файле журнала). Столбцы logfile_name и logfile_id в данной таблице уникальным образом идентифицируют имя файла журнала, а столбец logfile_id связывает запись файла журнала с таблицей SDE_LOGFILE_DATA. Таблица SDE_LOGFILE_DATA содержит logfile_data_id и идентификатор объекта для выбранных записей.
Все записи удаляются как только происходит очистка выборки с целью недопущения чрезмерного роста таблицы SDE_LOGFILE_DATA. Таблица SDE_LOGFILES усекается после окончания сеанса пользователя. Таблицы SDE_LOGFILE_DATA и SDE_LOGFILES остаются в схеме пользователя.
Параметры для использования совместных файлов журнала
В таблице SERVER_CONFIG необходимы следующие параметры для создания таблиц совместного файла журнала:
- MAXSTANDALONELOGS = 0
- ALLOWSESSIONLOGFILE = FALSE
- LOGFILEPOOLSIZE = 0
Настройки хранения таблиц и индексов совместно используемых файлов журнала
Для Oracle, следующие параметры управляют хранением таблиц совместных файлов журнала и индексов:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD _STORAGE
- LF_INDEXES
- LF_STORAGE
Описание данных параметров см. в Параметры конфигурации Oracle DBTUNE.
Права доступа, необходимые для совместных файлов журнала
Так как таблицы файла журнала принадлежат подключающемуся пользователю, то пользователи должны иметь права доступа, позволяющие им создавать необходимые объекты данных. например таблицы. Это необходимо даже тогда, когда пользователь обладает доступом только для чтения базы геоданных или для ArcSDE задан параметр "только для чтения". Если данные права доступа не назначены, то пользователь получит сообщение об ошибке при первой попытке создания выборки, размер которой превосходит пороговый размер для конкретного клиентского приложения. Однако после того, как для пользователя будут созданы таблицы SDE_LOGFILES и SDE_LOGFILE_DATA, администратор базы геоданных может отменить данные права доступа.
Например: архитектор Ian может только выбрать данные из базы геоданных для выполнения анализов, относящихся к его задаче. Таким образом, он будет пользователем с правами "только для чтения". Однако, если Ian захочет создать таблицы SDE_LOGFILES и SDE_LOGFILE_DATA в базе геоданных города ArcSDE, то ему потребуется возможность создания таблиц в базе геоданных.
Вместо того чтобы выдавать пользователю Ian разрешение для неограниченного создания таблиц, администратор базы геоданных решает войти в базу геоданных под именем Ian, сделать выборку, размер которой превосходит порог, а затем отозвать у Ian права доступа для создания таблиц.
Для работы с совместно используемыми файлами журнала в Oracle необходимы следующие разрешения:
- CREATE SESSION
- CREATE TABLE
- CREATE SEQUENCE
Право CREATE SESSION назначается по умолчанию всем пользователям; поэтому, предоставлять это право необходимо только в том случае, если вы отозвали его у группы PUBLIC.
Сеансовые файлы журнала
Таблицы файлов журнала на основании сеанса предназначены для отдельного сеанса и могут содержать множество выборок (файлов журнала). Каждый сеанс, для которого выполняется вход, требует набора таблиц для выборок.
Когда необходимо использовать файлы журнала на основании сеанса
Вы можете использовать файлы журналов на основании журналов в том случае, если у вас имеется множество одновременных подключений к базе геоданных с одним именем пользователя.
Когда не стоит использовать файлы на основании сеанса
Вы не можете использовать файлы журналов на основании сеанса в том случае, если у вас имеются пользователи с правами "только для чтения", подключающиеся к базе данных.
Таблица сеанса удаляется из схемы пользователя после окончания сеанса. Это означает, что ее необходимо повторно создать когда это необходимо; таким образом, для использования таблиц файла журнала на основании сеанса, пользователю необходимы права доступа для создания таблиц.
Таблицы, созданные для файлов журнала на основании сеанса
Создаются три таблицы: SDE_LOGFILES, SDE_LOGFILE_DATA и SDE_SESSION<SDE_ID>. SDE_LOGFILE_DATA в данном случае фактически не используется, но при этом создается автоматически. В таблице SDE_LOGFILES хранится информация о выборке плюс тег сеанса <SDE_ID>, добавляемый к имени таблицы SDE_SESSION. Таблица SDE_SESSION содержит идентификатор объекта для выбранного набора и идентификатор файла журнала.
Таблицы SDE_LOGFILES и SDE_LOGFILE_DATA остаются в базе геоданных. Таблица SDE_LOGFILES усекается после отключения подключающегося приложения. Таблица SDE_SESSION<SDE_ID> усекается когда подключающееся приложение удаляет файлы журнала, а таблица удаляется после отключения сеанса.
Параметры использования совместных файлов журнала на основании сеанса (не разделяемые)
В таблице SERVER_CONFIG для создания таблиц файла журнала на основании сеанса, которые не принадлежат администратору базы геоданных, необходимы следующие параметры:
- ALLOWSESSIONLOGFILE = TRUE
- MAXSTANDALONELOGS = 0
- LOGFILEPOOLSIZE = 0
Настройки управления хранением таблиц и индексов сеансовых файлов журнала
Существует несколько параметров под ключевым словом LOGFILE_DEFAULTS таблицы DBTUNE, управляющие способом или местом хранения таблиц файла журнала в базе данных. Вам не нужно задавать их для использования файлов журнала на основании сеанса, но вы можете задавать их в том случае, если желаете изменить способ хранения таблиц SDE_LOGFILES, SDE_LOGFILE_DATA и SDE_SESSION, а также индексов в базе данных.
Для Oracle, следующие параметры управляют хранением таблиц файлов журнала на основании сеансов и индексов:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Описание данных параметров см. в Параметры конфигурации Oracle DBTUNE.
Права доступа, необходимые для файлов журнала на основании сеанса
Файлы журнала на основании сеанса принадлежат пользователю, начинающему сеанс подключения. Это означает, что пользователю необходимы права доступа для создания требуемых объектов базы данных.
Для использования таблиц файла журнала на основании сеанса всем пользователям в Oracle необходимы следующие права доступа:
- CREATE SESSION
- CREATE TABLE
- CREATE SEQUENCE
Право CREATE SESSION назначается по умолчанию всем пользователям; поэтому, предоставлять это право необходимо только в том случае, если вы отозвали его у группы PUBLIC.
Автономные файлы журнала
Автономные файлы журнала создаются сеансом для каждой выборки, которую должно сохранить приложение.
Когда необходимо использовать автономные файлы журнала
Если вы не видите проблем с выдачей прав доступа для создания таблиц в базе геоданных всем пользователям базы данных, вы можете использовать таблицы автономного файла журнала.
Одно из преимуществ таблиц автономного файла журнала заключается в том, что после очистки выборки таблица SDE_LOGDATA, содержащая данную выборку, усекается, а не удаляется. Усечение может быть выполнено быстрее, чем операция удаления, так как нет необходимости вызова внутреннего выражения Structured Query Language (SQL). Однако существует большое не так много случаев, для которых указанная цель повышения производительности превзойдет затраты на создание и хранение отдельных таблиц файла журнала для каждого слоя.
Когда не стоит использовать автономные файлы
Вы не можете использовать автономные файлы журналов в том случае, если у вас имеются пользователи с правами "только для чтения", подключающиеся к базе данных. Таблицы SDE_LOGDATA<SDE_ID> удаляются из схемы пользователя после прекращения соединения. Они должны создаваться заново каждый раз, когда превышается порог выборки для слоя, поэтому вы не можете отозвать права доступа CREATE у пользователей, если они будут подключаться к базе геоданных.
Таблицы, созданные для автономных файлов журнала
Для каждой выборки, превышающей порог и созданной сеансом, создается новая таблица SDE_LOGDATA<SDE_ID> для каждого слоя. Это устраняет борьбу за ресурсы для таблицы SDE_LOGDATA. При этом, если новая таблица создается для каждой выборки и удаляется после разрыва подключения, то создается большое количество выражений CREATE TABLE и DROP TABLE SQL.
Таблицы SDE_LOGFILES и SDE_LOGFILE_DATA создаются в схеме пользователя после соединения. Таблица SDE_LOGFILES хранит в себе свойства выборки, но таблица SDE_LOGFILE_DATA не используется.
Если выборка больше не требуется для слоев, то таблицы SDE_LOGDATA<SDE_ID> усекаются. Таблицы SDE_LOGDATA<SDE_ID> удаляются после прекращения соединения. Таблицы SDE_LOGFILES и SDE_LOGFILE_DATA остаются в схеме пользователя даже после отключения пользователя; при этом SDE_LOGFILES усекается.
Параметры, необходимые для использования автономных файлов журнала (не разделяемые)
Параметр в таблице SERVER_CONFIG, который указывает на количество создаваемых автономных файлов журнала, называется MAXSTANDALONELOGS. По умолчанию значение параметра MAXSTANDALONELOGS равно 0, поэтому, если вы желаете использовать автономные файлы журнала, вам необходимо задать параметр MAXSTANDALONELOGS, равный количеству автономных файлов журнала, доступное для создания каждым пользователем.
Для создания таблиц автономного файла журнала, которые не принадлежат администратору базы геоданных, необходимы следующие параметры:
- MAXSTANDALONELOGS = <максимальное количество таблиц SDE_LOGDATA<SDE_ID>, которые может создать пользователь>
- LOGFILEPOOLSIZE = 0
Автономные файл используются до выполнения квоты сеанса, определенной параметром конфигурации сервера MAXSTANDALONELOGS. Когда пользователь превышает предел автономных файлов журнала, другими словами, если приложению требуется одновременно создать больше выборок (файлов журнала), чем задано параметром MAXSTANDALONELOGS, ArcSDE предпримет попытку создания файлов журнала на основании сеанса, но только в том случае, если параметру ALLOWSESSIONLOGFILE присвоено значение TRUE. Если создать файл журнала на основании сеанса невозможно, выполняется попытка создания совместного файла журнала. Если попытка создания совместного файла журнала не является успешной, и необходимо использовать автономные файлы журнала, то ArcSDE возвращает сообщение ошибки.
Для ознакомления с порядком использования типов файла журнала см. В каком порядке используются файлы журнала ArcSDE? .
Настройки хранения таблиц и индексов автономных файлов журнала
Существует несколько параметров под ключевым словом LOGFILE_DEFAULTS таблицы DBTUNE, управляющие способом или местом хранения таблиц файла журнала в базе данных. Вам не нужно задавать их для использования автономных файлов журнала, но вы можете задавать их в том случае, если желаете изменить способ хранения таблиц SDE_LOGFILES, SDE_LOGFILE_DATA и SDE_LOGDATA, а также индексов в базе данных.
Для Oracle, следующие параметры управляют хранением таблиц автономного файла журнала и индексов:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Описание данных параметров см. в Параметры конфигурации Oracle DBTUNE.
Права доступа, необходимые для автономных файлов журнала
Учетные записи, использующие таблицы автономного файла журнала, должны иметь возможность создания необходимых объектов базы данных. В отличии от совместных файлов журнала вы не можете отзывать права доступа у пользователя после создания таблиц файла журнала, так как после каждого создания сеансом выборки достаточно большого размера создается новая пользовательская таблица для слоя.
Для работы с автономными таблицами файлов журнала в Oracle всем пользователям необходимы следующие разрешения:
- CREATE SESSION
- CREATE TABLE
- CREATE TRIGGER
- CREATE SEQUENCE
- CREATE PROCEDURE
Право CREATE SESSION назначается по умолчанию всем пользователям; поэтому, предоставлять это право необходимо только в том случае, если вы отозвали его у группы PUBLIC.
Пулы файлов журнала, принадлежащие администратору базы геоданных.
Администратор базы геоданных может создавать пул файлов журнала, который может быть откреплен и использован другими пользователями. Это могут быть файлы журнала на основании сеанса или автономные файлы журнала. Совместные файлы журнала не могут быть откреплены от пула файла журнала ArcSDE.
Использование пула файлов журнала ArcSDE необходимо для того, чтобы избежать необходимости наделения пользователей правами доступа, необходимыми для создания объектов в базе данных.
Когда необходимо использовать пулы файлов журнала, принадлежащие администратору базы геоданных.
Вы будете использовать пулы фалов журнала в том случае, если не можете дать пользователям возможность создания таблиц файлов журнала в их собственных схемах. При этом пользователям все еще нужны права доступа для создания сеансов или подключения к базе данных.
Использование ресурсов пула более эффективно для файлов журнала на основании сеанса так как они записывают многочисленные выборки в одну таблицу; при этом автономные файлы журнала используют одну таблицу для каждой допустимой выборки.
Когда не нужно использовать пулы файлов журнала, принадлежащие администратору базы геоданных.
В общем случае использование пулов файлов журналов требует больших затрат на обслуживание, так как вам требуется оценить количество необходимых таблиц файла журнала, выполнять изменение размера пула или количества используемых пулов. Помните, что большой пул файла журнала или большое количество пулов файла журнала может негативно отразится на производительности.
Таблицы, создаваемые для пулов файлов журнала, принадлежащие администратору базы геоданных.
Значение, задаваемое для параметра LOGFILEPOOLSIZE в таблице SERVER_CONFIG, определяет количество таблиц SDE_LOGPOOL_<table_ID>, создаваемых в административной схеме пользователя ArcSDE. Например, если значение LOGFILEPOOLSIZE равно 5, то в схеме администратора базы геоданных создаются следующие таблицы:
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
В дополнительную таблицу схемы администратора базы геоданных, SDE_LOGFILE_POOL, записывается SDE_ID для сеанса ArcSDE и идентификационный номер таблицы. <table_ID> в имени таблицы SDE_LOGPOOL соответствует значению столбца table_ID таблицы SDE_LOGFILE_POOL.
Если вы используете пул файлов журнала на основании сеанса, то каждый сеанс, создающий выборку, превосходящую порог выборки, добавляет одну новую запись в таблицу SDE_LOGFILE_POOL, а сеанс выделяется для одной из таблиц SDE_LOGPOOL_<table_ID>. Если дополнительные файлы журнала создаются в одном сеансе, например, вторая выборка из 300 записей создается в одном сеансе ArcMap, то в таблицу SDE_LOGPOOL добавляются новые файлы журнала (выборка).
Когда файлы журнала очищаются, происходит усечение таблицы SDE_LOGPOOL, открепляемой для сеанса. Например, при очистке второй выборки в сеансе ArcMap, из таблицы SDE_LOGPOOL удаляются 300 записей, но записи первой выборки остаются. Когда файлы первой выборки очищаются, данные записи удаляются из таблицы SDE_LOGPOOL.
Если вы используете пул автономных файлов журнала, то каждый файл журнала (выборка необходимого размера) создает новую запись в таблице SDE_LOGFILE_POOL и используется одна из таблиц SDE_LOGPOOL. Например, для одного сеанса ArcMap, вы выбираете (1) из класса объектов, хранящего информацию о виде деятельности, все эти виды деятельности имеют лицензию на подачу пищи, и (2) из класса объектов, хранящего информацию о ливневых стоках и всех ливневых отстойниках, расположенных в пределах одного километра от организации, подающей пищу – в таблицу SDE_LOGFILE_POOL добавляются две записи: одна для выборки видов деятельности, вторая для выборки ливневых отстойников. Каждой выборке будет присвоена отдельная таблица SDE_LOGPOOL.
Когда файл журнал (выборка) очищается, происходит усечение соответствующей таблицы SDE_LOGPOOL.
Параметры, необходимые для использования пулов файлов журнала, принадлежащие администратору базы геоданных.
Параметрами таблицы SERVER_CONFIG, влияющими на пулы файлов журналов являются LOGFILEPOOLSIZE и HOLDLOGPOOLTABLES.
Как было указано в предыдущем разделе, для создания пула файлов журнала, присвойте параметру конфигурации LOGFILEPOOLSIZE значение, равное количеству файлов журнала (другими словами, количество таблиц SDE_LOGPOOL), которое необходимо создать. Значение должно отражать количество сеансов подключения к вашему серверу помимо автономных файлов журнала, если разрешено.
Для подсчета общего количества файлов журнала, которые необходимо задать для пула файла журнала, используйте следующие формулы:
- Если разрешены файлы журнала сеанса, а не автономные файлы журнала
LOGFILEPOOLSIZE = общее ожидаемое количество сеансов
Например, если для параметра MAXSTANDALONELOGS задано значение 0, для ALLOWSESSIONLOGFILE значение TRUE, и вам требуется не более 30 одновременных подключений к базе геоданных, то параметру LOGFILEPOOLSIZE необходимо присвоить значение 30.
- Если разрешены автономные файлы журнала, а не файлы журнала сеанса
LOGFILEPOOLSIZE = MAXSTANDALONELOGS * общее ожидаемое количество сеансов
Например, если для параметра MAXSTANDALONELOGS задано значение 5, для ALLOWSESSIONLOGFILE значение FALSE, и вы ожидаете не более 10 одновременных подключений к базе геоданных, то параметру LOGFILEPOOLSIZE необходимо присвоить значение 50. LOGFILEPOOLSIZE = 5 * 10.
- Если разрешены и файлы журнала сеанса, и автономные файлы журнала
LOGFILEPOOLSIZE = (MAXSTANDALONELOGS + 1) * общее ожидаемое количество сеансов
Например, если для параметра MAXSTANDALONELOGS задано значение 8, для ALLOWSESSIONLOGFILE значение "истина", и вы ожидаете не более 20 одновременных подключений к базе геоданных, то параметру LOGFILEPOOLSIZE необходимо присвоить значение 180. LOGFILEPOOLSIZE = (8 + 1) * 20.
Если пул переполнен и требуется другая таблица файла журнала, то ArcSDE предпримет попытку ее создания в схеме пользователя. Если таблица файла журнала не может быть создана в схеме пользователя, то возвращается сообщение об ошибке.
Таблицы SDE_LOGPOOL_<table_ID> создаются или удаляются при всяком изменении параметра LOGFILEPOOLSIZE. В предыдущем примере, когда параметру LOGFILEPOOLSIZE присваивается значение 180, создается 180 таблиц SDE_LOGPOOL_<table_ID>. Если вы измените параметр LOGFILEPOOLSIZE на 100, то 80 из этих таблиц будут удалены.
Другой параметр пула файла журнала, HOLDLOGPOOLTABLES, определяет когда таблица SDE_LOGPOOL возвращается в пул и может быть использована другими пользователями. Если параметру HOLDLOGPOOLTABLES присвоено значение TRUE (по умолчанию), то записи в таблице SDE_LOGFILE_POOL и таблицах SDE_LOGPOOL остаются заблокированными до окончания сеанса подключения. Если параметру HOLDLOGPOOLTABLES присвоено значение FALSE, то таблицы файла журнала освобождаются и таблица SDE_LOGFILE_POOL усекается если выборка больше не требуется. Такое поведение присуще пулам из файлов журналов на основании сеанса и пулам автономных файлов журнала.
Параметры управления хранением пулов файлов журнала и индексов, принадлежащие администратору базы геоданных.
Существует всего несколько параметров под ключевым словом LOGFILE_DEFAULTS таблицы DBTUNE, управляющие способом хранения таблиц SDE_LOGPOOL<SDE_ID> и их индексов.
В базах геоданных ArcSDE для Oracle, параметры LD_STORAGE, LD_INDEX_ROWID и LD_INDEX_DATA_ID DBTUNE используются для настройки хранения таблиц SDE_LOGPOOL<SDE_ID> и их индексов. Эти три параметра также управляют хранением таблиц SDE_LOGFILE_DATA и индексов. Описание данных параметров см. в Параметры конфигурации Oracle DBTUNE.
Вам не нужно задавать их для использования пулов таблиц файла журнала, но вы можете задавать их в том случае, если желаете изменить способ хранения таблиц SDE_LOGPOOL<SDE_ID> и индексов в базе данных.
Права доступа, необходимые для использования пулов файлов журнала, принадлежащие администратору базы геоданных.
Для использования таблиц файла журнала в пуле пользователям необходима только возможность подключения к базе данных и использования объектов в схеме администратора базы геоданных. Таким образом, единственным необходимым правом доступа для использования пулов таблиц файла журнала является право CREATE SESSION.
Право CREATE SESSION назначается по умолчанию всем пользователям; поэтому, предоставлять это право необходимо только в том случае, если вы отозвали его у группы PUBLIC.