К основному контенту

Настройка DataGuard с помощью dgmgrl

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

1. Настройка Listner на обоих серверах. Нужна статическая регистрация.
listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = prd_DGMGRL) -- в 12c я обошелся без "_DGMGRL"
      (ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1)
      (SID_NAME = prd)
    )
  )

tnsnames.ora
prd=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = prd)
    )
  )

std=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = prd)
    )
  )

2. init файл для второй базы
-- обязательно
*.db_unique_name=std
*.db_file_name_convert='prd','std'
*.log_file_name_convert='prd','std'
-- Также может потребоваться
*.control_files='...'
*.diagnostic_dest='...'

Copy pfile and the password file to the Standby host and go there into NOMOUNT before the duplicate command

sqlplus sys/oracle@physt as sysdba
startup nomount

Создать Standby Redo Logs.
It is most efficient to create the Standby Redo Logs (SRLs) at this point on the Primary, because (from 11g on) RMAN will duplicate them onto the Standby then. SRLs are recommended on either side and are required on the Standby for LGWR Transport

SQL> alter database add standby logfile '/home/oracle/prima/srl_g3.rdo' size 100m;
SQL> alter database add standby logfile '/home/oracle/prima/srl_g4.rdo' size 100m;
SQL> alter database add standby logfile '/home/oracle/prima/srl_g5.rdo' size 100m;

Дуплицировать базы на standby сервер.
rman target sys/oracle@prima auxiliary sys/oracle@physt
duplicate target database for standby from active database; --add more options if needed (so far - nofilenamecheck)

So far no DGMGRL involved. RMAN gave me a Physical Standby but did not configure Redo Transport from Primary to Standby nor did it start Redo Apply on the Standby. DGMGRL will now do that:

Создать конфигурацию standby с помощью data guard broker.
alter system set dg_broker_start=true;

dgmgrl sys/oracle@prima
CREATE CONFIGURATION config AS PRIMARY DATABASE IS prd CONNECT IDENTIFIER IS prd;
ADD DATABASE std AS CONNECT IDENTIFIER IS std MAINTAINED AS PHYSICAL;
enable configuration;

You should monitor the alert.log of the two databases while that enabling is in progress – the Broker does a lot here, especially it configures Redo Transport and Redo Apply.

2. Role Changes are much easier with the Broker

Without the Broker, Data Guard Role Changes require a complex sequence of steps (versions before 12c) on both sides that differ between Logical and Physical Standby. Not so with DGMGRL:

switchover to physt;
failover to physt;
convert database physt to snapshot standby;

3. The Data Guard Broker delivers basic monitoring of the Configuration
show configuration;
show database physt; 


4. Fast-Start Failover requires the Data Guard Broker

Комментарии

Отправить комментарий

Популярные сообщения из этого блога

Установка и настройка pgAgent(планировщика заданий PostgreSQL)

Установка pgAgent Последняя версия скрипта для установки агента  тут . Перенести инструкцию по агенту в отдельную тему. 1. Создать пользователя ОС, и сделать ему домашний каталог: useradd -s /bin/false -r -M pgagent mkdir /home/pgagent 2. Установить и настроить демон: yum install pgagent_94 При наличии ошибок вида (была на Oracle Linux 6.8) Error: Package: pgagent_94-3.4.0-1.rhel6.x86_64 (pgdg94)            Requires: libwx_baseu-2.8.so.0(WXU_2.8)(64bit) Нужно установить EPEL systemctl enable pgagent_94 chown pgagent:pgagent /var/log/pgagent_94.log 3. Установить схему агента в базе: sudo -u postgres psql -f /usr/share/pgagent_94-3.4.0/pgagent.sql postgres 4. Создать файл паролей для подключения агента к базе. vi /home/pgagent/.pgpass localhost:5432:*:postgres:postgres chown pgagent.pgagent /home/pgagent -R chmod 600 /home/pagent/.pgpass 5. Запустить и проверить работу агента systemctl start pgagent...

Включение логирования для Haproxy

Изначально логирование в syslog в HaProxy отключено. Ниже пример настройки логирования для ОС Centos 7. Настройка: Добавить строку  log 127.0.0.1 local2 в секцию global файла /etc/haproxy/haproxy.cfg Раскомментировать $ModLoad imudp и $UDPServerRun 514 в файле  /etc/rsyslog.conf Создать файл  /etc/rsyslog.d/haproxy.conf со следующим содержимым:  local2.* /var/log/haproxy.log Перезапустить rsyslog и haproxy.

Установка PL/Java для PostgreSQL 9.4

Предварительные требования:  1. Компилятор C. Как правило имеется в виду gcc и g++ gcc  --version на CENTOS 7 мне понадобился gcc_c++ (в дополнение к установленному ранее gcc) 2. JAVA. Убедиться, что  javac  -version работает  3. PostgreSQL установлен и  работает pg_config Файлы для разработки (.h файлы) для нашего PostgreSQL также должны быть установлены. Убедиться можно посмотрев что лежит в INCLUDEDIR-SERVER (вывод pg_config). Я раньше компилировал БД из исходников на этой машине, так что у меня эти файлы были. 4. компилятор Maven mvn --version Установка git clone https://github.com/tada/pljava.git или git clone ssh://git@github.com/tada/pljava.git Заходим в директорию pljava и выполняем mvn clean install В результате должны получить: [INFO] PostgreSQL PL/Java ................................ SUCCESS [INFO] PL/Java API ....................................... SUCCESS [INFO] PL/Java backend Java code...