OracleConfiguration » История » Версия 14
BEA, 10.02.2025 19:27
1 | 2 | BEA | h2. Настройка СУБД Oracle |
---|---|---|---|
2 | 1 | BEA | |
3 | 5 | BEA | h3. Сетевые настройки в Oracle: файл @tnsnames.ora@, файл @sqlnet.ora@ |
4 | 3 | BEA | |
5 | 11 | BEA | *@tnsnames.ora@* - файл для настройки возможных подключений к базе данных через TNS. |
6 | *@sqlnet.ora@* - файл описывающий различные методы подключения и защиты |
||
7 | |||
8 | Базовый формат описания подключений в @tnsnames.ora@ и его пояснение: |
||
9 | 3 | BEA | <pre> |
10 | <tns имя подключения> = |
||
11 | (DESCRIPTION = |
||
12 | (ADDRESS_LIST = |
||
13 | (ADDRESS = (PROTOCOL = <протокол>)(HOST = <хост>)(PORT = <порт>)) |
||
14 | ) |
||
15 | (CONNECT_DATA = |
||
16 | (SERVICE_NAME = <имя сервиса>) |
||
17 | ) |
||
18 | ) |
||
19 | </pre> |
||
20 | Где: |
||
21 | * @<tns имя подключения>@ - имя данного подключения. Должно быть уникальным. Далее к этим настройкам обращение происходит через это имя в файле OMP_DB.ini |
||
22 | * @<протокол>@ - протокол по которому осуществляет подключения. У нас используется TCP |
||
23 | * @<хост>@ - сетевое имя сервера к которому осуществляется подключение. Самый универсальный адрес: указать IP |
||
24 | * @<порт>@ - порт по которому в сети работает Oracle. Указывается при установке. По умолчанию 1521 |
||
25 | 1 | BEA | * @<имя сервиса>@ - имя объекта database в Oracle к которому осуществляется подключение. У нас по умолчанию omega. |
26 | 3 | BEA | |
27 | 4 | BEA | Для прверки правильности настроек используется консольная команда *@tnsping@*: |
28 | 3 | BEA | <pre> |
29 | tnsping <tns имя подключения> |
||
30 | 1 | BEA | </pre> |
31 | 3 | BEA | |
32 | 11 | BEA | Подробнее о *@tnsnames.ora@* и *@sqlnet.ora@* можно ознакомиться в официальной документации Oracle в сети Интернет |
33 | 1 | BEA | |
34 | 3 | BEA | h3. Параметры в СУБД Oracle |
35 | |||
36 | 9 | BEA | Параметры задаваемые в СУБД Oracle являются конфигурацией того в каких режимах будет работать Oracle, сколько Oracle будет потреблять мощности сервера и прочее. |
37 | 1 | BEA | Параметры и их значения которые мы задаём по умолчанию для новых клиентов: |
38 | 11 | BEA | * *@parallel_max_servers=0@* - определяет максимальное количество параллельных процессов выполнения и параллельных процессов восстановления |
39 | * *@deferred_segment_creation=FALSE@* - определяет семантику отложенного создания сегмента. |
||
40 | * *@undo_retention=9000@* - указывает (в секундах) нижнее пороговое значение сохранения отмены. |
||
41 | * *@open_cursors=500@* - указывает максимальное количество открытых курсоров, которые сеанс может иметь одновременно |
||
42 | * *@session_cached_cursors=100 scope=spfile@* - указывает количество сеансовых курсоров для кэширования |
||
43 | * *@job_queue_processes=1000@* - определяет максимальное количество исполнителей заданий, которые могут быть созданы для выполнения заданий планировщика Oracle ( Oracle Scheduler ). |
||
44 | * *@processes=500 scope=spfile@* - определяет максимальное количество пользовательских процессов операционной системы, которые могут одновременно подключаться к Oracle. |
||
45 | * *@alter profile DEFAULT limit password_life_time unlimited@* - задаёт неограниченный срок действия пароля у пользователя в Oracle |
||
46 | |||
47 | 14 | BEA | *Ваши значения могут отличатся от указанных и это не ошибка. Вероятно они уже ранее изменялись чтобы улучшить работу СУБД Oracle.* |
48 | 13 | BEA | *Важно! Не меняйте значения параметров если не понимаете на что это влияет!* |
49 | Скрипт устанавливающие данные параметры в указанные выше значения прикреплён к данной вики странице: attachment:default_parameters.sql |
||
50 | 11 | BEA | Подробнее со всеми параметрами можно ознакомится в официальной документации от Oracle доступной в сети Интернет |
51 | 1 | BEA | |
52 | 9 | BEA | h4. Изменение параметров: |
53 | 1 | BEA | |
54 | 9 | BEA | # Откройте *SQL Developer* или *SQL Plus* и подключитесь к базе через пользователя sys. Далее запустите такие 2 запроса: @show parameter spfile;@, @show parameter pfile;@ Они укажут пути до файлов параметров в Oracle. Редактировать данные файлы вручную не стоит. Сделайте копию файлов и где нибудь сохраните. |
55 | # После этого можно приступать к изменению параметров базы данных используя @alter system set parameter...@ Подробнее в [[#Примеры использования изменения параметров в Oracle]] |
||
56 | 1 | BEA | # Перезагружаете Oracle сервер |
57 | 9 | BEA | # Проверяете результат. если что то пошло не так можете легко вернуть параметры назад вернув файлы параметров используя копии из пункта 1 и перезагружаете Oracle сервер снова |
58 | 2 | BEA | |
59 | 9 | BEA | h4. Примеры использования изменения параметров в Oracle |
60 | 1 | BEA | |
61 | Здесь описаны часто возникающие случаи изменения параметров. |
||
62 | * Изменение потребляемой оперативной памяти на сервере |
||
63 | {{collapse |
||
64 | *SGA+PGA=размер потребляемой оперативной памяти у сервера* |
||
65 | |||
66 | Варианты как распределить память: |
||
67 | * Oracle: |
||
68 | ** OLTP(много малых запросов к серверу, быстрое время отклика): *SGA 80%, PGA 20%* |
||
69 | ** DSS(для запросов к серверу с большой нагрузкой): *SGA 50%, PGA 50%* |
||
70 | * Наш: *SGA 65%, PGA 35%* |
||
71 | |||
72 | Изменяем параметры *SGA* и *PGA* памяти при помощи команд: |
||
73 | * @ALTER SYSTEM SET SGA_MAX_SIZE=<размер рассчитаной SGA в гигабайтах>G SCOPE=SPFILE;@ |
||
74 | * @ALTER SYSTEM SET SGA_TARGET=<размер рассчитаной SGA в гигабайтах>G SCOPE=SPFILE;@ |
||
75 | * Проверьте параметр *pga_aggregate_target*: @show parameter pga_aggregate_target;@ Если он нулевой то: @ALTER SYSTEM SET pga_aggregate_target=<20% от SGA>G SCOPE=SPFILE;@ |
||
76 | * @ALTER SYSTEM SET pga_aggregate_limit=<размер рассчитаной PGA в гигабайтах>G SCOPE=SPFILE;@ |
||
77 | }} |
||
78 | * Изменение параметра максимального количества сессий: |
||
79 | {{collapse |
||
80 | Для того чтобы изменить параметр *processes* нужно изменить ещё и *sessions*, *transactions* |
||
81 | Формулы по тому как рассчитать оптимальные значения необходимых параметров: |
||
82 | * *processes* =x |
||
83 | * *sessions* =x*1.1+5 |
||
84 | * *transactions* = *sessions* *1.1 |
||
85 | |||
86 | Изменяем параметры при помощи команд: |
||
87 | * @alter system set processes=<рассчитаный processes> scope=spfile;@ |
||
88 | * @alter system set sessions=<рассчитаный sessions> scope=spfile;@ |
||
89 | * @alter system set transactions=<рассчитаный transactions> scope=spfile;@ |
||
90 | }} |