Проект

Общее

Профиль

Действия

Oracle » История » Редакция 17

« Предыдущее | Редакция 17/39 (Разница(diff)) | Следующее »
BEA, 15.04.2024 16:32


Oracle

Базовые понятия

БД Omega Production в Oracle

В Oracle все объекты принадлежат какому либо пользователю. Учётная запись пользователя + объекты принадлежащие ей называется схемой в Oracle.
Для сокращения и простоты понимания для заказчиков под базой данных Omega Production подразумевается схема в Oracle содержащая разработанные нами объекты.
Схема именуется также как и пользователь владеющий объектами в ней. Пользователь владеющий всеми объектами схемы является администратором базы данных Omega Production.

Файловая архитектура важных файлов в Oracle

Общие понятия

У Oracle есть 2 понятия где установлено их ПО:
  • ORACLE_BASE - путь где установлен набор программ одной версии
  • ORACLE_HOME - путь где установлена конкретная программа (к примеру: клиент х32, клиент х64, сервер х64)

Пример: при установке Oracle ORACLE_BASE был выбран как C:\app тогда:

Каталог product - по умолчанию где будут устанавливаться основные программы от Oracle. Остальноые каталоги содержат прочие конфигурации и логи.
В самом же каталоге product по умолчанию расположены по относительному пути такого формата: <версия>/<программа_N>. Данное расположение и будет являться ORACLE_HOME. Пример на скриншотах ниже.
Скриншот из проводника:

Скриншот из рееста со значениями ORACLE_BASE и ORACLE_HOME:

Перечень важных путей

Для администрирования и настройки в работе с Omega нас интересуют лишь несколько путей:
  • ORACLE_HOME/bin : Папка где расположены бинарные файлы (.exe, .dll и прочие) для запуска установленных приложений от Oracle.
    В частности: для запуска запросов нам нужны SQL developer (sqldeveloper.exe) и SQL Plus (sqlplus.exe), для импорта/экспорта дампов баз отсюда вызывается impdp.exe и expdp.exe.
    Путь к данной папке должен присутствовать в PATH и в реестре как ORACLE_HOME.
  • ORACLE_HOME/network : Папка где расположены нужные настройки для сети. Базовые файлы настроек необходимые нам расположены в подпапке admin.
    В частности: файл tnsnames.ora в котором расположены известные данному Oracle варианты подключения (формат описания подключений в файле рис. 1,2), файл sqlnet ora описывающий различные методы подключения и его защиты.
  • ORACLE_HOME/database : расположены файлы настроек работы Oracle. В случае невозможности включения Oracle из за настроек можно подправить здесь
  • ORACLE_HOME/deinstall : здесь расположен инструмент для правильного удаления Oracle. Крайне не рекомендуется прибегать к ручному удалению а использовать именно этот инструмент.
  • ORACLE_BASE/diag/rdbms/<имя базы>/<имя базы>/trace : путь где лежит alert_<имя базы>.log который в серверном Oracle Database ведёт подробный лог работы СУБД

Настройка СУБД Oracle

Сетевые настройки в Oracle: файл tnsnames.ora, файл sqlnet.ora

tnsnames.ora - файл для настройки возможных подключений к базе данных через TNS.
sqlnet.ora - файл описывающий различные методы подключения и защиты

Базовый формат описания подключений в tnsnames.ora и его пояснение:
<tns имя подключения> =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = <протокол>)(HOST = <хост>)(PORT = <порт>))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = <имя сервиса>)
    )
  )

Где:
  • <tns имя подключения> - имя данного подключения. Должно быть уникальным. Далее к этим настройкам обращение происходит через это имя в файле OMP_DB.ini
  • <протокол> - протокол по которому осуществляет подключения. У нас используется TCP
  • <хост> - сетевое имя сервера к которому осуществляется подключение. Самый универсальный адрес: указать IP
  • <порт> - порт по которому в сети работает Oracle. Указывается при установке. По умолчанию 1521
  • <имя сервиса> - имя объекта database в Oracle к которому осуществляется подключение. У нас по умолчанию omega.

Для прверки правильности настроек используется консольная команда tnsping:

tnsping <tns имя подключения>

Подробнее о tnsnames.ora и sqlnet.ora можно ознакомиться в официальной документации Oracle в сети Интернет

Параметры в СУБД 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.
Важно! Не меняйте значения параметров если не понимаете на что это влияет!
Скрипт устанавливающие данные параметры в указанные выше значения прикреплён к данной вики странице: default_parameters.sql
Подробнее со всеми параметрами можно ознакомится в официальной документации от Oracle доступной в сети Интернет

Изменение параметров:

  1. Откройте SQL Developer или SQL Plus и подключитесь к базе через пользователя sys. Далее запустите такие 2 запроса: show parameter spfile;, show parameter pfile; Они укажут пути до файлов параметров в Oracle. Редактировать данные файлы вручную не стоит. Сделайте копию файлов и где нибудь сохраните.
  2. После этого можно приступать к изменению параметров базы данных используя alter system set parameter... Подробнее в #Примеры использования изменения параметров в Oracle
  3. Перезагружаете Oracle сервер
  4. Проверяете результат. если что то пошло не так можете легко вернуть параметры назад вернув файлы параметров используя копии из пункта 1 и перезагружаете Oracle сервер снова

Примеры использования изменения параметров в Oracle

Здесь описаны часто возникающие случаи изменения параметров.
  • Изменение потребляемой оперативной памяти на сервере Показать
  • Изменение параметра максимального количества сессий: Показать

Импорт/экспорт баз в Oracle

Импорт и экспорт баз данных осуществляется при помощи скриптов предоставленные нами. Если вдруг эти файлы были утеряны то можете скачать их здесь.
Ссылки:

Внимание!!! Перед тем как выполнять операции экспорта/импорта надо чтобы на базе в этот момент никто не работал(заблокировать базу). Иначе часть объектов экспортируются/импортируются неправильно и будут ошибки!

Импорт

Предоставляемые файлы:
  • _import_dp_omp.cmd - исполняемый файл которым и запускает импорт базы
  • Файлы .sql - скрипты запускаемые в процессе работы

Как пользоваться:

  1. Импорт базы осуществляется вызовом _import_dp_omp.cmd в командной строке с аргументами:
    _import_dp_omp.cmd <название новой схемы куда импортировать> <название схемы откуда идёт импорт>
    

    Где:
    <название схемы откуда идёт импорт> - имя пользователя администратора (по умолчанию OMP_ADM)
    <название новой схемы куда импортировать> - новое имя пользователя администратора (может совпадать с <название схемы откуда идёт импорт>)
  2. После выполнения данной команды в этом же месте сгенерируется .log файл. Проверить .log файл на наличие ошибок начинающиеся на ORA-. Если такие имеются обратиться к нам

Экспорт

Предоставляемые файлы:
  • _export_dp.cmd - исполняемый файл которым и запускает экспорт базы
  • _export_dp_wodoc.cmd - режим экспорта без документов
  • _backup.cmd - исполняемый файл для того чтобы из экспорта настроить бекап базы
  • Файлы .sql - скрипты запускаемые в процессе работы

Как пользоваться:

  • Обычный экспорт:
    1. Запустить в командной строке с аргументами
      _export_dp.cmd <схема для экспорта>
      

      Где <схема для экспорта> - имя пользователя администратора (по умолчанию OMP_ADM)
      В результате экспорта рядом с _export_dp.cmd появяться 5 файлов: 4 файла формата .DMPDP и 1 файл формата .log. Проверить .log файл на наличие ошибок начинающиеся на ORA-. Если такие имеются обратиться к нам
  • Экспорт без документов: так же как и обычный экспорт только запуск _export_dp_wodoc.cmd
  • Бекап базы
    1. открыть _backup.cmd для редактирования и заменить dump_dir1 и dump_dir2 на пути подходящие вам для хранения (один для основного бекапа другой для резервной копии бекапа).
    2. После в планировщике задач Windows поставить задачу на выполнение _backup.cmd (указать рабочий каталог где лежит файл)

Примеры использования импорт/экспорт баз в Oracle

  • Заливка дополнительной(к примеру тестовой) базы:
    1. Экспортируем текущую базу данных используя инструкицю по экспорту выше или если у вас настроен автоматический бекап базы, при помощи наших скриптов из архива expdp.rar, то берём последний бекап
    2. Распологаем файлы .DMPDP, полученные при экспорте, рядом с файлами импорта базы из архива impdp.rar
    3. Производим импорт согласно инструкции по импорту выше. Если база импортируется на тот же сервер тогда названия не могут совпадать. То есть: _import_dp_omp.cmd <!!!не omp_adm!!!> omp_adm

Обновлено BEA 10 месяца назад · 17 изменени(я, ий)