Управление несколькими экземплярами БД

Оценить
(0 голоса)

Бывают случаи, когда приложения совместно используют один и тот же идентификатор пользователя UNIX (например, несколько экземпляров БД). Вы можете запустить первый экземпляр с одним выделением share (долей ресурсов) и стартовать второй экземпляр под тем же идентификатором пользователя с отличающейся share, присоединяя его к другому 1-узлу и используя для этого команду srmuser. В результате два экземпляра управляются независимо с помощью SRM.

Для иллюстрации использования SRM с базами данных рассмотрим пример, в котором администратор БД желает запустить два экземпляра Oracle под одним и тем же именем пользователя, oracle, и при этом осуществить для каждого экземпляра различное выделение ресурсов.

Одним из возможных решений является старт первого экземпляра oracle под 1-узлом пользователя oracle, затем запуск второго экземпляра, используя 1-узел и связанные с ним доли ресурсов второго пользователя. Для второго пользователя мы будем использовать имя otheruser, где otheruser может быть или реальным, или виртуальным пользователем, специально устанавливаемым для этой цели. В любом случае otheruser должен иметь корректный элемент в файле /etc/passwd.

Сначала следует удостовериться в том, что пользователь oracle имеет полномочия на запуск приложений под 1-узлом otheruser. Вы можете сделать это, выполнив следующие шаги в качестве суперпользователя.

•             Сделайте oracle родительской планируемой группой по отношению к otheruser путем присоединения 1-узла otheruser к 1-узлу oracle:

oraclet limadm set sgroup=oracle otheruser

•             Присвойте пользователю oracle полномочия на запуск приложений под другими 1-узлами внутри его группы:

oracle* limadm set flag.admin=set oracle

Предположим, что экземпляры oracle должны быть запущены через сценарии, называемые oracle_start_scriptl и oracle_start_script2. Запустите первый экземпляр следующим образом:

oracle* orarfe_start_scriptI

Запустите второй экземпляр под 1-узлом otheruser: oracle* srmuser otheruser oracle_start_script2

В этом случае любой последующий сеанс sqlplus, запущенный пользователем oracle и подключенный ко второму экземпляру, будет все еще использовать 1-узел oracle и общие ресурсы, связанные с ним. Причиной такого поведения является разветвление сеанса sqlplus из оболочки, принадлежащей пользователю oracle и выполняемой под его 1-узлом, а не системному процессу Oracle, выполняемому под 1-узлом otheruser. Теневой процесс разветвляется с помощью нового процесса sqlplus, а поэтому также будет выполняться под 1-узлом oracle, даже если теневой процесс принадлежит otheruser. Вы можете убедиться в том, что сеанс sqlplus и его теневой процесс также выполняются под otheruser, набрав следующее:

oracle% srmuser otheruser sqlplus scott/tiger

Еще одним простым способом запуска oracle и последующих сеансов sqlplus, используя другой 1-узел, является следующий:

oracle* srmuser otheruser /Ып/csh oracle* orac!e_start_script2 oracle* sqlplus scott/tiger

Все, запущенное под новой оболочкой csh, унаследует установки 1-узла для otheruser.

Пользователи, подключающиеся дистанционно под Oracle Net, будут наследовать какой угодно 1-узел, использованный для старта "слушателя" (lsnrctl), ожидающего сигнал. Чтобы запустить дистанционных пользователей под 1-узлом otheruser, достаточно стартовать "слушателя" следующим образом: oracle* srmuser otheruser lsnrctl start

Если под различными 1-узлами было задействовал, но несколько экземпляров, то под каждым 1-узлом должен быть запущен отдельный слушатель, гарантирующий, что входящие сеансы совместно используют один и тот же 1-узел и связанные с ним shares, как данный экземпляр.

Учтите, что SRM 1.x не поддерживается появившимся в Oracle8i менеджером ресурсов БД. Использование SRM 1.x в Oracle поддерживается при условии, что все процессы внутри одного и того же экземпляра oracle разделяют один и тот же 1-узел (изменение относительных приоритетов некоторых процессов внутри одного экземпляра может привести к непредсказуемым результатам).

Преимущества выделения разделяемых ресурсов SRM
Влияние SRM на производительность
Новая инфраструктура управления ресурсами
Привязка процессов
Классы планирования операционной системы Solaris

Добавить комментарий


Защитный код
Обновить