Standby - Redo Apply
Hi,
I've a problem applying real time on my logical standby. If I do a "alter system switch logfile" on the primary db then I see data from the primary db to the standby. However if I DON'T do the log switch or no log switch then I don't see the data even the transaction commit on the primary site.
Somehow all the transactions on the primary db redo logs are not transmit over the standby when transactions are commit. There's on error on the alert log on both primary and standby.
Here are my steps on the logical standby.
ALTER DATABASE STOP LOGICAL STANDBY APPLY;
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
My database version 10.2.0.3 and solaris 10.
Hi there,
Here's the alert log file from the logical standby. Noted, I did an insert on the primary first then went to the standby "stop apply" and "start apply".
Completed: ALTER DATABASE stop LOGICAL STANDBY APPLY
Thu Oct 25 14:03:32 2007
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE
Thu Oct 25 14:03:32 2007
ALTER DATABASE START LOGICAL STANDBY APPLY (HARDWSTD)
with optional part
IMMEDIATE
Attempt to start background Logical Standby process
LSP0 started with pid=21, OS id=29458
LOGSTDBY status: ORA-16111: log mining and apply setting up
Thu Oct 25 14:03:32 2007
LOGMINER: Parameters summary for session# = 1
LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
LOGMINER: Memory Size = 100M, Checkpoint interval = 500M
LOGMINER: session# = 1, builder process P003 started with pid=36 OS id=8859
LOGMINER: session# = 1, preparer process P004 started with pid=37 OS id=8861
LOGMINER: session# = 1, reader process P002 started with pid=35 OS id=8857
Thu Oct 25 14:03:32 2007
LOGSTDBY Parameter: DISABLE_APPLY_DELAY =
LOGSTDBY Parameter: LOG_AUTO_DELETE = FALSE
LOGSTDBY Parameter: MAX_SGA = 100
LOGSTDBY Parameter: REAL_TIME =
Completed: ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE
LOGSTDBY Analyzer process P005 started with pid=39 OS id=8927
LOGSTDBY Apply process P009 started with pid=43 OS id=8935
LOGSTDBY Apply process P007 started with pid=41 OS id=8931
Thu Oct 25 14:03:33 2007
LOGMINER: Begin mining logfile:/oradata/prod/HARDWSTD/stdby/1_363_600866453.dbf
LOGSTDBY Apply process P010 started with pid=44 OS id=8937
LOGSTDBY Apply process P008 started with pid=42 OS id=8933
LOGSTDBY Apply process P006 started with pid=40 OS id=8929
Thu Oct 25 14:03:34 2007
LOGMINER: End mining logfile:/oradata/prod/HARDWSTD/stdby/1_363_600866453.dbf
The standby parameter
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
log_archive_dest_1 string LOCATION=/orachive/prod/HARDDWSTD/stdby,
valid_for=(ALL_ROLES,ONLINE_LOGFILE )
Similar Messages
-
Standby not applying the online redo logs
Hi,
The redo apply process does not seem to apply the current logs to the standby database.
The output from the query
Select last_change#, sequence# from v$standby_log;
LAST_CHANGE# GROUP# SEQUENCE#
4 0
10120537 5 8586
6 0
7 0
gives me the current SCN as that of the primary.
But the CURRENT_SCN from v$database on the standby lags from that of the output above.
Select CURRENT_SCN from v$database;
CURRENT_SCN
10119641
The STATUS and PROCESS information from the v$managed_standby show the following:
PROCESS STATUS SEQUENCE#
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CONNECTED 0
RFS IDLE 0
RFS IDLE 0
RFS IDLE 8586
RFS IDLE 0
RFS IDLE 0
RFS IDLE 0
RFS IDLE 0
PROCESS STATUS SEQUENCE#
MRP0 APPLYING_LOG 8586
Any thoughts on why the standby has not applied the recived logs from the primary?
I am currently using version Oracle 11.2.0.2 for Active dataguard setup. I currently have a primary server and one standy server.
ThanksI had sent the output of the queries in the earlier post. Here it is again
The output for the query
select thread#, max(sequence#) from v$archived_log group by thread#; (on primary)
THREAD# MAX(SEQUENCE#)
1 8585
The output for
select thread#, max(sequence#) from v$archived_log where applied = 'YES' group by thread#; (on standby)
THREAD# MAX(SEQUENCE#)
1 8585
Also the query
select LAST_CHANGE#, STATUS from V$STANDBY_LOG;
gives me the current scn generated at the primary.
LAST_CHANGE# STATUS
10149990 ACTIVE
10146538 ACTIVE
10150844 ACTIVE
But the current_scn from v$database is lagging.
select current_scn from v$database;
CURRENT_SCN
10146535
Also the query
select THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# from v$archive_gap;
returns no rows. So there are no archive logs missing on the standby either.
So I beleive that the RFS has recieved the logs from the primary but the logs have not been applied at the standby.
Thanks -
Redo apply is not done in physical standby database
Please help me to resolve the issue, tnsping are working. but getting following output in data guard configuration.
From primary database,
Code: [Select all] [Show/ hide]
SQL> select max(sequence#), thread# from v$archived_log group by thread#;
MAX(SEQUENCE#) THREAD#
124 1
94 2
SQL> col DESTINATION for a40
SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# -
FROM V$ARCHIVE_DEST_STATUS -
WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';SELECT DEST_ID "ID",STATUS "DB_status",DESTINATION "Archive_dest",ERROR "Error" FROM V$ARCHIVE_DEST WHERE DEST_ID =2;
select error from v$archive_dest_status where error is not null;
DESTINATION STATUS ARCHIVED_THREAD#
ARCHIVED_SEQ#
VALID 1
124
bddipdrs ERROR 0
0
SQL> SQL> SQL>
ID DB_status
Archive_dest
Error
2 ERROR
bddipdrs
ORA-16198: Timeout incurred on internal channel during remote
archival
From standby database,
Code: [Select all] [Show/ hide]
SQL> select max(sequence#), thread# from v$archived_log group by thread#;
col DESTINATION for a40
no rows selected
SQL> SQL> SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# -
FROM V$ARCHIVE_DEST_STATUS -
WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';SELECT DEST_ID "ID",STATUS "DB_status",DESTINATION "Archive_dest",ERROR "Error" FROM V$ARCHIVE_DEST WHERE DEST_ID =2;
DESTINATION STATUS ARCHIVED_THREAD#
ARCHIVED_SEQ#
VALID 0
0
bddipdrs VALID 0
0
VALID 0
0
SQL> SQL> SQL>
ID DB_status
Archive_dest
Error
2 VALID
bddipdrs
SQL> SQL> select error from v$archive_dest_status where error is not null;
no rows selected
From standby database,
Code: [Select all] [Show/ hide]
<msg time='2010-09-02T21:30:25.422+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
pid='13010'>
<txt>RFS[2]: Possible network disconnect with primary database
</txt>
</msg>
<msg time='2010-09-02T21:31:19.259+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
pid='13014'>
<txt>RFS[6]: Possible network disconnect with primary database
</txt>
</msg>
<msg time='2010-09-02T21:31:19.265+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
pid='13014'>
<txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_2_seq_90.289.728688311
</txt>
</msg>
<msg time='2010-09-02T21:32:10.314+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
pid='13020'>
<txt>RFS[7]: Possible network disconnect with primary database
</txt>
</msg>
<msg time='2010-09-02T21:32:59.423+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
pid='13026'>
<txt>RFS[10]: Possible network disconnect with primary database
</txt>
</msg>
<msg time='2010-09-02T21:32:59.430+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
pid='13026'>
<txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_1_seq_107.288.728688311
</txt>
</msg>
<msg time='2010-09-02T21:33:00.664+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
pid='13519'>
<txt>Fetching gap sequence in thread 1, gap sequence 107-122
</txt>
</msg>
<msg time='2010-09-02T21:33:45.941+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
pid='13012'>
<txt>RFS[3]: Possible network disconnect with primary database
</txt>
</msg>
<msg time='2010-09-02T21:33:45.947+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
pid='13012'>
<txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_2_seq_89.301.728688311
</txt>
</msg>
From primary database,
Code: [Select all] [Show/ hide]
<msg time='2010-09-02T21:34:23.966+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9533'>
<txt>Reclaiming FAL entry from dead process [pid 5732]
</txt>
</msg>
<msg time='2010-09-02T21:34:23.976+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9519'>
<txt>Reclaiming FAL entry from dead process [pid 5720]
</txt>
</msg>
<msg time='2010-09-02T21:34:23.992+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9511'>
<txt>Reclaiming FAL entry from dead process [pid 5734]
</txt>
</msg>
<msg time='2010-09-02T21:34:23.999+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9523'>
<txt>Reclaiming FAL entry from dead process [pid 5724]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.002+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9513'>
<txt>Reclaiming FAL entry from dead process [pid 5730]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.011+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9517'>
<txt>Reclaiming FAL entry from dead process [pid 5728]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.013+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9509'>
<txt>Reclaiming FAL entry from dead process [pid 5738]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.014+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9531'>
<txt>Reclaiming FAL entry from dead process [pid 5740]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.031+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9529'>
<txt>Reclaiming FAL entry from dead process [pid 5742]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.048+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9539'>
<txt>Reclaiming FAL entry from dead process [pid 5746]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.058+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9547'>
<txt>Reclaiming FAL entry from dead process [pid 5750]
</txt>
</msg>
<msg time='2010-09-02T21:34:24.768+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='5697'>
<txt>ARCt: Archival started
</txt>
</msg>
<msg time='2010-09-02T21:34:24.768+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='5697'>
<txt>ARC3: STARTING ARCH PROCESSES COMPLETE
</txt>
</msg>
<msg time='2010-09-02T21:34:25.798+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='5744'>
<txt>ARCq: Standby redo logfile selected for thread 1 sequence 122 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:25.815+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='5695'>
<txt>ARC2: Standby redo logfile selected for thread 2 sequence 88 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:26.535+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9515'>
<txt>ARCd: Standby redo logfile selected for thread 1 sequence 110 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:27.174+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9529'>
<txt>ARCk: Standby redo logfile selected for thread 1 sequence 120 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:27.402+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9533'>
<txt>ARCm: Standby redo logfile selected for thread 1 sequence 112 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:27.498+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9511'>
<txt>ARCb: Standby redo logfile selected for thread 1 sequence 114 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:28.205+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9527'>
<txt>ARCj: Standby redo logfile selected for thread 1 sequence 111 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>
<msg time='2010-09-02T21:34:28.592+06:00' org_id='oracle' comp_id='rdbms'
client_id='' type='UNKNOWN' level='16'
host_id='DC-DB-01' host_addr='192.168.100.101' module=''
pid='9531'>
<txt>ARCl: Standby redo logfile selected for thread 1 sequence 119 for destination LOG_ARCHIVE_DEST_2
</txt>
</msg>Hi,
I am currently facing the same issue with same set of errors from primary and standby.
Mine is a 11gR2 2 node RAC on RHEL5 with a single node standby.
However in my case, whenever i switch a logfile on the primary database, only 17 MB or less is being shipped per archive where size of redo log is 500 mb.
Any help would be really appreciated.
Thanks,
Rahul Singh. -
Good Morning to all ;
I am getting bit confused from oracle official link . REF_LINK : Log Apply Services
Redo data transmitted from the primary database is received by the RFS on the standby system ,
where the RFS process writes the redo data to either archived redo log files or standby redo log files.
In standby site , does rfs write redo data in any one file or both ?
Thanks in advance ..Hi GTS,
GTS (DBA) wrote:
Primary & standby log file size should be same - this is okay.
1) what are trying to disclose about largest & smallest here ? - You are confusing.
Read: http://docs.oracle.com/cd/E11882_01/server.112/e25608/log_transport.htm#SBYDB4752
"Each standby redo log file must be at least as large as the largest redo log file in the redo log of the redo source database. For administrative ease, Oracle recommends that all redo log files in the redo log at the redo source database and the standby redo log at a redo transport destination be of the same size."
GTS (DBA) wrote:
2) what abt group members ? should be same as primary or need to add some members additionally. ?
Data Guard best practice for performance, is to create one member per each group in standby DB. on standby DB, one member per group is reasonable enough. why? to avoid write penalty; writing to more than one log files at the standby DB.
SCENARIO 1: if in your source primary DB you have 2 log member per group, in standby DB you can have 1 member per group, additionally create an extra group.
primary
standby
Member per group
2
1
Number of log group
4
5
SCENARIO 2: you can also have this scenario 2 but i will not encourage it
primary
standby
Member per group
2
2
Number of log group
4
5
GTS (DBA) wrote:
All standby redo logs of the correct size have not yet been archived.
- at this situation , can we force on standby site ? any possibilities ?
you can not force it , just size your standby redo files correctly and make sure you don not have network failure that will cause redo gap.
hope there is clarity now
Tobi -
Require 9i Primary and Standby redo logs files same size?
Hi,
We have 9.2.0.6 Oracle RAC (2 node) and configured data guard (physical standby).
I want to increase redo log files size, but i can't this do same time primary and standby side.
Is there a rule, primary and standby database instances have same size redo log files?
If I increase only primary redo log files, is there any side effect? However I try this issue on test system. I increased all primary redo log files(if status='INACTIVE' drop redo log group and add redo log group, switch logfile,...)
, but i couldn't changed standby side. So the system is work well. Is this correct solution or not? How can i increase both sides redo log files?
Thank you for helps..Thank you for your helps.. I found this issue answer:
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14239/manage_ps.htm#i1010448
Consequently, when you add or drop an online redo log file at the primary site, it is important that you synchronize the changes in the standby database by following these steps:
If Redo Apply is running, you must cancel Redo Apply before you can change the log files.
If the STANDBY_FILE_MANAGEMENT initialization parameter is set to AUTO, change the value to MANUAL.
Add or drop an online redo log file:
To add an online redo log file, use a SQL statement such as this:
SQL> ALTER DATABASE ADD LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log' SIZE 100M;
To drop an online redo log file, use a SQL statement such as this:
SQL> ALTER DATABASE DROP LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log';
Repeat the statement you used in Step 3 on each standby database.
Restore the STANDBY_FILE_MANAGEMENT initialization parameter and the Redo Apply options to their original states.
bye.. -
The file structure online redo log, archived redo log and standby redo log
I have read some Oracle documentation for file structure and settings in Data Guard environment. But I still have some doubts. What is the best file structure or settings in Oracle 10.2.0.4 on UNIX for a data guard environment with 4 primary databases and 4 physical standby databases. Based on Oracle documents, there are 3 redo logs. They are: online redo logs, archived redo logs and standby redo logs. The basic settings are:
1. Online redo logs --- This redo log must be on Primary database and logical standby database. But it is not necessary to be on physical standby database because physical standby is not open. It doesn't generate redo log. However, if don't set up online redo log on physical standby, when primary failover and switch standby as primary. How can standby perform without online redo logs? In my standby databases, online redo logs have been set up.
2. Archived redo logs --- It is obviously that primary database, logical and physical standby database all need to have this log file being set up. Primary use it to archive log files and ship to standby. Standby use it to receive data from archived log and apply to database.
3. Standby redo logs --- In the document, it says A standby redo log is similar to an online redo log, except that a standby redo log is used to store redo data received from another database. A standby redo log is required if you want to implement: The maximum protection and maximum availability levels of data protection and Real-time apply as well as Cascaded destinations. So it seems that this standby redo log only should be set up on standby database, not on primary database. Am my understanding correct? Because I review current redo log settings on my environment, I have found that Standby redo log directory and files have been set up on both primary and standby databases. I would like to get more information and education from experts. What is the best setting or structure on primary and standby database?FZheng:
Thanks for your input. It is clear that we need 3 type of redo logs on both databases. You answer my question.
But I have another one. In oracle ducument, it says If you have configured a standby redo log on one or more standby databases in the configuration, ensure the size of the current standby redo log file on each standby database exactly matches the size of the current online redo log file on the primary database. It says: At log switch time, if there are no available standby redo log files that match the size of the new current online redo log file on the primary database. The primary database will shut down
My current one data gurard envirnment setting is: On primary DB, online redo log group size is 512M and standby redo log group size is 500M. On the standby DB, online redo log group size is 500M and standby redo log group size is 750M.
This was setup by someone I don't know. Is this setting OK? or I should change Standby Redo Log on standby DB to 512M to exactly meatch with redo log size on primary?
Edited by: 853153 on Jun 22, 2011 9:42 AM -
DB version: 11.2
OS : AIX 6.1
We have a 2 node RAC. We have one Disk group for all datafiles, tempfiles, redo logs,..etc.
Currenly in our primary DB, Redo logs look like
SQL> SELECT a.group#, b.thread#, a.member, b.bytes
FROM v$logfile a, v$log b WHERE a.group# = b.group#
order by a.group# , b.thread# 2 3 ;
GROUP# THREAD# MEMBER BYTES
1 1 +ORCL_DG/orcl/orcl_log01.dbf 104857600
2 1 +ORCL_DG/orcl/orcl_log02.dbf 104857600
3 1 +ORCL_DG/orcl/orcl_log03.dbf 104857600
4 2 +ORCL_DG/orcl/orcl_log04.dbf 104857600
5 2 +ORCL_DG/orcl/orcl_log05.dbf 104857600
6 2 +ORCL_DG/orcl/orcl_log06.dbf 104857600
6 rows selected.
1 member per group
3 group per instanceWe need to create a physical standby DB for the above DB with Real Time apply. For standby Redo logs, I need one extra log file for each Instance.
So, I am going to add
group# 7 for thread 1
and
group# 8 for thread 2
Finally , SRLs will look like
GROUP# THREAD# MEMBER BYTES
1 1 +ORCL_DG/orcl/orcl_log01.dbf 104857600
2 1 +ORCL_DG/orcl/orcl_log02.dbf 104857600
3 1 +ORCL_DG/orcl/orcl_log03.dbf 104857600
7 1 +ORCL_DG/orcl/orcl_log07.dbf 104857600 -------> Additional
4 2 +ORCL_DG/orcl/orcl_log04.dbf 104857600
5 2 +ORCL_DG/orcl/orcl_log05.dbf 104857600
6 2 +ORCL_DG/orcl/orcl_log06.dbf 104857600
8 2 +ORCL_DG/orcl/orcl_log08.dbf 104857600 -------> AdditionalAnything wrong with my proposed SRL creation ?JOE_humble wrote:
DB version: 11.2
OS : AIX 6.1
We have a 2 node RAC. We have one Disk group for all datafiles, tempfiles, redo logs,..etc.
Currenly in our primary DB, Redo logs look like
SQL> SELECT a.group#, b.thread#, a.member, b.bytes
FROM v$logfile a, v$log b WHERE a.group# = b.group#
order by a.group# , b.thread# 2 3 ;
GROUP# THREAD# MEMBER BYTES
1 1 +ORCL_DG/orcl/orcl_log01.dbf 104857600
2 1 +ORCL_DG/orcl/orcl_log02.dbf 104857600
3 1 +ORCL_DG/orcl/orcl_log03.dbf 104857600
4 2 +ORCL_DG/orcl/orcl_log04.dbf 104857600
5 2 +ORCL_DG/orcl/orcl_log05.dbf 104857600
6 2 +ORCL_DG/orcl/orcl_log06.dbf 104857600
6 rows selected.
1 member per group
3 group per instanceWe need to create a physical standby DB for the above DB with Real Time apply. For standby Redo logs, I need one extra log file for each Instance.
So, I am going to add
group# 7 for thread 1
and
group# 8 for thread 2
Finally , SRLs will look like
GROUP# THREAD# MEMBER BYTES
1 1 +ORCL_DG/orcl/orcl_log01.dbf 104857600
2 1 +ORCL_DG/orcl/orcl_log02.dbf 104857600
3 1 +ORCL_DG/orcl/orcl_log03.dbf 104857600
7 1 +ORCL_DG/orcl/orcl_log07.dbf 104857600 -------> Additional
4 2 +ORCL_DG/orcl/orcl_log04.dbf 104857600
5 2 +ORCL_DG/orcl/orcl_log05.dbf 104857600
6 2 +ORCL_DG/orcl/orcl_log06.dbf 104857600
8 2 +ORCL_DG/orcl/orcl_log08.dbf 104857600 -------> AdditionalAnything wrong with my proposed SRL creation ?You have to create equal numbers & equal or greater size of standby redo log files than Online redo log files.
Refer http://www.pythian.com/news/581/oracle-standby-redo-logs/ to configure standby redo log files. -
In what situation, standby redo logs are mandatory.
I have the below settings and my DATA GAURD setup (10.2.0.3) is working fine without Stdby redo logs.
Just wondering when do i need standby redo logs.
SQL> show parameter log_Archive_dest_2
NAME TYPE VALUE
log_archive_dest_2 string SERVICE=TO_STANDBY LGWR ASYNC
AFFIRM DB_UNIQUE_NAME=stand
SQL> select protection_mode from v$database;
PROTECTION_MODE
MAXIMUM PERFORMANCE888442 wrote:
In what situation, standby redo logs are mandatory.
I have the below settings and my DATA GAURD setup (10.2.0.3) is working fine without Stdby redo logs.
Just wondering when do i need standby redo logs.
SQL> show parameter log_Archive_dest_2
NAME TYPE VALUE
log_archive_dest_2 string SERVICE=TO_STANDBY LGWR ASYNC AFFIRM DB_UNIQUE_NAME=stand
SQL> select protection_mode from v$database;
PROTECTION_MODE
MAXIMUM PERFORMANCEHi,
Standby Redo Logs (SRL) require when you are using MAX AVAILABILITY and MAX PROTECTIN protection modes. So SRL using for Real Time Apply.
In your case (Max Performance) if you want real time apply on standby you must add SRLs to standby database.
Best practice we adding standby redo logs to primary and standby database same time, but when database role is standby then using SRLs.
You can ask, why also to primary? Because we can switchover to standby, then priamry role will change to standby, then will use SRLs.
Regards
Mahir M. Quluzade -
Standby redo log group for particular thread
hi masters,
actually i am performing an experiment to create physical standbyt database on the same machine as my primary database.
i ma going according to 'data guard admin guide'. while section for ading standby redo log group,it says that you have to add standby redo log group to "thread"....
what is this thread? and how can i foind to which thread i have to assign the next redo log group??
how can i find current thread??
what if i dont add "to thread' clause in my statement:-
ALTER DATABASE ADD STANDBY LOGFILE THREAD 5
2> ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;
thanks and regards
VDVikrant,
First a question: Do you have a RAC instance? If so the paragraph even doesn't apply to you and I'm not sure why you are questioning it.
Secondly
"The THREAD clause is required only if you want to add one or more standby redo log
file groups to a specific primary database thread. If you do not include the THREAD
clause and the configuration uses Real Application Clusters (RAC), Data Guard will
automatically assign standby redo log file groups to threads at runtime as they are
needed by the various RAC instances."
this means you dont have to specify thread for RAC,as it will allocate one according to current thread.
Your conclusion is incorrect.
Where do you read the word 'current'?
Oracle will likely simply make sure each instance has sufficient standby redolog groups, the requirement is 1 standby redolog group per group + 1 extra.
Sybrand Bakker
Senior Oracle DBA -
Standby Redo Log just sits as IN-MEMORY
Hi, I have shipped an archived redo log from my Primary to my physical standby.
I can see the log arriving at my Standby and being applied
select thread#, max(sequence#) "Last Standby Seq Received"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
group by thread# order by 1;
returns
THREAD# Last Standby Seq Received
1 151
select thread#, max(sequence#) "Last Standby Seq Applied"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
and applied='YES'
group by thread# order by 1;
THREAD# Last Standby Seq Applied
1 150
select stamp,name,applied
from v$archived_log
where applied != 'YES'
STAMP
NAME
APPLIED
827498375
/home/app/oracle/fast_recovery_area/STANDBYL/archivelog/2013_09_30/o1_mf_1_151_9
4lrqpj3_.arc
IN-MEMORY
This log continually sits like this
I know that Redo Appply is active
select * from v$managed_standby where process = 'MRP0';
PROCESS PID STATUS CLIENT_P
CLIENT_PID
CLIENT_DBID
GROUP# RESETLOG_ID THREAD# SEQUENCE#
BLOCK# BLOCKS DELAY_MINS KNOWN_AGENTS ACTIVE_AGENTS
MRP0 3068 APPLYING_LOG N/A
N/A
N/A
N/A 820252586 1 152
5038 102400 0 3 3
It looks as if 151 has been applied - yet
select thread#, max(sequence#) "Last Standby Seq Applied"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
and applied='YES'
group by thread# order by 1;
still shows 150 !
151 is not that big, I still would have expected it to have applied by now ( in excess of 30 mins )
Also I know there is no defer or time delay on the archive_destination setting on the Primary.
Any ideas why this standby redo log just sits IN-MEMORY ?
thanks,
JimHello;
Not able to reproduce issue. Using Oracle 11.2.0.3 without Real-time apply.
select thread#, max(sequence#) "Last Standby Seq Received"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
group by thread# order by 1;
THREAD# Last Standby Seq Received
1 194
select thread#, max(sequence#) "Last Standby Seq Applied"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
and applied='YES'
group by thread# order by 1;
THREAD# Last Standby Seq Applied
1 194
select thread#, max(sequence#) "Last Standby Seq Applied"
from v$archived_log val, v$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
And Applied='YES'
group by thread# order by 1;
THREAD# Last Standby Seq Applied
1 194
SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# "Last Sequence Applied"
FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE
Arch.Thread# = Appl.Thread#
ORDER BY 1;
Thread Last Sequence Received Last Sequence Applied
1 194 194
select * from v$managed_standby where process = 'MRP0';
( shows the next sequence 195 on mine )
Is it possible the Standby has one extra archive? I've noticed that sometime you will see one extra on that side which appears to have nothing to do with the Data Guard process.
Best Regards
mseberg -
What is the purpose of standby redo log files
Hi,
What is the purpose of the standby redo log files in DR?
what if the standby redo log files are created? or else not created?
Please explain
Thanks3.1.3 Configure a Standby Redo LogA standby redo log is required for the maximum protection and maximum availability modes and the LGWR ASYNC transport mode is recommended for all databases. Data Guard can recover and apply more redo data from a standby redo log than from archived redo log files alone.
You should plan the standby redo log configuration and create all required log groups and group members when you create the standby database. For increased availability, consider multiplexing the standby redo log files, similar to the way that online redo log files are multiplexed.>
Reference http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i1225703
HTH
Anand -
Dataguard lost both Primary redo log and standby redo log files
Hi,
I am new to data guard, i came acorss a scenario where we loose both primary redo log file and standby redo log files.
Can someone please help me understand how to recover from this situation.
Thanks!>loose both primary redo log file and standby redo log files
We have to be very clear.
There are (set A) online redo log files and (set B) standby redo log files at (location 1) Primary and (location 2) Standby.
The standby redo log files, depending on the configuration, aren't strictly mandatory. The standby can be applying redo without online redo log files present as well, depending on how it was setup.
So, the question is : Did you lose online redo log files at the primary ? Didn't the primary shutdown itself then ? If so, you have to do an incomplete recovery at the primary OR switch over to the standby (which may or may not have received the last transaction, depending on how it was configured and operating) OR restore from the standby (again, with possible loss of transactions) to the primary.
Hemant K Chitale -
Use of standby redo log files in primary database
Hi All,
What is the exact use of setting up standby redo log files in the primary database on a data guard setup?
any good documents?A standby redo log is required for the maximum protection and maximum availability modes and the LGWR ASYNC transport mode is recommended for all databases. Data Guard can recover and apply more redo data from a standby redo log than from archived redo log files alone.
You should plan the standby redo log configuration and create all required log groups and group members when you create the standby database. For increased availability, consider multiplexing the standby redo log files, similar to the way that online redo log files are multiplexed.
refer the link,and Perform the following steps to configure the standby redo log.:-
http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i1225703
If the real-time apply feature is enabled, log apply services can apply redo data as it is received, without waiting for the current standby redo log file to be archived. This results in faster switchover and failover times because the standby redo log files have been applied already to the standby database by the time the failover or switchover begins.
refer the link
http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/log_apply.htm#i1023371 -
Standby Redo Log Files ?
Hi Everyone,
Today after reading two different sources for Standby Protection Modes i found myself puzzled and stuck. One of the article from Burleson.com says 'Oracle supports the standby redo logs on a logical standby database and can now be configured in maximum data protection modes such as MAXIMUM PROTECTION ...'
On the other hand on some of the blogs and other resources to read, i found it something opposite to what Burleson Consulting posted on their website.
[http://4.bp.blogspot.com/-t0G_-xc8EAs/Tpvx9w2t8oI/AAAAAAAAAN4/Jw3U9s89Wtk/s1600/final.JPG|http://4.bp.blogspot.com/-t0G_-xc8EAs/Tpvx9w2t8oI/AAAAAAAAAN4/Jw3U9s89Wtk/s1600/final.JPG]
or
Blog from Jeff Hunter
[http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_3.shtml|http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_3.shtml]
Minimum Requirements for Data Protection Modes
Maximum Protection Maximum Availability Maximum Performance
Redo Archival Process LGWR LGWR LGWR or ARCH
Network Transmission Mode SYNC SYNC ASYNC when using LGWR process. Not applicable when using ARCH process.
Disk Write Option AFFIRM AFFIRM NOAFFIRM
Standby Redo Logs Required? Yes Required for physical standby databases only (Standby redo logs are not supported for logical standby databases.) Required for physical standby databases using the LGWR process.
Database Type Physical only Physical and Logical Physical and Logical
Please help me to find true between the two.
Or please provide any doc to read.
Thanks
Prashant DixitMaximum Protection Maximum Availability Maximum PerformanceDepends on Business requirement, By default Performance[most of the clients]
Redo Archival Process ? ? ?LGWR recommended in Max performance
Network Transmission Mode ? ? ?Depends. If max performance asynchronous
Disk Write Option ? ? ?Not clear
Standby Redo Logs Required? ? ? ?If real time apply - YES
Database Type ? ? ?not clear,
Assuming physical or logical? --Depends on requirement , Preferably Physical. -
Resuming the REDO APPLY : 10g and 11g Differences
Versions > 10.2, 11.2
OS > Solaris
I have a question on step4 below.
Both in 10g and 11g versions, for a Physical Standby DB, you
Step1.
Mount the DB using
startup nomount;
alter database mount ;Step2. Start the REDO Apply using
alter database recover managed standby database disconnect from session;Step3. Open the standby DB using
recover managed standby database cancel; -- stop the redo apply
alter database open ;
Step4. Resuming the REDO APPLY
alter database recover managed standby database using current logfile disconnect ;At this point (after step4 ), for 10.2 version, the standby DB goes back to mount mode , but the 11.2 DB remains open for READ ONLY queries because of ACTIVE DATAGUARD feature. Am I right ?Yes, you are right.
In 10g, there is no option of active dataguard (redo applying is not possible when the database is opened). Redo applying is possible only when the standby database is in mount stage. When the database is opened in read only mode, the archive applying is not possible. In order to run queries on database tables, in a physical standby database, one had to stop the log apply and open the database in read-only mode. This means that the log files are being queued up during that period and will have to be applied once the database is reverted to the managed recovery mode.
In 11g, this is not the case. It allows users to have read-only access to the physical standby databases. This option gives customers the flexibility to run queries to the physical standby database, while the log shipping and apply continues its work.The archive applying can be done even when the database is opened in read only mode. This option is known as Active Dataguard (Oracle High Availability). For this, the steps you have mentioned are perfect. This is the advantage in 11g.
Maybe you are looking for
-
How do you sync the wireless keyboard with the Ipad? It doesn't ever find
How do you sync the wireless keyboard to the Ipad
-
Having trouble updating my 4th gen iPod touch to iOS 6
I have a 4th generation iPod touch which is currently running iOS 4.3.2. It is not jailbroken, it is registered to me, and there is to my knowledge nothing wrong with it. I installed the latest version of iTunes on my girlfriend's computer because I
-
Hi There, I am trying to import ESS600 sca into my Development system. The import ran for about 45 minutes and kicked me out of the browser with the following error ( Pl see Below ). And ever since then I can not loginto either CMS or CBS to check th
-
Hi, I am doing POC on Email Activity using Jdeveloper 11.1.1.7.0. I have created Synchronous Project and used Email Activity. Details: Email Activity: When we dragged out this Activity from Oracle Extensions Palette by default two Activities generate
-
Checking Records in multiple screens using module pool programming
Hi, I created student registration form using module pool programming.In first SCREEN i designed like the Below. Name: <INPUT/OUTPUT Field> Emailid: <INPUT/OUTPUT Field> Password:<INPUT/OUTPUT Field> C