Настройка базы данных Oracle для поддержки столбцов ArcSDE XML

Столбцы ArcSDE XML используют компоненты Oracle Text, которые устанавливаются вместе с Oracle по умолчанию. Для того, чтобы их использовать необходимо предоставить пользователям права доступа к этим компонентам. Как только это будет сделано, база данных и ArcSDE должны быть правильно настроены для оптимизации результатов поиска и производительности, в частности, для поиска в XML-столбцах, на языках, отличных от английского, если вы используете XML-документы, которые содержат другие языки, кроме английского.

Если вы планируете осуществлять запрос к таблице используя содержимое XML-столбца, проверьте следующую информацию о базе данных:

Если текущие настройки по умолчанию не являются правильными для языка XML-документов и существующие пользовательские текстовые предпочтения отсутствуют, необходимо создать пользовательские текстовые настройки для правильного индексирования и поиска в XML-документах, и сослаться на эти настройки с использованием параметра ArcSDE DBTUNE XML_IDX_INDEX_TEXT до создания XML-столбца.

Вы также можете настроить параметры, используемые для индексирования ваших XML-документов. Это требует создания соответствующих предпочтений в Oracle и указания данных параметров в параметре ArcSDE DBTUNE XML_IDX_INDEX_TEXT. Далее, используйте ключевое слово DBTUNE содержащее пользовательский параметр XML_IDX_INDEX_TEXT при создании XML-столбца.

ВниманиеВнимание:

Будьте осторожны при изменении параметров индексации пунктуации. Те же настройки используются при индексировании всего текста в XML-документах. Значения в одном XML-документе могут использовать пунктуацию отличную от других.

Шаги:
  1. Войдите в SQL*Plus как пользователь ctxsys для выдачи необходимых разрешений пользователю, который будет собственником XML-столбца, выполнив следующую команду:
    GRANT EXECUTE ON ctx_ddl TO <mdUsername>;
    

    <mdUsername> – пользователь, который станет собственником XML-столбца.

  2. Запросите просмотр параметров ctx_parameters для определения текущих настроек Oracle по умолчанию.
    SELECT * FROM ctx_parameters;
    
  3. Запросите просмотр CTX_PREFERENCES для ознакомления с доступными настройками. Например, таким образом вы можете узнать, какой лексер в настоящее время используется согласно предпочтению CTXSYS.DEFAULT_LEXER. Любые пользовательские предпочтения, созданные другими пользователями, также будут описаны.
    SELECT * FROM ctx_preferences;
    
  4. Запросите просмотр значений ctx_preferences_values для того, чтобы убедиться, что определенные системой предпочтения правильно установлены для ваших XML-документов.
    SELECT * FROM ctx_preference_values;
    
  5. Сравните результаты описанных выше запросов с допустимыми установками для лексеров, списков слов и других текстовых объектов, документированных в Справочном руководстве по Oracle Text (Oracle Text Reference Guide) для вашей версии базы данных.
  6. Если текущие настройки по умолчанию не являются правильными для языка ваших XML-документов и существующие пользовательские текстовые предпочтения отсутствуют, вам необходимо создать пользовательские текстовые предпочтения для правильного индексирования и поиска в ваших XML-документах.
  7. Добавьте пользовательские текстовые предпочтения в параметр DBTUNE XML_IDX_INDEX_TEXT перед созданием вашего XML-столбца.
  8. Просмотрите поддерживаемые системой текстовые объекты перед созданием пользовательских предпочтений, чтобы убедиться, что лексер, который вы хотите использовать, доступен в вашей инсталляции Oracle.
    SELECT * FROM ctx_objects;
    
  9. Вы можете создать пользовательское текстовое предпочтение, ссылаясь на возвращенный в предыдущем шаге лексер.

    Например, если WORLD_LEXER возвращен в списке ctx_objects, вы можете создать пользовательское текстовое предпочтение, ссылаясь на данный лексер следующим образом:

    EXEC ctx_ddl.create_preference('WORLDLEXER', 'WORLD_LEXER');
    

  10. Установите параметр DBTUNE XML_IDX_INDEX_TEXT для использования предпочтения. Измените значение параметра XML_IDX_INDEX_TEXT под ключевым словом DEFAULTS, используя команду sdedbtune. Более подробно см. в Изменение содержания таблицы DBTUNE.

    Всегда предваряйте имя предпочтения именем пользователя, который создал данное предпочтение. Например, если администратор базы геоданных выполнил вход как пользователь sde когда предпочтение было создано, параметр XML_IDX_INDEX_TEXT следует установить следующим образом:

    LEXER sde.WORLDLEXER

  11. Убедитесь, что предпочтения списка слов и стоп-листа установлены корректно для вашего языка. Если это не так, то выполните одно из следующего:
    • Используйте одно из значений для данных установок для вашего языка, описанных в Справочном руководстве по Oracle Text (Oracle Text Reference Guide).
    • Если установки, которые вам требуются, не описаны в Справочном руководстве по Oracle Text (Oracle Text Reference Guide), то создайте пользовательское предпочтение и добавьте его к значению параметра XML_IDX_INDEX_TEXT в таблице DBTUNE.

Если текущие настройки по умолчанию не являются правильными для языка XML-документов и существующие пользовательские текстовые предпочтения отсутствуют, вам необходимо создать пользовательские текстовые предпочтения для правильного индексирования и поиска в XML-документах, и сослаться на эти предпочтения с использованием параметра ArcSDE DBTUNE XML_IDX_INDEX_TEXT до создания XML-столбца.

5/10/2014