Вы находитесь на странице: 1из 5

14/12/2017 Oracle 11gR2 - Data Guard Broker

Bienvenido Consultoría Presentaciones Investigación Herramientas

Oracle 11gR2 - Data Guard Broker


En versiones anteriores de Oracle, Data Guard Broker ha sido considerado sospechoso. Sin embargo, en Oracle 11gR2, Data
Guard Broker es mucho más estable y se ha convertido en la herramienta preferida para administrar las configuraciones de Data
Guard.

Dada una base sólida, la implementación del Broker es casi trivial.

Esta página asume que db_name es PROD y que los db_unique_names son PROD y STBY. Estos nombres siguen los estándares
existentes de mis clientes; Siempre que sea posible, prefiero usar los nombres geográficos para el parámetro DB_UNIQUE_NAME
porque creo que es más fácil visualizar la configuración durante la administración de roles.

Configurar LISTENER.ORA

Primero, en cada nodo agregue una entrada estática al archivo LISTENER.ORA. Por ejemplo:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = PROD_DGMGRL)
(ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = PROD)
)
)

The Data Guard Broker defaults to static service names with the DGMGRL suffix. It is possible to override the default service
names, but in this case I chose the lazy option and stuck with the Oracle defaults.

Note that in a RAC environment the SID_NAME will be different on each node, so don't copy the listener.ora file between nodes.

Configure TNSNAMES.ORA

We also specified entries for both the primary and standby databases in $ORACLE_HOME/network/admin/tnsnames.ora. For
example:

PROD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=TCP)(HOST=server14.juliandyke.com)(PORT=1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)
)

STBY =
(DESCRIPTION =
(DIRECCIÓN = (PROTOCOLO = TCP) (HOST = server15.juliandyke.com) (PORT = 1521))
(CONNECT_DATA =
(SERVIDOR = DEDICADO)
(SERVICE_NAME = STBY)
)
)

En este ejemplo, la base de datos PROD se ejecutará en el servidor 14 y la base de datos STBY se ejecutará en el servidor15.

Habilitar Data Guard Broker

A continuación, habilite Data Guard Broker para cada base de datos (primaria y en espera) en la configuración estableciendo el
parámetro DG_BROKER_START en VERDADERO.

ALTER SYSTEM SET dg_broker_start = TRUE;

Data Guard Broker mantiene dos copias de sus configuraciones. Las ubicaciones de estos archivos están especificadas por los
parámetros DG_BROKER_CONFIG_FILE1 y DG_BROKER_CONFIG_FILE2. Para una base de datos de instancia única, los
valores predeterminados son:
http://www.juliandyke.com/Research/DataGuard/DataGuardBroker.php 1/5
14/12/2017 Oracle 11gR2 - Data Guard Broker
$ ORACLE_HOME / dbs / dr1 <db_unique_name> .dat
$ ORACLE_HOME / dbs / dr2 <db_unique_name> .dat

The default values are probably adequate for a single instance database; in a RAC environment the defaults should be modified to
specify a location in a shared file system or ASM diskgroup(s).

Start DGMGRL

On any node in the configuration, start the Data Guard Broker command utility (DGMGRL) and connect as the SYS user.

[oracle@server14]$ dgmgrl
DGMGRL> CONNECT SYS
Password: <Enter Password>

Note that it is not necessary to specify the SYSDBA privilege as this is assumed by DGMGRL.

Create Data Guard Broker Configuration

Create a configuration. For example:

DGMGRL> CREATE CONFIGURATION DG1' AS


> PRIMARY DATABASE IS 'PROD'
> CONNECT IDENTIFIER IS 'PROD';
Configuration "DG1" created with primary database "PROD"

Deberá especificar un nombre de configuración y el nombre exclusivo de la base de datos principal

Añadir bases de datos en espera

Agregue todas las bases de datos en espera a la configuración. En este ejemplo, solo tenemos una base de datos física en espera:

DGMGRL> ADD DATABASE 'STBY' AS


> CONNECT IDENTIFIER ES 'STBY';
Se agregó la base de datos 'STBY'

Habilitar la configuración

Por defecto, la configuración de Data Guard está desactivada. Habilite la configuración de la siguiente manera:

DGMGRL> CONFIGURACIÓN DE HABILITACIÓN \ nhabilitada.

Cambiar al modo de espera

Como comenzamos con una configuración de Data Guard en funcionamiento, debería ser posible cambiar a la base de datos en
espera en esta etapa. La conmutación se logra usando un solo comando, por ejemplo:

DGMGRL> CONMUTACIÓN PARA 'STBY'


Realizando el cambio AHORA, espera ...
Se está abriendo una nueva base de datos primaria "STBY" ...
La operación requiere el apagado de la instancia "PROD" en la base de datos "PROD"
Apagando la instancia "PROD" ...
La instancia de ORACLE se apagó. \ NLa operación requiere el inicio de la instancia "PROD" en la
Ejemplo de inicio "PROD" ...
La instancia de ORACLE comenzó.
Base de datos montada.
La conmutación tuvo éxito, la nueva primaria es "STBY"

Si el entorno se ha configurado correctamente, la conmutación generalmente funciona por primera vez. Sin embargo, puede tomar
unos minutos para completar la operación de cambio. Si la operación no se completa inmediatamente, no entre en pánico. Espere
unos minutos y luego verifique el estado nuevamente.

Switchback

Switchback es muy similar al cambio.

DGMGRL> CONMUTACIÓN PARA 'PROD'


Realizando el cambio AHORA, espera ...
Se está abriendo una nueva base de datos primaria "PROD" ...

http://www.juliandyke.com/Research/DataGuard/DataGuardBroker.php 2/5
14/12/2017 Oracle 11gR2 - Data Guard Broker
Operation requires shutdown of instance "STBY" on database "STBY"
Shutting down instance "STBY"...
ORACLE instance shut down.
Operation requires startup of instance "STBY" on database "STBY"
Starting instance "STBY"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "PROD"

As with switchover we have seen occasional failures with switchback which again we think are timing-related.

Disabling Configuration

The configuration can be disabled at any time using:

DGMGRL> DISABLE CONFIGURATION


Disabled.

Removing the configuration

The configuration can be removed using:

DGMGRL> REMOVE CONFIGURATION


Removed configuration

Checking the Data Guard Configuration

You can check the Data Guard configuration in DGMGRL using the SHOW CONFIGURATION command which has both default
and verbose modes. For example:

DGMGRL> SHOW CONFIGURATION


Configuration - DG1
Protection Mode: MaxAvailability
Databases:
PROD - Primary database
STBY - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

The verbose option includes some additional properties:

DGMGRL> SHOW CONFIGURATION VERBOSE


Configuration - DG1
Protection Mode: MaxAvailability\n
Databases:
PROD - Primary database
STBY - Physical standby database
Properties:
FastStartFailoverThreshold = '30'
OperationTimeout = '30'
FastStartFailoverLagLimit = '30'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
Configuration Status:
ÉXITO

Verificación de la configuración de la base de datos primaria

La configuración de la base de datos primaria se puede verificar utilizando el comando SHOW DATABASE. Este comando también
tiene un modo predeterminado y detallado:

DGMGRL> MOSTRAR BASE DE DATOS 'PROD'


Base de datos - PROD

Papel: PRIMARIO

http://www.juliandyke.com/Research/DataGuard/DataGuardBroker.php 3/5
14/12/2017 Oracle 11gR2 - Data Guard Broker
Estado previsto: TRANSPORT-ON
Instancias):
PINCHAR
Estado de la base de datos
ÉXITO

El modo detallado incluye propiedades para la base de datos, muchas de las cuales reflejan los parámetros de inicialización
subyacentes:

DGMGRL> MOSTRAR BASE DE DATOS VERBOSE 'PROD'


Base de datos - PROD

Papel: PRIMARIO
Estado previsto: TRANSPORT-ON
Instancias):
PINCHAR
Propiedades:
DGConnectIdentifier = 'PROD'
ObserverConnectIdentifier = ''
LogXptMode = 'SYNC'
DelayMins = '0'
Encuadernación = 'OPCIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DESACTIVAR'
LogShipping = 'ENCENDIDO'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '5'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = '+ DATA2, + DATA1'
LogFileNameConvert = '+ FRA2, + FRA1'
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'PROD'
StaticConnectIdentifier =
'(DESCRIPTION = (DIRECCIÓN = (PROTOCOLO = TCP) (HOST = 10.227.27.1)
(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = PROD_DGMGRL)
(INSTANCE_NAME = PROD) (SERVER = DEDICATED))) '
StandbyArchiveLocation = '+ FRA1'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '% t_% s_% r.dbf'
TopWaitEvents = '(monitor)'
Estado de la base de datos
ÉXITO

Comprobación de la configuración de la base de datos física en espera

La configuración de la base de datos física en espera también se puede verificar utilizando el comando SHOW DATABASE. De
nuevo, este comando tiene un modo predeterminado y detallado:

DGMGRL> SHOW DATABASE 'STBY'


Base de datos - STBY
Papel: STANDBY FÍSICO
Estado previsto:
APLICAR SOBRE
Retraso de transporte: 0 segundos
Aplicar retraso: 0 segundos
Consulta en tiempo real: DESACTIVADA
Instancias):
STBY
Estado de la base de datos
ÉXITO

http://www.juliandyke.com/Research/DataGuard/DataGuardBroker.php 4/5
14/12/2017 Oracle 11gR2 - Data Guard Broker

Nunca recuerdo los nombres de las vistas de rendimiento dinámico de Data Guard, así que realmente me gustan los campos
Transport Lag y Apply Lag en el resultado anterior.

De nuevo, el modo detallado incluye propiedades para la base de datos en espera:

DGMGRL> MOSTRAR BASE DE DATOS VERBOSE 'STBY'


Base de datos - STBY
Papel: STANDBY FÍSICO
Estado previsto: APPLY-ON
Retraso de transporte: 0 segundos
Aplicar retraso: 0 segundos
Consulta en tiempo real: DESACTIVADA
Instancias):
STBY
Propiedades:
DGConnectIdentifier = 'STBY'
ObserverConnectIdentifier = ''
LogXptMode = 'SYNC'
DelayMins = '0'
Encuadernación = 'OPCIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DESACTIVAR'
LogShipping = 'ENCENDIDO'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '5'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = '+ DATA1, + DATA2'
LogFileNameConvert = '+ FRA1, + FRA2'
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'PROD'
StaticConnectIdentifier =
'(DESCRIPTION = (DIRECCIÓN = (PROTOCOLO = TCP) (HOST = 10.221.27.2)
(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = STBY_DGMGRL)
(INSTANCE_NAME = STBY) (SERVER = DEDICATED))) '\ n
StandbyArchiveLocation = '+ FRA2'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '% t_% s_% r.dbf'
TopWaitEvents = '(monitor)'
Estado de la base de datos
ÉXITO

http://www.juliandyke.com/Research/DataGuard/DataGuardBroker.php 5/5

Вам также может понравиться