-
Configuración de Oracle 11g DataGuard
Oracle Database 11g Enterprise Edition versión 11.1.0.6.0 - Producción de 64 bits
Red Hat Enterprise Linux Server versión 5.3 (Tikanga)
1. Preparación del entorno de prueba
1. La base de datos principal y la base de datos en espera tienen la misma versión de Oracle y se ejecutan en la misma plataforma, como Linux, pero el hardware del servidor puede ser diferente.
2. La base de datos principal debe ejecutarse en modo de archivo y asegúrese de abrir FORCE LOGGING en la base de datos principal para evitar que los usuarios escriban rehacer mediante nologging y otros métodos, lo que provocará que las operaciones correspondientes no se transmitan a la base de datos en espera.
3. Tanto las bases de datos primarias como las de respaldo se pueden aplicar en una arquitectura de instancia única o RAC, y la misma configuración de protección de datos puede combinar el respaldo lógico y el respaldo físico.
4. Se recomienda que la base de datos utilice la misma arquitectura de almacenamiento. Por ejemplo, si se utiliza ASM/OMF para almacenamiento, se debe utilizar ASM/OMF independientemente de si es principal o en espera.
5. El entorno de la biblioteca en espera es el mismo que el de la biblioteca principal.
2. Ajustar la biblioteca principal
1. Cambie la base de datos principal para forzar el modo de registro
alterar el registro forzado de la base de datos;
2. Crea una contraseña
archivo orapwd=$ORACLE_HOME/dbs/orapwtest contraseña=entradas de prueba=3
3. Modificar los parámetros de inicialización de la biblioteca principal.
db_unique_name ='prueba01'
db_name especifica el nombre de la base de datos, db_unique_name especifica los diferentes nombres de la base de datos (base de datos principal y base de datos en espera), que es la identificación única de db_name. De hecho, se trata de distinguir bases de datos con el mismo db_name para facilitar la aplicación y la gestión. Es un parámetro después de 10g.
log_archive_config='DG_CONFIG=(prueba01,prueba02)'
test01, test02 es .db_unique_name
log_archive_dest_1='ubicación=/u01/app/oracle/arch/test/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test01'
log_archive_dest_2='SERVICE=test_db_02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test02'
Determinar log_archive_dest_state_1
log_archive_dest_state_1= habilitar #El valor predeterminado es habilitar
log_archive_dest_state_2= habilitar
/*Las siguientes partes se utilizan para cambiar el host a la base de datos en espera*/
fal_server=test_db_02
fal_client=test_db_01
standby_file_management=automático
#Si los archivos o rutas de la base de datos primaria y secundaria son diferentes
db_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
log_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
Se recomienda que el archivo de parámetros use spfile, para que los parámetros se puedan modificar usando comandos en la biblioteca continua.
4. Asegúrese de que la base de datos se esté ejecutando en modo archivelog.
SQL> lista de registros de archivo
Modo de registro de base de datos Sin modo de archivo
Archivado automático deshabilitado
Destino del archivo USE_DB_RECOVERY_FILE_DEST
Secuencia de registro en línea más antigua 2
Secuencia de registro actual 4
Ajustar la base de datos al modo archivelog
SQL> apagado inmediato
SQL> montaje de inicio
SQL> alterar el registro de archivo de la base de datos;
SQL> alterar base de datos abierta;
5. Cree un registro en espera en la base de datos principal (para cambiar)
alterar la base de datos recuperar la base de datos en espera administrada cancelar;#No ejecutado
SQL>ALTERAR BASE DE DATOS AGREGAR ARCHIVO DE REGISTRO EN ESPERA GRUPO 4 TAMAÑO 50M;
SQL>ALTERAR BASE DE DATOS AGREGAR ARCHIVO DE REGISTRO EN ESPERA GRUPO 5 TAMAÑO 50M;
SQL>ALTERAR BASE DE DATOS AGREGAR ARCHIVO DE REGISTRO EN ESPERA GRUPO 6 TAMAÑO 50M;
mkdir -p /u01/app/oracle/standby/prueba
SQL>alterar base de datos agregar grupo de archivos de registro en espera 4('/u01/app/oracle/standby/test/stdby_redo04.log') tamaño 50M;
SQL>alterar base de datos agregar grupo de archivos de registro en espera 5('/u01/app/oracle/standby/test/stdby_redo05.log') tamaño 50M;
SQL>alterar base de datos agregar grupo de archivos de registro en espera 6('/u01/app/oracle/standby/test/stdby_redo06.log') tamaño 50M;
SQL>alterar la base de datos recuperar la base de datos en espera administrada desconectarse de la sesión;#No ejecutado
3. Crear una base de datos en espera
1. Cree un archivo pwd en la base de datos en espera
archivo orapwd=$ORACLE_HOME/dbs/orapwtest contraseña=entradas de prueba=3
La contraseña debe ser la misma que la de la base de datos principal.
2. Modifique los parámetros de inicialización de la base de datos en espera que sean diferentes de los de la base de datos primaria de la siguiente manera:
db_unique_name=prueba02
log_archive_dest_1='ubicación=/u01/app/oracle/arch/test valid_for=(all_logfiles,all_roles) db_unique_name=test02'
log_archive_dest_2='service=test_db_01 ARCH ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=test01'
fal_client='test_db_02'
fal_server='test_db_01'
db_file_name_convert='/u01/app/oracle/oradata/TEST01/datafile','/u01/app/oracle/oradata/TEST02/datafile'
log_file_name_convert='/u01/app/oracle/oradata/TEST01/onlinelog','/u01/app/oracle/oradata/TEST02/onlinelog', '/u01/app/oracle/flash_recovery_area/TEST01/onlinelog','/u01 /app/oracle/flash_recovery_area/TEST01/onlinelog'
Después de la modificación, utilice la siguiente declaración para ver
SQL> seleccione * de V$DATAGUARD_CONFIG;
DB_UNIQUE_NAME
-------------------------------------------------- ----------------------------------------
prueba01
prueba02
4. Cree los directorios correspondientes, el directorio de archivos de volcado, el directorio de archivos de datos y el directorio de archivos.
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/flash_recovery_area
mkdir -p /u01/app/oracle/arch/prueba
5. Configure los archivos listening.ora y tnsnames.ora de la base de datos en espera para reiniciar la escucha con la base de datos principal y verificar si tnsping puede pasar.
6. Inicie la base de datos en espera al estado sin montar.
SQL> inicio sin cantidad
7. Utilice la función duplicada de RMAN para crear una base de datos en espera. 11g puede copiarla directamente a la base de datos en espera sin realizar una copia de seguridad:
RMAN> auxiliar rman /
conectar el sistema de destino/test@test_db_01
duplicar la base de datos de destino para el modo de espera dorecover nofilenamecheck;
Verificar el estado de la base de datos en espera
SQL> seleccione función_base de datos, modo_protección, nivel_protección de v$base de datos;
SQL> seleccione número de secuencia, aplicado desde v$archived_log orden por número de secuencia;
8. Inicie la biblioteca principal de la aplicación Rehacer
SQL> alterar el registro de archivo del sistema actual;
Base de datos en espera, 11g puede abrir el registro de la aplicación de la base de datos en modo de solo lectura
SQL> alterar la base de datos abierta de solo lectura;
SQL> alterar la base de datos recuperar la base de datos en espera administrada desconectarse de la sesión;
También puede usar alterar la base de datos para recuperar la base de datos en espera administrada usando el archivo de registro actual para desconectarse del registro de la aplicación.
Si no se utiliza el archivo de registro actual, aplique el registro archivado en espera.
El uso del archivo de registro actual se aplica cuando el registro se transfiere al registro de rehacer en espera. Es en tiempo real y debe tener un registro de rehacer en espera.
4. Modo de administración y modo de solo lectura del servidor en espera
1. Inicie en modo de administración
SQL>apagado inmediato;
SQL> inicio sin cantidad;
SQL>alterar base de datos montar base de datos en espera;
SQL>alterar base de datos recuperar la base de datos en espera administrada desconectarse de la sesión;
2. Arranque en modo de solo lectura
SQL>apagado inmediato;
SQL> inicio sin cantidad;
SQL>alterar base de datos montar base de datos en espera;
SQL>alterar base de datos abierta de solo lectura;
(3) Si va al modo de solo lectura en el modo de recuperación de administración
SQL> recuperar cancelación de base de datos en espera administrada;
SQL> alterar la base de datos abierta de solo lectura;
En este momento, puede agregar archivos de datos temporales a la base de datos (esto no se respalda durante la copia de seguridad en caliente)
como
alterar la temperatura del espacio de tabla agregar el archivo temporal '/u02/oradata/test/temp01.dbf' tamaño 100M;
5. Del modo de solo lectura al modo de recuperación administrada
SQL> recuperar la desconexión de la base de datos en espera administrada de la sesión;
5. Cambiar entre bases de datos activas y en espera
parada lsnrctl
SQL> alterar el compromiso de la base de datos para cambiar al modo de espera físico con el cierre de la sesión;
SQL> apagado inmediato;
SQL> montaje de inicio;
SQL> alterar la base de datos recuperar la desconexión de la base de datos en espera administrada;
inicio lsnrctl
Respaldo
SQL> alterar el compromiso de la base de datos para cambiar a primario;
SQL> apagado inmediato;
SQL> inicio
6. El siguiente archivo adjunto es el contenido del archivo de configuración:
oyente.ora
OYENTE =
(DESCRIPCIÓN=
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = oracle6)(PUERTO = 1521))
)
tnsnames.ora
PRUEBA_DB_02 =
(DESCRIPCIÓN=
(DIRECCIÓN_LISTA =
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = 192.168.202.5)(PUERTO = 1521))
)
(CONECTAR_DATOS =
(NOMBRE_SERVICIO = prueba02)
)
)
PRUEBA_DB_01 =
(DESCRIPCIÓN=
(DIRECCIÓN_LISTA =
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = 192.168.202.6)(PUERTO = 1521))
)
(CONECTAR_DATOS =
(NOMBRE_SERVICIO = prueba01)
)
)
archivop
prueba.__db_cache_size=1526726656
prueba.__java_pool_size=16777216
prueba.__large_pool_size=16777216
test.__oracle_base='/u01/app/oracle'#ORACLE_BASE configurado desde el entorno
prueba.__pga_aggregate_target=1342177280
prueba.__sga_target=2013265920
prueba.__shared_io_pool_size=0
prueba.__shared_pool_size=436207616
prueba.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/test/adump'
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/test/control01.ctl','/u01/app/oracle/oradata/test/control02.ctl','/u01/app/oracle/oradata/test/ control03.ctl'
*.db_block_size=8192
*.db_domain='greatsky.com'
*.db_name='prueba'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.db_unique_name='prueba01'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOLO=TCP) (SERVICIO=testXDB)'
*.fal_client='TEST_DB_01'
*.fal_server='TEST_DB_02'
*.log_archive_config='dg_config=(prueba01,prueba02)'
*.log_archive_dest_1='ubicación=/u01/app/oracle/arch/test/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test01'
*.log_archive_dest_2='SERVICE=test_db_02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test02'
*.memory_target=3347054592
*.open_cursors=300
*.procesos=150
*.remote_login_passwordfile='EXCLUSIVO'
*.service_names='test.greatsky.com','test01.greatsky.com'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'