You are on page 1of 5

DATAGUARD LINUX BASED MAX PERFORMANCE

1st Machine 10.4.29.229

• First of all make two machines of ORACLE LINUX 7 64bit.

• Then make connectivity between them.

• Install Database 11.2.0.4 (windows-based) on both machines.

• After installation of databases on both machines make connectivity between through TNSPING.

• Check the archiving on both databases (primary & standby) and enable on both database.

• SQL> select OPEN_MODE from v$database;

• SQL> shu immediate;

• Archive log list

• SQL> startup nomount;

• SQL> alter database mount;

• SQL> alter database archivelog;

• SQL> archive log list;

• sqlplus sys/oracle@improlive as sysdba

SQL> show parameter recover;

SQL> alter system set db_recovery_file_dest_size = 8G scope=both;

SQL> alter system set db_recovery_file_dest='' scope=both;

SQL> alter system set log_archive_dest_1='location=/oradata/archive/' scope=both;

SQL> alter database force logging;

SQL> show parameter db_name;

SQL> show parameter db_unique;

SQL> show parameter log_archive;

SQL> alter system set log_archive_dest_2='SERVICE=IMPROLNXDG NOAFFIRM ASYNC


VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)' scope=both;

SQL> alter system set log_archive_dest_state_2=ENABLE scope=both;

SQL> show parameter log_archive_dest%_2;

SQL> show parameter remote;

SQL> show parameter fal;


SQL> alter system set fal_server=IMPROLNXDG scope=both;

SQL> alter system set fal_client=IMPROLIVE scope=both;

SQL> show parameter fal;

SQL> show parameter standby;

SQL> alter system set standby_file_management=MANUAL scope=both;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo01.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo02.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo03.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo04.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo05.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo06.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo07.log') size 300M;

SQL> alter system set standby_file_management=AUTO scope=both;

SQL> alter database create standby controlfile as '/oradata/backup/impro_stby.ctl';

SQL> exit

rman target /

RMAN> show all;

RMAN> configure controlfile autobackup ON;

RMAN> configure controlfile autobackup format for device type disk to '/ Backup/rman /%F';

RMAN> configure channel device type disk format '/ Backup/rman /backup%U';

RMAN> configure snapshot controlfile name to '/oradata/backup /SNCFDATA.ora';

RMAN> backup database plus archivelog;


2nd machine 10.4.29.239

Delete the database on second machine and copy STANDBY_CTRL file from the backup &
paste '/oradata/backup/'
Create archive folder at /oradata/archive
sqlplus / as sysdba

SQL> shu immediate;


SQL> startup nomount;
SQL> alter database mount standby database;
SQL> exit

rman target /

RMAN> catalog start with '/oradata/backup/' noprompt;

RMAN> crosscheck backup;

RMAN> delete backup;

RMAN> run {restore database; recover database ;}

SQL> ALTER DATABASE DROP STANDBY LOGFILE group 4;

SQL> ALTER DATABASE DROP STANDBY LOGFILE group 5;

SQL> ALTER DATABASE DROP STANDBY LOGFILE group 6;

SQL> ALTER DATABASE DROP STANDBY LOGFILE group 7;

SQL> alter system set fal_client=IMPROLNXDG scope=both;

SQL> alter system set fal_server=IMPROLIVE scope=both;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo01.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo02.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo03.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo04.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo05.log') size 300M;


SQL> alter database add standby logfile ('/oradata/improlive/standby_redo06.log') size 300M;

SQL> alter database add standby logfile ('/oradata/improlive/standby_redo07.log') size 300M;

SQL> alter system set log_archive_dest_state_2=DEFER scope=both;

SQL> alter system set log_archive_dest_2='SERVICE=IMPROLIVE NOAFFIRM ASYNC' scope=both;

SQL> alter database recover managed standby database disconnect from session;

SQL> select sequence#, archived, applied from v$archived_log where applied='YES' order by sequence# desc;

SQL> select protection_mode from v$database;

///////////////////////////////////////////////////////////////////////////////

SQL> alter database open read only;

alter database open read only

ERROR at line 1:

ORA-10456: cannot open standby database; media recovery session may be in progress

Solution:

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database open read only;

Database altered.

/////////////////////////////////////////////////////////////////////////////////
SQL> select open_mode from v$database;

///////////////////////////////////////////////////////////////////////////////

For checking error on primary database


SQL> select dest_id, status, error from v$archive_dest where dest_id=2;

/////////////////////////////////////////////////////////////////////////////////

SQL> select SEQUENCE#, STATUS, ARCHIVED from v$log;

SQL> desc v$datafile;

SQL> desc v$log;

SQL> desc v$tablespace;

SQL> create table abc (id number);

SQL> insert into values (1);


SQL> commit;

SQL> select * from abc;


Database Switchover
-- Convert standby database to Primary
CONNECT / AS SYSDBA

SQL> alter database recover managed standby database cancel;

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY with session shutdown nowait;

if not altered, execute below query

SQL> RECOVER MANAGED STANDBY DATABASE FINISH;

SQL> select switchover_status from v$database;

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

SQL> select database_role from v$database;

SQL> show parameter archive

SQL> desc v$dataguard_status

SQL> alter database recover managed standby database using current logfile disconnect from session;

https://oracle-base.com/articles/11g/data-guard-setup-11gr2#protection_mode

You might also like