Авторизация

Логин:
Пароль:
Восстановить пароль
Регистрация
  • Форум
  • Блоги
  • Контакты
  • Новости
  • Продукты
  • Отрасли
  • Обучение
  • Поддержка
  • События
  • О компании
  • Как переложить объекты Oracle в shared pool для увеличения производительности

    Резюме

    Хранение объектов базы данных Oracle в shared pool может улучшить производительность базы данных. Рекомендуется, чтобы все хранимые процедуры и последовательности (sequences) ESRI находились в shared pool. Когда объекты находятся в shared pool, они не анализируются, что сохраняет значительные ресурсы.

    С другой стороны, хранение объектов в shared pool требует использования оперативной (или виртуальной) памяти, которая могла бы использоваться для других процессов. Вы должны будете выделить дополнительную память для shared pool. Вообще, не храните в shared pool объекты, которые редко используются; это может плохо повлиять на производительность базы данных.

    Процедура

    1. Перед переносом объектов базы данных, необходимо создать SYS пакет, который перенесет объекты в shared pool. Как пользователь SYS в SQLPLUS, выполните скрипт dbmspool.sql, расположенный в каталоге $ORACLE_HOME/rdbms/admin.

    Факультативно, вы можете предоставить привилегии на новый пакет DBMS_SHARED_POOL тем пользователям, которым будет требоваться доступ к этим объектам. Например, чтобы предоставить эти привилегии пользователю SDE выполните:

    GRANT execute ON dbms_shared_pool TO sde;

    2. Начнем перекладывать объекты в shared pool.

    EXECUTE dbms_shared_pool.keep ('STANDARD', 'P');

    Есть общее правило, что желательно всегда перекладывать следующие пакеты, принадлежащие SYS:

    STANDARD
    DBMS_STANDARD
    DBMS_UTILITY
    DBMS_DESCRIBE
    DBMS_OUTPUT

    Вы можете пожелать переложить и другие пакеты SYS, которые часто используются, такие как DBMS_LOCK и DBMS_ALERT.

    3. Как пользователь SDE, переложите объекты, которые часто использует прикладная программа.

    EXECUTE dbms_shared_pool.keep ('VERSION_UTIL', 'P');
    EXECUTE dbms_shared_pool.keep ('LOCK_UTIL', 'P');

    Объекты базы данных не ограничиваются хранимыми процедурами. Последовательности (sequences) базы данных, триггеры, и курсоры, все они могут быть перенесены в shared pool. ESRI рекомендует переложить в shared pool часто используемые последовательности (sequences).

    EXECUTE dbms_shared_pool.keep ('SDE.CONNECTION_ID_GENERATOR', 'S');

    Объекты базы данных должны перекладываться в shared pool после каждого запуска экземпляра Oracle, и в идеале сразу после запуска.

    Части этой этой статьи взяты из документации по Oracle. Документация по Oracle не изменена. Для получения дополнительной информации обратитесь к документации по Oracle.

    Статья созданна: 9/14/2001

    Последние изменения: 1/28/2002


    Вернуться к списку