stand by oracle что это

Stand by oracle что это

Эти материалы являются объектом авторского права и защищены законами РФ и международными соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия лицензионного договора на использование этих материалов, или же вы не имеете права использовать настоящие материалы

Авторская площадка «Наши орбиты» состоит из ряда тематических подразделов, являющихся моими лабораторными дневниками, содержащими записи за разное, иногда продолжительно отличающееся, время. Эти материалы призваны рассказать о прошедшем опыте, они никого ни к чему не призывают и совершенно не обязательно могут быть применимы кем-то ещё. Это только лишь истории о прошлом

В контексте реализации отказоустойчивых решений основными задачами являются обеспечение быстрого времени восстановления при возникновении нештатной ситуации (аварии) и обеспечение минимальной потери или отсутствия потери данных. Казалось бы СУБД Oracle обеспечивает создание резервов данных (бэкапов) и поддерживает создание архивных журнолов, чего, в случае полного краха сервера, достаточно для восстановления данных и «подката вперёд» истории изменений базы. Однако, во-первых, это может потребовать довольно много времени и, во-вторых, практически всегда означает потерю части данных, не вошедших в архивные журналы

Возможны два варианта «ручного» стэндбая. В одном случае резервная БД запускается в режиме монтирования обычного контрольного файла с периодическим подкатом архивных журналов командой «RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL», а при необходимости перехода на standby база открывается с опцией RESETLOGS (так называемой смены инкарнации). Во втором случае создаётся специальный standby контрольный файл, монтируется в специальном режиме «ALTER DATABASE MOUNT STANDBY DATABASE» с периодическим подкатом журналов, и активацией при необходимости «. ACTIVATE STANDBY DATABASE», при которой база также открывается в режиме создания новой инкарнации

Особенностями «ручного» standby является обязательная потеря последней части транзакций при крахе основного сервера. Если же производится временный технологический переезд, при котором основной сервер тушится корректно, создания новой инкарнации и потери данных вполне можно избежать, потушив БД на основном сервере и подложив её контрольные файлы и оперативные журналы standby копии. Время простоя при этом обычно довольно мало, так как перенос контрольных файлов и оперативных журналов даже между удалёными площадками обычно не занимает много времени. Ещё одной особенностью является необходимость ручного создания файлов данных в stabdby копии БД при добавлении таких файлов в основной БД, на что, впрочем, можно написать автоматизирующий обработчик

Таким образом при допустимости потери небольшой порции последних транзакций организация «ручного» стэндбая является бюджетным и вполне работоспособным решением. Важно, что для SE редакции СУБД Oracle это практически единственное решение по организации standby, и для администраторов той части организаций, которые не готовы оплачивать дорогостоящий Enterprise Edition навык организации ручного стэндбая может быть полезен. Важно, что возможность потери транзакций сильно связан с особенностями организации прикладного решения, использующего СУБД. В частности возможность повторного ввода данных последних операций операционистами банка может сделать такое решение предпочтительным и в задачах автоматизации банковской сферы, и автор имел практический опыт администрирования таких решений

Дополнительными возможностями Data Guard являются полуавтоматическая смена ролей, обеспечивающая переключение основной копии БД и standby копии между собой, что востребовано для сервисных задач (впрочем, это вполне несложно делается руками при использовании «ручного» standby). Кроме того возможен режим работы Data Guard, при котором данные в standby базу подкатываются не из архивных, но из оперативных журналов в режиме реального времени, что позволяет минимизировать возможную потерю данных, но делает конструкцию менее надёжной, ибо любой сбой на standby приводит к недоступности и основной базы, что связано с необходимостью синхронного наката данных оперативных журналов на standby в этом режиме. Синхронный standby подразуменвае установку резервного сервера в непосредственной близости к основному, что обусловлено довольно невысокой надёжностью и временем отклика разделяющих площадки каналов

Таким образом для SE редакции можно довольно просто настроить standby в ручном режиме, сопоставимым с таким же режимом для СУБД PostgreeSQL. Это будет надёжное и малобюджетное решение. Для пользователей EE редакции появляется возможность использования Data Guard, который в общем случае будет повторять функциональность и характеристики «ручного» standby. Важно, что при использовании в организации редакций SE и EE можно остановиться на ручном standby, который вполне будет работать и для EE редакции СУБД. Это позволит не разводить зоопарк решений. С другой стороны при необходимости использования дополнительного функционала от Data Guard последний довольно просто настраивается, что будет показано в следующих разделах настоящего обзора

Ещё одним тонким моментом является увязка механизмов резервного копирования данных и standby для исключения ситуации, когда архивные журналы уходят в резервную копию и более недоступны по основному месту расположения, но, в то же время они ещё не перенесены на standby сервер, например в силу проблем с каналами связи с удалённой площадкой, на которой размещён standby. Это особенно актуально для «ручного» режима организации standby

организация Standby посредством Data guard

Можно добавить, что в таком ручном варианте реализация Standby для Oracle вполне сопоставима с реализацией Standby для PostgreeSQL (детально описанный в документации по PostgreeSQL), что лишний раз заставляет задуматься о целесообразности использования дорогостоящего Oracle там, где можно использовать более дешевый, но вполне качественный аналог

В случае же, если у вас Enterprise редакция, вы можете использовать встроенный механизм построения Standby с разнообразным дополнительным функционалом (таким, как временная смена ролей для основной базы и базы standby). Итак, при использовании Data Guard последовательность организации и использования standby выглядит так:

P.S. Проверить работоспособность можно по alert логам, а также попробовать попереключать журналы на master базе командами
ALTER SYSTEM SWITCH LOGFILE
ARCHIVE LOG ALL
и сравнив вывод команды
select SEQUENCE#,FIRST_TIME,NEXT_TIME,ARCHIVED,APPLIED,creator from v$archived_log where status = ‘A’ order by sequence# ;

— режим switchover позволяет резво «рокировать» роли для тех. работ на основной базе и обратно

— потом на standby базе
select switchover_status from v$database ; => TO PRIMARY
alter database commit to switchover to physical primary ;
shutdown immediate ;
раскомментировать относящиеся к archive_log_dest_2 опции для копирования журналов на standby
startup ;

— потом на standby базе
alter system switch logfile ;

и потом обратный переход

— выверить, что накачено максимальное количество журналов
select from v$archive_gap
select from v$archived_log
при необходимости и доступности перенести недостающие журналы и
зарегистрировать их командой
alter database register physical logfile ‘. ‘ ;

— тушится автонакатывание
alter database recover managed standby database finish ;
или
alter database recover managed standby database finish skip standby logfile ;

Источник

Stand by oracle что это

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

Создание резервной БД имеет смысл для динамичной БД находящейся в режиме ARCHIVELOG, и для экземпляра которой или запущены или создаются при необходимости процессы архивирования журнальных файлов БД. То есть и БД и экземпляр находятся в режиме ARCHIVELOG.

Самый простой слособ это создание копии сервера с использованием одной и той же версии ОС, системных библиотек, с одинаковыми точками установки программного обеспечения Oracle, и с одноименными файлами табличных БД, расположенными в идентичных точках файловой системы. При этом резервный сервер может быть значиткльно менее производительным, а резервный экземпляр Oracle может использовать минимальные ресурсы, поскольку в этом случае резервное копирование будет сводиться к простому применению изменний из журнальных файлов БД. В этом случае практически исчезает необходимость редактирования файлов инициализации, если они используются, за исключением параметров, связанных с выделением оперативной памяти сервера.

Это простейший вариант создания физической резервной БД. Можно также создать логическую резервную БД, в том числе кросс-платформенную. Но процесс восстановления логической БД намного более трудоемкий, так как изменения в БД осуществляются не обновлением блоков данных, а путем трансформации изменений в SQL запросы и выполнение этих запросов.

Итак, мы разработали архитектуру резервного сервера и установили необходимое ПО, в том числе путем простого переноса файлов. Теперь для создания резервной БД нужно выполнить простую процедуру. Остановим экземпляр Oracle с помощью команды SQL*Plus shutdown или shutdown immediate. На короткое время запустим экземпляр в режиме nomount, подмонтируем БД, не открывая ее и создадим резервный контрольный файл, после чего остановим экземпляр :

Теперь выполняем холодное копирование файлов основной БД в соответствующие каталоги резервного сервера. И можно запускать основную БД. С этого момента о холодном резервном копировании файлов основной БД можно забыть, поскольку эту операцию можно будет выполнять на резервном сервере. Тем не менее рекомендую делать холодное резервное копирование основной БД по крайней мере раз в два месяца. Здесь мы ищем компромисс между надежностью и оперативностью. Резервная БД может накопить ошибки связанные с копированием и применением архивных файлов журнала, поэтому следует оставить возможность их исправить за счет применения последних архивных файлов журнала к последней холодной копии основной БД. Поэтому и архивные файлы журнала следует хранить за все время после создания последней холодной копии основной БД.

Теперь остановимся на вопросах управления резервной БД.

Резервная БД должна быть активирована. Для этого из копий основной БД удалим контрольные файлы, поместим на их места созданный резервный контрольный файл, выполним соответствующие изменения в файле инициализационных параметров. Отредактируем при необходимости другие параметры.

SQL> CONNECT sys/sys_pwd@standby1 AS SYSDBA

SQL> STARTUP NOMOUNT pfile=/oracle/admin/pfile/initSTBY.ora

SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Если все сделано должным образом, то наша резервная БД готова к использованию. Она может функционировать в 3 основных режимах (mode):

В управляемом режиме (Managed recovery mode), который правильнее назвать автоматическим, основной сервер передает через прослушиватель резервного сервера архивные журнальные файлы на резервный сервер в соответствующие каталоги, а резервный сервер их автоматически применяет. В версии Oracle9i эта процедура была гордо названа Data Guard. Вы можете с ней ознакомиться с соответствующей технологией по следующей ссылке. Однако использовать эту технологию я не рекомендую. Возможно процедура автоматической передачи файлов безусловно полезна, но насколько она эффективнее процедур передачи файлов, таких как cp или rcp на unix системах? Но для использования указанного режима есть более ощутимые препятствия.

Следующий довод состоит в том, что резерную БД следует контролировать на работоспособность. Для этого ее надо переводить в режим доступности чтения из БД (Read-only mode). В этом режиме восстановление не возможно, поэтому за это время возникают пропуски в последовательности архивных журнальных файлов, и для восстановления последовательности, а соответственно возможности автоматического режима, необходимо применять ручной режим. Если БД динамична, журнальные файлы короткие, то восстановить автоматический режим станет затруднительно.

Поэтому мы выбираем ручной режим, и дополняем его средствами автоматизации. В ручном режиме для восстановления Бд нужно скопировать очередную порцию архивных журнальных файлов в каталог, задаваемый переменной LOG_ARCHIVE_DEST_n (n целое от 1 до 5), или переменной LOG_ARCHIVE_DEST, и запустить восстановление с опцией AUTOMATIC

SQL> RECOVER AUTOMATIC STANDBY DATABASE

После применения пригодных файло Oracle покажет имя журнала, который в каталоге отсутствует, например, вы можете увидеть следующие сообщения SQL*Plus:

ORA-00308: cannot open archived log ‘/oracle/standby/standby_logs/arcr_1_540.arc’

ORA-27037: unable to obtain file status

SVR4 Error: 2: No such file or directory

Additional information: 3

Media recovery cancelled.

Если мы поместили файлы в другой каталог, то можно использовать команду RECOVER AUTOMATIC STANDBY DATABASE с опцией FROM ‘путь_к_каталогу_с_файлами_журнала‘, напрмер

SQL> RECOVER FROM ‘/logs’ STANDBY DATABASE;

В режиме чтения из резервной БД для многих запросов могут понадобиться сортировки, которые потребуют дисковых операций. Поэтому, возможно, потребуется создание временного табличного пространства с временным файлом

SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

SQL> ALTER DATABASE OPEN READ ONLY;

SQL> CREATE TEMPORARY TABLESPACE tbs_1 TEMPFILE ‘file_1.f’ EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2048M;

При переводе БД в режим standby под Oracle 9.2 проявилась следующая раздражающая ошибка

SGA initialization / DB open not complete even after 5 minutes, QMN0exiting
error 604 detected in background process
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00604: error occurred at recursive SQL level 1
ORA-01219: database not open: queries allowed on fixed tables/views only
Dump file f:\database\bdump\bv_qmn0_хххх.trc

Она не сказывалась на функциональности. Резервная БД аккуратно применяла архивы журналов. Но плодились файлы дампов и не покидало чувство неудовлетворенности проделанной работой. Причина оказалась легко устранимой. Параметр экземпляра aq_tm_process был не равен 0 и экземпляр безуспешно пытался запустить соответствующие qmno процессы, которые требуют, чтобы БД была открыта. Решить задачу оказалось очень ппросто, примерно следующим образом
alter system set aq_tm_processes = 0 scope=both;

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

Источник

stand by oracle что это. Смотреть фото stand by oracle что это. Смотреть картинку stand by oracle что это. Картинка про stand by oracle что это. Фото stand by oracle что этоПостроение отказоустойчивой системы с помощью Oracle Physical Standby

Архив номеров / 2007 / Выпуск №7 (56) / Построение отказоустойчивой системы с помощью Oracle Physical Standby

stand by oracle что это. Смотреть фото stand by oracle что это. Смотреть картинку stand by oracle что это. Картинка про stand by oracle что это. Фото stand by oracle что этоСергей Косько

Построение отказоустойчивой системы с помощью Oracle Physical Standby

Развернув информационную систему на базе СУБД Oracle и организовав надёжную стратегию резервного копирования-восстановления, можно приступать к производственной эксплуатации системы. В случае аварии возможно будет восстановить данные на требуемый момент времени. Но что делать, если допустимое время простоя не должно превышать нескольких минут? Тогда не обойтись без различных способов дублирования данных в режиме реального времени.

Один из вариантов такой репликации можно реализовать с помощью специальной базы данных Oracle Standby. Её можно применять совместно с обычным резервным копированием. Режим Standby DB обеспечивает опция Data Guard базы данных Oracle. Конфигурация Data Guard состоит из одной производственной и одной или более резервных баз данных standby, которые находятся в особом режиме, предусматривающем непрерывный приём и применение потока изменений от производственной базы. Изменения передаются по универсальной сети между разнесёнными географически серверами средствами Oracle Net [1]. Упрощённую схему взаимодействия смотрите на рисунке.

stand by oracle что это. Смотреть фото stand by oracle что это. Смотреть картинку stand by oracle что это. Картинка про stand by oracle что это. Фото stand by oracle что это

Структура Oracle Data Guard

В зависимости от конкретных требований по времени восстановления и допустимой потери данных при аварии (recovery time objective, recovery point objective [2]). Возможны различные сценарии реализации:

Конфигурация Oracle Data Guard может находиться в трёх режимах защиты: максимальной производительности (maximum performance), максимальной доступности (maximum availability) или максимальной защиты (maximum protection) [3]. Изменения передаются копированием журналов базы данных, текущих или архивных. Их запись осуществляется двумя процессами LGWR или ARCn. Процесс LGWR ведёт запись активных журналов, дополнительные настройки вынуждают его передавать изменения на резервный сервер с помощью так называемых standby redo log-файлов. Процесс ARCn переносит обычные архивные журналы, дополнительные настройки вынуждают его передавать их ещё и на удалённый сервер. Если выбраны режимы максимальных доступности или защиты, поток изменений передаётся с помощью данных, записываемых процессом LGWR. В режиме максимальной производительности возможна передача изменений как LGWR, так и ARCn.

В случае необходимости такая база может быть в короткий срок активирована в качестве производственной.

Поскольку БД Logical Standby не является точной копией основной базы и не поддерживает некоторые типы данных, SQL-команды, имеет требования по обеспечению уникальности строк в таблицах [4], рассмотрим реализацию именно Physical Standby DB. Мне кажется, что использовать БД Logical Standby лучше не как резервную копию, а в качестве базы для отчётов. Выберем для работы основной и резервной баз следующие настройки: производственная база работает в режиме maximum availability, переданные изменения применяются резервной базой в режиме Real-Time Apply Redo. Для такого режима работы инициатором передачи информации об изменениях выступает как раз процесс LGWR. Разница между режимами защиты заключается в том, что в режиме maximum protection транзакция фиксируется только тогда, когда запись произведена и в локальные журналы, и удалённо, в случае невозможности удалённой записи база данных останавливается, а в режиме maximum performance для продолжения работы достаточно только локальной записи, и основная БД продолжает свою работу, даже если связь с резервной базой отсутствует.

Режим maximum availability представляет компромиссный вариант, переключаясь между двумя режимами автоматически. Если связь работает без ошибок, передача происходит синхронно, если произошел сбой, автоматически осуществляется переход в менее строгий режим. После устранения сбоев режим максимальной защиты восстанавливается [5].

Что необходимо для создания тестовой среды:

Подготовка рабочей конфигурации

Итак, у нас имеется работающая производственная (primary) база данных Oracle, расположенная на сервере Poltava, и нам необходимо создать резервную базу standby на сервере Fastiv. Необходимо подготовить конфигурационные файлы и сделать дополнительные настройки.

Пусть имя базы будет «TST», присвоим для производственной primary-базы значение ORACLE_SID=ORCL, для standby – DB ORACLE_SID=ORCL1. Файлы primary DB находятся в каталоге /tstb/ORCL, файлы standby DB – в каталоге /tstb/ORCL1.

Для работы БД standby присваивать различные значения переменной ORACLE_SID для окружения основной и резервной баз данных необходимости нет, но это позволяет сделать так, чтобы файлы двух баз не накладывались друг на друга. Это позволяет перемещать базы между серверами, временно или в тестовых целях совмещать их на одном и том же сервере, имеющем два сетевых адресса (poltava и fastiv).

Необходимо выполнить следующие действия:

Включим режим force logging на производственной системе для принудительной записи в журналы БД информации, даже для так называемых операций Nologging:

SQL>ALTER DATABASE FORCE LOGGING;

Создадим файлы standby redo log. Они нужны только для работы БД standby, но мы создадим их и на primary, и на standby, в случае переключения ролей между базами не будет необходимости в их создании.

Файлы standby redo необходимо создать не меньшего размера, чем online redo log, и в количестве n+1 от количества redo group (cм. листинг 1).

Листинг 1. Добавление файлов Standby Redo

sqlplus «/ as sysdba»

ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ‘/tstb/ORCL/redo01.stb’ SIZE 100M REUSE;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ‘/tstb/ORCL/redo02.stb’ SIZE 100M REUSE;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ‘/tstb/ORCL/redo03.stb’ SIZE 100M REUSE;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ‘/tstb/ORCL/redo04.stb’ SIZE 100M REUSE;

Установим параметры в файлах параметров init.ora/spfile.ora для primary и standby (см. листинг 2).

Листинг 2. Список параметров файла init.ora/spfile.ora

*.control_files=’/tstb/ORCL/control01.ctl’, ‘/tstb/ORCL/control02.ctl’, ‘/tstb/ORCL/control03.ctl’

*.LOG_ARCHIVE_DEST_1=’LOCATION=/tstb/log1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=poltava’

*.LOG_ARCHIVE_DEST_2=’SERVICE=fastiv LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=fastiv’

*.control_files=’/tstb/ORCL1/control01.ctl’, ‘/tstb/ORCL1/control02.ctl’, ‘/tstb/ORCL1/control03.ctl’

*.LOG_ARCHIVE_DEST_1=’LOCATION=/tstb/log/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=fastiv’

*.LOG_ARCHIVE_DEST_2=’SERVICE=poltava LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=poltava’

Настроим Oracle Net для сетевых адресов Poltava и Fastiv.

Пример настроек файлов listener.ora и tnsnames.ora приведены в листинге 3.

Листинг 3. Настройки Oracle Net

# listener.ora Network Configuration File:

# Generated by Oracle configuration tools.

(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1525))

Источник

2 Getting Started with Oracle Data Guard

Considerations when getting started with Oracle Data Guard are discussed in the following topics:

2.1 Standby Database Types

A standby database is a transactionally consistent copy of an Oracle production database that is initially created from a backup copy of the primary database. Once the standby database is created and configured, Oracle Data Guard automatically maintains the standby database by transmitting primary database redo data to the standby system, where the redo data is applied to the standby database.

A standby database can be one of these types: a physical standby database, a logical standby database, or a snapshot standby database. If needed, either a physical or a logical standby database can assume the role of the primary database and take over production processing. An Oracle Data Guard configuration can include any combination of these types of standby databases.

2.1.1 Physical Standby Databases

A physical standby database is an exact, block-for-block copy of a primary database. A physical standby is maintained as an exact copy through a process called Redo Apply, in which redo data received from a primary database is continuously applied to a physical standby database using the database recovery mechanisms.

A physical standby database can be opened for read-only access and used to offload queries from a primary database. If a license for the Oracle Active Data Guard option has been purchased, Redo Apply can be active while the physical standby database is open, thus allowing queries to return results that are identical to what would be returned from the primary database. This capability is known as the real-time query feature.

Oracle Database Licensing Information for more information about Oracle Active Data Guard

Benefits of a Physical Standby Database

A physical standby database provides the following benefits:

Disaster recovery and high availability

A physical standby database is a robust and efficient disaster recovery and high availability solution. Easy-to-manage switchover and failover capabilities allow easy role reversals between primary and physical standby databases, minimizing the downtime of the primary database for planned and unplanned outages.

A physical standby database can prevent data loss, even in the face of unforeseen disasters. A physical standby database supports all datatypes, and all DDL and DML operations that the primary database can support. It also provides a safeguard against data corruptions and user errors. Storage level physical corruptions on the primary database are not propagated to a standby database. Similarly, logical corruptions or user errors that would otherwise cause data loss can be easily resolved.

Reduction in primary database workload

Oracle Recovery Manager (RMAN) can use a physical standby database to off-load backups from a primary database, saving valuable CPU and I/O cycles.

A physical standby database can also be queried while Redo Apply is active, which allows queries to be offloaded from the primary to a physical standby, further reducing the primary workload.

The Redo Apply technology used by a physical standby database is the most efficient mechanism for keeping a standby database updated with changes being made at a primary database because it applies changes using low-level recovery mechanisms which bypass all SQL level code layers.

2.1.2 Logical Standby Databases

A logical standby database is initially created as an identical copy of the primary database, but it later can be altered to have a different structure. The logical standby database is updated by executing SQL statements. The flexibility of a logical standby database lets you upgrade Oracle Database software (patch sets and new Oracle Database releases) and perform other database maintenance in rolling fashion with almost no downtime. From Oracle Database 11 g onward, the transient logical database rolling upgrade process can also be used with existing physical standby databases.

Oracle Data Guard automatically applies information from the archived redo log file or standby redo log file to the logical standby database by transforming the data in the log files into SQL statements and then executing the SQL statements on the logical standby database. Because the logical standby database is updated using SQL statements, it must remain open. Although the logical standby database is opened in read/write mode, its target tables for the regenerated SQL are available only for read-only operations. While those tables are being updated, they can be used simultaneously for other tasks such as reporting, summations, and queries.

A logical standby database has some restrictions on datatypes, types of tables, and types of DDL and DML operations. See Data Type and DDL Support on a Logical Standby Database for information on data type and DDL support on logical standby databases.

Benefits of a Logical Standby Database

A logical standby database is ideal for high availability (HA) while still offering data recovery (DR) benefits. Compared to a physical standby database, a logical standby database provides significant additional HA benefits:

Minimizing downtime on software upgrades

A logical standby database is ideal for upgrading an Oracle Data Guard configuration in a rolling fashion. Logical standby can be used to greatly reduce downtime associated with applying patchsets and new software releases. A logical standby can be upgraded to the new release and then switched over to become the active primary. This allows full availability while the old primary is converted to a logical standby and the patchset is applied. Logical standbys provide the underlying platform for the DBMS_ROLLING PL/SQL package, which is available as of Oracle Database 12 c Release 1 (12.1). The DBMS_ROLLING package provides functionality that allows you to make your Oracle Data Guard configuration highly available in the context of rolling upgrades and other storage reorganization.

Support for reporting and decision support requirements

A key benefit of logical standby is that significant auxiliary structures can be created to optimize the reporting workload; structures that could have a prohibitive impact on the primary’s transactional response time. A logical standby can have its data physically reorganized into a different storage type with different partitioning, have many different indexes, have on-demand refresh materialized views created and maintained, and can be used to drive the creation of data cubes and other OLAP data views. However, a logical standby database does not allow for any transformation of your data (such as replicating only a subset of columns or allowing additional columns on user tables). For those types of reporting activities, Oracle GoldenGate is Oracle’s preferred solution.

2.1.3 Snapshot Standby Databases

A snapshot standby database is a type of updatable standby database that provides full data protection for a primary database. A snapshot standby database receives and archives, but does not apply, redo data from its primary database. Redo data received from the primary database is applied when a snapshot standby database is converted back into a physical standby database, after discarding all local updates to the snapshot standby database.

A snapshot standby database diverges from its primary database over time because redo data from the primary database is not applied as it is received. Local updates to the snapshot standby database cause additional divergence. The data in the primary database is fully protected however, because a snapshot standby can be converted back into a physical standby database at any time, and the redo data received from the primary is then applied.

Benefits of a Snapshot Standby Database

A snapshot standby database is a fully updatable standby database that provides disaster recovery and data protection benefits that are similar to those of a physical standby database. Snapshot standby databases are best used in scenarios where the benefit of having a temporary, updatable snapshot of the primary database justifies the increased time to recover from primary database failures.

The benefits of using a snapshot standby database include the following:

It provides an exact replica of a production database for development and testing purposes, while maintaining data protection at all times. You can use the Oracle Real Application Testing option to capture primary database workload and then replay it for test purposes on the snapshot standby.

It can be easily refreshed to contain current production data by converting to a physical standby and resynchronizing.

The ability to create a snapshot standby, test, resynchronize with production, and then again create a snapshot standby and test, is a cycle that can be repeated as often as desired. The same process can be used to easily create and regularly update a snapshot standby for reporting purposes where read/write access to data is required.

Oracle Database Testing Guide for more information about Oracle Real Application Testing and the license required to use it

2.2 User Interfaces for Administering Oracle Data Guard Configurations

You can use the following interfaces to configure, implement, and manage an Oracle Data Guard configuration:

Oracle Enterprise Manager Cloud Control

Oracle Enterprise Manager Cloud Control provides a GUI interface for the Oracle Data Guard broker that automates many of the tasks involved in creating, configuring, and monitoring an Oracle Data Guard environment. See the Oracle Enterprise Manager Cloud Control online Help for information about the GUI and its wizards.

SQL*Plus Command-line interface

Several SQL*Plus statements use the STANDBY keyword to specify operations on a standby database. Other SQL statements do not include standby-specific syntax, but they are useful for performing operations on a standby database. See SQL Statements Relevant to Oracle Data Guard for a list of the relevant statements.

Several initialization parameters are used to define the Oracle Data Guard environment. See Initialization Parameters for a list of the relevant initialization parameters.

Oracle Data Guard broker command-line interface (DGMGRL)

The DGMGRL command-line interface is an alternative to using Oracle Enterprise Manager Cloud Control. The DGMGRL command-line interface is useful if you want to use the broker to manage an Oracle Data Guard configuration from batch programs or scripts. See Oracle Data Guard Broker for complete information.

2.3 Oracle Data Guard Operational Prerequisites

The following sections describe operational requirements for using Oracle Data Guard:

2.3.1 Hardware and Operating System Requirements

Note 413484.1 discusses mixed-platform support and restrictions for physical standbys.

Note 1085687.1 discusses mixed-platform support and restrictions for logical standbys.

The same release of Oracle Database Enterprise Edition must be installed on the primary database and all standby databases, except during rolling database upgrades using logical or transient logical standby databases.

Using SQL Apply to Upgrade the Oracle Database for information about rolling database upgrades

2.3.2 Oracle Software Requirements

The following list describes Oracle software requirements for using Oracle Data Guard:

Oracle Data Guard is available only as a feature of Oracle Database Enterprise Edition. It is not available with Oracle Database Standard Edition.

It is possible to si mulate a standby database environment with databases running Oracle Database S tandard Edition. You can do this by manually transferring archived redo log files using an operating system copy utility or using custom scripts that periodically send archived redo log files from one database to the other, registering them, and using media recovery to roll forward the copy of the database at the disaster recovery site. Such a configuration does not provide the ease-of-use, manageability, performance, and disaster-recovery capabilities available with Oracle Data Guard.

Using Oracle Data Guard SQL Apply, you can perform a rolling upgrade of the Oracle database software from patch set release n (minimally, this must be release 10.1.0.3) to any higher versioned patch set or major version release. During a rolling upgrade, you can run different releases of the Oracle database on the primary and l ogical standby databases while you upgrade them, one at a time. For complete information, see Using SQL Apply to Upgrade the Oracle Database and the ReadMe file for the applicable Oracle Database 10 g patch set release.

The COMPATIBLE database initialization parameter must be set to the same value on all databases in an Oracle Data Guard configuration, except when using a logical standby database, which can have a higher COMPATIBLE setting than the primary database.

The primary database must run in ARCHIVELOG mode. See Oracle Database Administrator’s Guide for more information.

The primary database can be a single instance database or an Oracle Real Application Clusters (Oracle RAC) database. The standby databases can be single instance databases or Oracle RAC databases, and these standby databases can be a mix of physical, logical, and snapshot types.

Each primary database and standby database must have its own control file.

If a standby database is located on the same system as the primary database, the archival directories for the standby database must use a different directory structure than the primary database. Otherwise, the standby database may overwrite the primary database files.

To protect against unlogged direct writes in the primary database that cannot be propagated to the standby database, turn on FORCE LOGGING at the primary database before performing data file backups for standby creation. Keep the database in FORCE LOGGING mode as long as the standby database is required.

The user accounts you use to manage the primary and standby database instances must have either the SYSDG or SYSDBA administrative privilege.

For operational simplicity, Oracle recommends that when you set up Oracle Automatic Storage Management (Oracle ASM) and Oracle Managed Files (OMF) in an Oracle Data Guard configuration that you set it up symmetrically on the primary and standby database(s). If any database in the Oracle Data Guard configuration uses Oracle ASM, OMF, or both, then every database in the configuration should use Oracle ASM, OMF, or both, respectively, unless you are purposely implementing a mixed configuration for migration or maintenance purposes. See the scenario in Creating a Standby Database That Uses OMF or Oracle ASM for more information.

Because some applications that perform updates involving time-based data cannot handle data entered from multiple time zones, consider setting the time zone for the primary and remote standby systems to be the same to ensure the chronological ordering of records is maintained after a role transition.

2.4 Standby Database Directory Structure Considerations

The directory structure of the various standby databases is important because it determines the path names for the standby data files, archived redo log files, and standby redo log files. If possible, the data files, log files, and control files on the primary and standby systems should have the same names and path names and use Optimal Flexible Architecture (OFA) naming conventions. The archival directories on the standby database should also be identical between sites, including size and structure. This strategy allows other operations such as backups, switchovers, and failovers to execute the same set of steps, reducing the maintenance complexity.

Your operating system-specific Oracle documentation for more information about Optimal Flexible Architecture (OFA)

Otherwise, you must set the filename conversion parameters (as shown in Table 2-1) or rename the data file. Nevertheless, if you need to use a system with a different directory structure or place the standby and primary databases on the same system, you can do so with a minimum of extra administration.

The three basic configuration options are illustrated in Figure 2-1. These include:

If you have a standby database on the same system as the primary database, you must use a different directory structure. Otherwise, the standby database attempts to overwrite the primary database files.

For operational simplicity, Oracle recommends that when you set up Oracle Automatic Storage Management (Oracle ASM) and Oracle Managed Files (OMF) in an Oracle Data Guard configuration that you set it up symmetrically on the primary and standby database(s). If any database in the Oracle Data Guard configuration uses Oracle ASM, OMF, or both, then every database in the configuration should use Oracle ASM, OMF, or both, respectively, unless you are purposely implementing a mixed configuration for migration or maintenance purposes. See the scenario in Creating a Standby Database That Uses OMF or Oracle ASM for more information.

Figure 2-1 Possible Standby Configurations

stand by oracle что это. Смотреть фото stand by oracle что это. Смотреть картинку stand by oracle что это. Картинка про stand by oracle что это. Фото stand by oracle что это
Description of «Figure 2-1 Possible Standby Configurations»

Table 2-1 describes possible configurations of primary and standby databases and the consequences of each.

Table 2-1 Standby Database Location and Directory Options

Рубрика: Администрирование / Продукты и решения

Same as primary system

Different than primary system (required)

You can either manually rename files or set up the DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT initialization parameters on the standby database to automatically update the path names for primary database data files and archived redo log files and standby redo log files in the standby database control file. (See Set Primary Database Initialization Parameters.)

The standby database does not protect against disasters that destroy the system on which the primary and standby databases reside, but it does provide switchover capabilities for planned maintenance.

Same as primary system

You do not need to rename primary database files, archived redo log files, and standby redo log files in the standby database control file, although you can still do so if you want a new naming scheme (for example, to spread the files among different disks).

By locating the standby database on separate physical media, you safeguard the data on the primary database against disasters that destroy the primary system.

Different than primary system

You can either manually rename files or set up the DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT initialization parameters on the standby database to automatically rename the data files (see Set Primary Database Initialization Parameters).

By locating the standby database on separate physical media, you safeguard the data on the primary database against disasters that destroy the primary system.

2.5 Moving the Location of Online Data Files

An operation performed with the ALTER DATABASE MOVE DATAFILE statement increases the availability of the database because it does not require that the database be shut down to move the location of an online data file. In releases prior to Oracle Database 12 c Release 1 (12.1), you could only move the location of an online data file if the database was down or not open, or by first taking the file offline.

You can perform an online move data file operation independently on the primary and on the standby (either physical or logical). The standby is not affected when a data file is moved on the primary, and vice versa.

On a physical standby, an online move data file operation can be executed while standby recovery is running if the instance that opens the database is in read-only mode. This functionality requires an Oracle Active Data Guard license.

2.5.1 Restrictions When Moving the Location of Online Data Files

You cannot use the SQL ALTER DATABASE MOVE DATAFILE command to rename or relocate an online data file on a physical standby that is a fast-start failover target if the standby is mounted, but not open.

The online move data file operation cannot be executed on physical standby while standby recovery is running in a mounted but not open instance.

The online move data file operation may get aborted if the standby recovery process takes the data file offline, shrinks the file, or drops the tablespace.

On a primary database, the online move data file operation cannot be executed on a file that belongs to a pluggable database (PDB) that has been closed on all instances of the primary database.

Oracle Database Administrator’s Guide for more information about renaming and relocating online data files

Oracle Database SQL Language Reference for more information about the ALTER DATABASE MOVE DATAFILE statement

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Standby SystemDirectory StructureConsequences