240  /  242

Настройка базы данных Oracle

Просмотров: 28064
Дата последнего изменения: 11.01.2024
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Внимание! С 1 января 2017 года прекращена поддержка продуктов «1С-Битрикс» на базах данных Oracle Database и MS SQL Server. Для установок, использующих эти БД, недоступны обновления и возможности новых релизов.

Урок в курсе оставлен для тех, кто использует установку с Oracle. Он не обязателен к изучению и его можно пропустить.

Общие рекомендации по настройке Oracle совпадают с рекомендациями Oracle по конфигурированию системы для уменьшения дисковых операций чтений, сортировки и перестроения.

Стоит обратить внимание на системные переменные управления памятью. Рекомендуется использовать до 60-80% оперативной памяти для кеширования данных за счет управления переменными:

db_cache_size 
shared_pool_size 
pga_aggregate_target
 

Начиная с версии Oracle 10, рекомендуется использовать Automatic Shared Memory Management:

  • при установке БД, выбрать % ОЗУ, которая будет доступна БД в пределах 60-80% от ОЗУ сервера с помощью параметра SGA_MAX_SIZE
  • во время эксплуатации БД количество памяти, доступное Oracle можно откорректировать (в большую или меньшую стороны) с помощью параметра SGA_TARGET без перезапуска БД. Индикатором правильности установки параметров управления памятью будет отсутствие дисковых операций swap, также имеет смысл контролировать общесистемный размер используемого swap пространства – не более 100 MB.

Для экономии места SGA (shared_pool) и уменьшения расходов процессорных ресурсов на разбор SQL-запросов, отличающихся только значениями констант, рекомендуется установить параметр

cursor_sharing = FORCE
либо
cursor_sharing = SIMILAR
отключив расчёт гистограмм для столбцов таблиц в параметрах сбора статистики:
begin dbms_stats.set_param( 'METHOD_OPT', 'FOR ALL COLUMNS SIZE 1'  ); end;

Если Oracle установлен на той же машине, что и веб-сервер, рекомендуется использовать протокол IPC (PROTOCOL = IPC) и (KEY = EXTPROC) для соединения с базой для исключения работы через IP-стек.

Если реализована двухуровневая схема обработки запросов с Front-end и Back-end и установлен параметр MaxClients, то можно без опасений использовать постоянные соединения между PHP и Oracle (Persistent connection), выполнив следующую установку в файле /bitrix/php_interface/dbconn.php:

 define("DBPersistent",true); 
Примечание: Начиная с релиза Oracle 10g R2, возможно использование отложенных транзакций (Enhanced COMMIT) в случаях если бизнес-требования к проекту допускают возможную потерю данных нескольких последних транзакций. Использование отложенных транзакций существенно ускоряет проект, позволяет снять прямую зависимость от производительности дисковой подсистемы и существенно уменьшить время генерации страниц. Для использования этого механизма, необходимо установить параметр: COMMIT_WRITE='BATCH,NOWAIT'.

7
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии