OracleConfiguration » История » Редакция 11
Редакция 10 (BEA, 10.02.2025 18:49) → Редакция 11/15 (BEA, 10.02.2025 19:03)
h2. Настройка СУБД Oracle h3. Сетевые настройки в Oracle: файл @tnsnames.ora@, файл @sqlnet.ora@ *@tnsnames.ora@* - файл для настройки возможных подключений к базе данных через TNS. *@sqlnet.ora@* - файл описывающий различные методы подключения и защиты Базовый Базоый формат описания подключений в @tnsnames.ora@ и его пояснение: <pre> <tns имя подключения> = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = <протокол>)(HOST = <хост>)(PORT = <порт>)) ) (CONNECT_DATA = (SERVICE_NAME = <имя сервиса>) ) ) </pre> Где: * @<tns имя подключения>@ - имя данного подключения. Должно быть уникальным. Далее к этим настройкам обращение происходит через это имя в файле OMP_DB.ini * @<протокол>@ - протокол по которому осуществляет подключения. У нас используется TCP * @<хост>@ - сетевое имя сервера к которому осуществляется подключение. Самый универсальный адрес: указать IP * @<порт>@ - порт по которому в сети работает Oracle. Указывается при установке. По умолчанию 1521 * @<имя сервиса>@ - имя объекта database в Oracle к которому осуществляется подключение. У нас по умолчанию omega. Для прверки правильности настроек используется консольная команда *@tnsping@*: <pre> tnsping <tns имя подключения> </pre> Подробнее о *@tnsnames.ora@* Подробнее: документация Oracle в сети Интернет @sqlnet.ora@ - описывающий различные методы подключения и *@sqlnet.ora@* можно ознакомиться в официальной документации его защиты Подробнее: документация Oracle в сети Интернет h3. Параметры в СУБД Oracle Параметры задаваемые в СУБД Oracle являются конфигурацией того в каких режимах будет работать Oracle, сколько Oracle будет потреблять мощности сервера и прочее. Параметры и их значения которые мы задаём по умолчанию для новых клиентов: * *@parallel_max_servers=0@* - определяет максимальное количество параллельных процессов выполнения и параллельных процессов восстановления * *@deferred_segment_creation=FALSE@* - определяет семантику отложенного создания сегмента. * *@undo_retention=9000@* - указывает (в секундах) нижнее пороговое значение сохранения отмены. * *@open_cursors=500@* - указывает максимальное количество открытых курсоров, которые сеанс может иметь одновременно * *@session_cached_cursors=100 scope=spfile@* - указывает количество сеансовых курсоров для кэширования * *@job_queue_processes=1000@* - определяет максимальное количество исполнителей заданий, которые могут быть созданы для выполнения заданий планировщика Oracle ( Oracle Scheduler ). * *@processes=500 scope=spfile@* - определяет максимальное количество пользовательских процессов операционной системы, которые могут одновременно подключаться к Oracle. * *@alter profile DEFAULT limit password_life_time unlimited@* - задаёт неограниченный срок действия пароля у пользователя в Oracle Подробнее со всеми параметрами можно ознакомится в официальной документации от Oracle доступной в сети Интернет h4. Изменение параметров: # Откройте *SQL Developer* или *SQL Plus* и подключитесь к базе через пользователя sys. Далее запустите такие 2 запроса: @show parameter spfile;@, @show parameter pfile;@ Они укажут пути до файлов параметров в Oracle. Редактировать данные файлы вручную не стоит. Сделайте копию файлов и где нибудь сохраните. # После этого можно приступать к изменению параметров базы данных используя @alter system set parameter...@ Подробнее в [[#Примеры использования изменения параметров в Oracle]] # Перезагружаете Oracle сервер # Проверяете результат. если что то пошло не так можете легко вернуть параметры назад вернув файлы параметров используя копии из пункта 1 и перезагружаете Oracle сервер снова h4. Примеры использования изменения параметров в Oracle Здесь описаны часто возникающие случаи изменения параметров. * Изменение потребляемой оперативной памяти на сервере {{collapse *SGA+PGA=размер потребляемой оперативной памяти у сервера* Варианты как распределить память: * Oracle: ** OLTP(много малых запросов к серверу, быстрое время отклика): *SGA 80%, PGA 20%* ** DSS(для запросов к серверу с большой нагрузкой): *SGA 50%, PGA 50%* * Наш: *SGA 65%, PGA 35%* Изменяем параметры *SGA* и *PGA* памяти при помощи команд: * @ALTER SYSTEM SET SGA_MAX_SIZE=<размер рассчитаной SGA в гигабайтах>G SCOPE=SPFILE;@ * @ALTER SYSTEM SET SGA_TARGET=<размер рассчитаной SGA в гигабайтах>G SCOPE=SPFILE;@ * Проверьте параметр *pga_aggregate_target*: @show parameter pga_aggregate_target;@ Если он нулевой то: @ALTER SYSTEM SET pga_aggregate_target=<20% от SGA>G SCOPE=SPFILE;@ * @ALTER SYSTEM SET pga_aggregate_limit=<размер рассчитаной PGA в гигабайтах>G SCOPE=SPFILE;@ }} * Изменение параметра максимального количества сессий: {{collapse Для того чтобы изменить параметр *processes* нужно изменить ещё и *sessions*, *transactions* Формулы по тому как рассчитать оптимальные значения необходимых параметров: * *processes* =x * *sessions* =x*1.1+5 * *transactions* = *sessions* *1.1 Изменяем параметры при помощи команд: * @alter system set processes=<рассчитаный processes> scope=spfile;@ * @alter system set sessions=<рассчитаный sessions> scope=spfile;@ * @alter system set transactions=<рассчитаный transactions> scope=spfile;@ }}