Dataguard 11G
Base de Datos 1: db11
Base de datos 2: stand
Instalación base de datos 11gR2
SID db11
sqlplus “/as sysdba”
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/dataguard/app/oracle/archive
Oldest online log sequence 65
Next log sequence to archive 67
Current log sequence 67
SQL> show parameter recover;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/dataguard/app/oracle/fast_recovery_area
db_recovery_file_dest_size big integer 4182M
db_unrecoverable_scn_tracking boolean TRUE
recovery_parallelism integer 0
SQL> select force_logging from v$database;
FOR
---
YES
alter database force_logging ;
SQL> select force_logging from v$database;
FOR
---
YES
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
lsnrctl start db11
tnsnames.ora
listener.ora
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string db11
SQL> show parameter db_unique_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string db11
SQL> alter system set log_archive_config=’dg_config=(db11,stand)’ scope=both
SQL> show parameter log_archive_config;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string dg_config=(db11,stand)
SQL> show parameters log_archive_dest_1;
SQL> alter system set log_archive_dest_1=
’ location=/u01/dataguard/app/oracle/archive valid_for=(all_logfiles,all_roles)
db_unique_name=db11’ scope=both
SQL> alter system set log_archive_dest_2=
’ service=stand valid_for=(online_logfile,primary_role) db_unique_name=stand’ scope=both
SQL> show parameter log_archive_dest_state_2;
SQL
SQL> alter system set log_archive_dest_state_2=’defer’ scope=both;
(No se muestra en pantalla ya que, ya se tenía configurado el dataguard)
SQL> show parameter fal
SQL> alter system set fal_server=stand scope=both;
SQL> alter system set fal_client=db11 scope=both;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string DB11
fal_server string STAND
SQL>
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string db11.stoapps.com
SQL> show parameter remote
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode string TIMESTAMP
remote_listener string
remote_login_passwordfile string EXCLUSIVE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
result_cache_remote_expiration integer 0
SQL> show parameter stand
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest string ?/dbs/arch
standby_file_management string AUTO
SQL>alter system set standby_file_management=’AUTO’ scope=both;
SQL>alter system set db_file_name_convert=’/oradata/stand’,’/oradata/db11’ scope=spfile ;
SQL>alter system set log_file_name_convert=’/oradata/stand’,’/oradata/db11’ scope=spfile ;
SQL>alter database add standby logfile group
4(‘/u01/dataguard/app/oracle/oradata/db11/stand1.log’) size 50M;
SQL>alter database add standby logfile group
5(‘/u01/dataguard/app/oracle/oradata/db11/stand2.log’) size 50M;
SQL>alter database add standby logfile group
6(‘/u01/dataguard/app/oracle/oradata/db11/stand3.log’) size 50M;
SQL>alter database add standby logfile group
7(‘/u01/dataguard/app/oracle/oradata/db11/stand4.log’) size 50M;
SQL>create pfile from spfile;
rman connect target /
RMAN> backup database plus archivelog;
RMAN> backup current controlfile for standby;
RMAN> exit
Instalación software de base de datos 11gR2
mkdir –p oradata/stand
mkdir –p fast_recovery/DB11
cp /dataguard/app/oracle/fast_recovery /dataguard2/app/oracle/
cp /dataguard/app/oracle/product/db_home/11.2.0/dbhome_1/dbs/initdb11.ora
/dataguard2/app/oracle/product/db_home/11.2.0/dbhome_1/dbs/initstand.ora
Se deben remplazar las menciones db11 a stand. Quedando de la siguiente manera:
Se debe agregar al oratab la entrada de la base de datos:
Se debe copiar el tnsnames.
Se tiene que generar un nuevo listener.
mkdir –p /u01/dataguard2/app/oracle/admin/stand/adump
cp /dataguard/app/oracle/product/db_home/11.2.0/dbhome_1/dbs/orapwdb11
/dataguard2/app/oracle/product/db_home/11.2.0/dbhome_1/dbs/orapwstand
. oraenv stand
sqlplus “/as sysdba”
startup nomount
show parameter db_name;
show parameter db_unique_name;
ambas deberian estar apuntando a DB11
créate spfile from pfile;
shutdown immediate;
exit
sqlplus “/as sysdba”
startup nomount
alter system set db_unique_name=’stand’ scope=spfile;
shutdown
startup
show parameter db_unique_name; = stand
exit
lsnrctl start STAND
Validar comunicación entre ambas bases de datos.
sqlplus sys/Xcsdwe23@DB11 as sysdba
sqlplus sys/Xcsdwe23@STAND as sysdba
rman
connect auxiliary /
connect target sys/Xcsdwe23@DB11
run
allocate channel c1 device type disk;
allocate auxiliary channel c2 device type disk;
duplicate target database for standby nofilenamecheck dorecover;
Exit
sqlplus “/as sysdba”
select database_role from v$databases;
alter database recover managed standby database disconnect ;
show parameter dump;
Validamos el alert_log.
sqlplus “/as sysdba”
alter system set log_archive_dest_state_2=’enable’ scope=both
alter system switch logfile;
Validamos nuevamente el alert_log
Sqlplus “/as sysdba”
Select thread#,max(sequence#) from v$archived_log where applied=’YES’ group by thread#;
Sqlplus “/As sysdba”
archive log list;
select member from v$logfile;
alter database recover managed standby database cancel;
alter database recover managed standby database using current logfile disconnect;
select protection_mode from v$database;