В этой главе содержатся инструкции по настройке Red Hat Enterprise Linux для реализации баз данных с высокой степенью доступности.
Замечание | |
---|---|
В следующих разделах представлены инструкции по созданию примерной конфигурации базы данных. Учтите, что ваша конфигурация может отличаться от приведённой, в зависимости от версии применяемого сервера баз данных. Поэтому эти инструкции могут быть неприменимы в исходном виде. |
Служба Oracle предоставляет данные приложению базы данных, обеспечивая при этом высокую степень доступности. Приложение может в свою очередь предоставить сетевой доступ к базе данных клиентским системам, например Web-серверам. В случае отказа службы, приложение обращается к данным общей базы данных, используя другую кластерную систему. Сетевой службе базы данных обычно назначается IP-адрес, который переносится вместе со службой, таким образом сохраняется прозрачный доступ клиентов к данным.
В этом разделе представлен пример создания кластерной службы для базы данных Oracle. Хотя значения переменных, используемые в сценарии службы, зависят от конкретной конфигурации Oracle, приведённый пример поможет вам настроить эту службу в вашем окружении. Информацию об улучшении производительности службы вы найдёте в разделе 4.2 Тонкая настройка службы Oracle.
В приведённом ниже примере:
Службе Oracle присвоен один IP адрес, к которому будут подключаться клиенты.
Служба использует две смонтированных файловых системы, одну для исполняемых файлов Oracle (/u01/) и одну для базы данных Oracle (/u02/), настроенные до создания службы.
В каждой, выполняющей службу кластерной системе перед созданием службы создаётся административная учётная запись oracle.
Административный каталог располагается на том же диске, что и служба Oraсle (например, /u01/app/oracle/admin/db1).
Создайте целостную конфигурацию пользователь/группа так, чтобы было возможно обращаться к службе Oracle на каждой кластерной системе. Например:
mkdir /users groupadd -g 900 dba groupadd -g 901 oinstall useradd -u 901 -g 901 -d /users/oracle -m oracle usermod -G 900 oracle |
В этом примере используются три сценария, которые должны быть размещены в каталоге /users/oracle, а владельцем файлов должен быть пользователь oracle. Для запуска и остановки службы Oracle используется сценарий oracle. Укажите этот сценарии при добавлении службы. Этот сценарий вызывает остальные сценарии Oracle. Сценарии startdb и stopdb запускают и останавливают базу данных. При этом приложение может взаимодействовать с базой данных самыми разными способами.
Ниже приведён пример сценария oracle, который запускает, останавливает и проверяет состояние службы Oracle.
#!/bin/sh # # Cluster service script to start, stop, and check status of oracle # cd /users/oracle case $1 in start) su - oracle -c ./startdb ;; stop) su - oracle -c ./stopdb ;; status) status oracle ;; esac |
Ниже приведен пример сценария startdb, который запускает экземпляр сервера баз данных Oracle:
#!/bin/sh # # # Script to start the Oracle Database Server instance. # ######################################################################## # # ORACLE_RELEASE # # Specifies the Oracle product release. # ######################################################################## ORACLE_RELEASE=9.2.0 ######################################################################## # # ORACLE_SID # # Specifies the Oracle system identifier or "sid", which is the name of # the Oracle Server instance. # ######################################################################## export ORACLE_SID=TEST ######################################################################## # # ORACLE_BASE # # Specifies the directory at the top of the Oracle software product and # administrative file structure. # ######################################################################## export ORACLE_BASE=/u01/app/oracle ######################################################################## # # ORACLE_HOME # # Specifies the directory containing the software for a given release. # The Oracle recommended value is $ORACLE_BASE/product/<release> # ######################################################################## export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE} ######################################################################## # # LD_LIBRARY_PATH # # Required when using Oracle products that use shared libraries. # ######################################################################## export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH ######################################################################## # # PATH # # Verify that the users search path includes $ORACLE_HOME/bin # ######################################################################## export PATH=$PATH:${ORACLE_HOME}/bin ######################################################################## # # This does the actual work. # # Start the Oracle Server instance based on the initSID.ora # initialization parameters file specified. # ######################################################################## /u01/app/oracle/product/9.2.0/bin/sqlplus << EOF sys as sysdba spool /home/oracle/startdb.log startup pfile = /u01/app/oracle/product/9.2.0/admin/test/scripts/init.ora open; spool off quit; EOF exit |
Ниже приведён пример сценария stopdb, который останавливает экземпляр сервера базы данных Oracle:
#!/bin/sh # # # Script to STOP the Oracle Database Server instance. # ###################################################################### # # ORACLE_RELEASE # # Specifies the Oracle product release. # ###################################################################### ORACLE_RELEASE=9.2.0 ###################################################################### # # ORACLE_SID # # Specifies the Oracle system identifier or "sid", which is the name # of the Oracle Server instance. # ###################################################################### export ORACLE_SID=TEST ###################################################################### # # ORACLE_BASE # # Specifies the directory at the top of the Oracle software product # and administrative file structure. # ###################################################################### export ORACLE_BASE=/u01/app/oracle ###################################################################### # # ORACLE_HOME # # Specifies the directory containing the software for a given release. # The Oracle recommended value is $ORACLE_BASE/product/<release> # ###################################################################### export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE} ###################################################################### # # LD_LIBRARY_PATH # # Required when using Oracle products that use shared libraries. # ###################################################################### export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH ###################################################################### # # PATH # # Verify that the users search path includes $ORACLE_HOME/bin # ###################################################################### export PATH=$PATH:${ORACLE_HOME}/bin ###################################################################### # # This does the actual work. # # STOP the Oracle Server instance in a tidy fashion. # ###################################################################### /u01/app/oracle/product/9.2.0/bin/sqlplus << EOF sys as sysdba spool /home/oracle/stopdb.log shutdown abort; spool off quit; EOF exit |
Чтобы добавить службу Oracle в Настройке кластера (Cluster Configuration Tool), выполните следующее:
Запустите Настройку кластера (Cluster Configuration Tool), выбрав Главное меню (Main Menu) => Системные параметры (System Settings) => Настройка сервера (Server Settings) => Кластер (Cluster) или выполнив в приглашении оболочки redhat-config-cluster. По умолчанию запускается Состояние кластера (Cluster Status Tool).
Запустите Настройку кластера (Cluster Configuration Tool), выбрав Кластер (Cluster) => Настройка (Configure) в меню программы Состояние кластера (Cluster Status Tool).
Перейдите на вкладку Службы (Services).
Добавьте службу Oracle.
Щёлкните Создать (New). На экране появится диалог Служба (Service).
Введите в поле Имя службы (Service Name) имя службы Oracle.
Выберите в поле Домен переноса (Failover Domain) домен переноса или оставьте в нём значение None.
Введите интервал (в секундах) проверки жизнедеятельности службы Oracle с помощью функции status сценария инициализации.
Определите сценарий в поле Сценарий пользователя (User Script), например, /home/oracle/oracle.
Нажмите OK
Добавьте IP-адрес службы Oracle.
Выберите службу Oracle и щёлкните Добавить потомка (Add Child).
Выберите пункт Добавить IP-адрес службы (Add Service IP Address) и нажмите OK. На экране появится диалог IP-адрес службы (Service IP Address).
Заполните поле IP-адрес (IP Address).
Введите в поле Маска подсети (Netmask) маску или оставьте в нём значение None.
Введите в поле Широковещательный (Broadcast Address) широковещательный адрес или оставьте в нём значение None.
Нажмите OK.
Добавьте устройство для службы Oracle и административных файлов.
Выберите службу Oracle и щёлкните Добавить потомка (Add Child).
Выберите пункт Добавить устройство (Add Device) и нажмите OK. На экране появится диалог Устройство (Device).
Заполните поле Специальный файл устройства (Device Special File) (введите, например, /dev/sdb5).
В поле Точка монтирования (Mount Point) введите /u01.
В поле Тип ФС (FS Type) выберите тип файловой системы или оставьте его пустым.
В поле Параметры (Options) укажите все параметры подключения, включая rw (чтение-запись).
Поставьте или снимите флажок Принудительно отмонтировать (Force Unmount).
Нажмите OK.
Добавьте устройство для файлов базы данных Oracle.
Выберите службу Oracle и щёлкните Добавить потомка (Add Child).
Выберите пункт Добавить устройство (Add Device) и нажмите OK. На экране появится диалог Устройство (Device).
Заполните поле Специальный файл устройства (Device Special File) (введите, например, /dev/sdb6).
В поле Точка монтирования (Mount Point) введите /u02.
В поле Тип ФС (FS Type) выберите тип файловой системы или оставьте его пустым.
В поле Параметры (Options) укажите все параметры подключения, включая rw (чтение-запись).
Поставьте или снимите флажок Принудительно отмонтировать (Force Unmount).
Нажмите OK.
Выберите Файл (File) => Сохранить (Save), чтобы сохранить параметры службы Oracle.