暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Usage, Benefits and Limitations of Standby Redo Logs (SRL) (Doc ID 219344.1)

夏天 2025-01-18
51

** checked for relevance '7-Jul-2015' **


PURPOSE

-------


This document shows the usage, benefit sand limitations for an Oracle 9i/10g/11g/12c

Data Guard Configuration with Standby Redo Logs.



SCOPE & APPLICATION

-------------------


All DBA's and Interested persons who wish to implement Data Guard in Oracle 9i/10g/11g/12c (9.x-12.x).



1. Standby Redo Logs - what are they and when to use them ??

-------------------------------------------------------------


Starting Oracle 9i you have to opportunity to add Standby Redo Log Groups to your Online Redo Log Groups.

These Standby Redo Logs then store the information received from the Primary Database.

In case of a Failover situation, you will have less data loss than without Standby Redo Logs.


In Oracle 9i only Physical standby support SRL but from 10g onwards both Physical and Logical standby supports SRL.


The great Advantage of Standby Redo Logs is that every Entry written into the Online RedoLogs of the Primary Database

is transferred to the Standby Site and written into the Standby Redo Logs at the same time; therefore, you reduce the

probability of Data Loss on the Standby Database.


Starting with 10g it is possible to start Real-Time Apply with Physical and Logical Standby Databases. With Real-Time Apply,

the Redo is applied to the Standby Database from the Standby RedoLog instead of waiting until an Archive Log is created.

So Standby Redo Logs are required for Real-Time Apply.



2. How Do I create Standby Redo Logs ??

------------------------------------------------------------


Standby Redo Logs are additional Redo Log Groups. If you were to query the V$LOGFILE view on the Standby Database,

the output would typically look something like this:


SQL> select * from v$logfile;


GROUP# STATUS TYPE MEMBER

------ ------- ------- ------------------------------------

1 ONLINE C:<path>\REDO01.LOG

2 ONLINE C:\<path>\REDO02.LOG

3 ONLINE C:\<path>\REDO03.LOG


Before you add the Standby Redo Logs to your Standby Database, verify the number of maximum Logfile Groups and Logfile Members.


If you don't remember these values, you can look at the CREATE CONTROLFILE script.


To get such a script, run the following command:


SQL> alter database backup controlfile to trace;


This will create a *.TRC-file in your UDUMP Directory. When you edit or view this newly created file, you will find a script to recreate the Controlfile.


Notice the following relevant entries:


MAXLOGFILES 8

MAXLOGMEMBERS 3


In this example you can create a maximum of eight (8) Logfile groups. Each group can contain a maximum of three (3) Members.


Now we can add Standby Redo Log files to the Standby Database (of course, the Standby Database must be in the MOUNT State):


SQL> alter database add standby logfile Thread 1 group 4 ('C:\<path>\STBY04.LOG') SIZE 5M;

Note: If you are RAC, you need to add minimum 4 Standby Redo log groups per Thread:

SQL> alter database add standby logfile Thread 1 group 4 ('C:\<path>\STBY04.LOG') SIZE 5M;

SQL> alter database add standby logfile Thread 2 group 5 ('C:\<path>\STBY05.LOG') SIZE 5M;

.

.


You can also add any further members to each group:


SQL> alter database add standby logfile member 'C:\<path>\STBY14.LOG' to group 4;


Please keep in mind that if the RFS process is able to write into a Standby Redo Log, the filesize of the Standby Redo Log MUST be equal to the

current Online Redo Log of the Primary Database!!


3. Limitations to Standby Redo Logs

----------------------------------------------


In a Oracle 9i/10g Data Guard Environment, the RFS Process on the Standby Database receives the Data

from the Primary and writes it to Disk (either Standby Redo Logs or Archived Redo Logs).


If you consider using Standby Redo Logs, you must make certain that they are the same size as the Online Redo Logs.

If you have different sizes of Online Redo Logs, you have to create corresponding Standby Redo Logs. The RFS process

won't attach Standby Redo Logs if they are different from the Online Redo Log.It is recommended to have at least one more

of Standby Redo Log Group as you have of Online Redo Log Groups per Thread and Size..


Standby Redo Logs are filled with the same information that is written to the Online Redo Logs of the Primary Database.

Therefore, only the LGWR can provide this information to the Standby RFS process, so Standby Redo Logs will only

benefit if you set LGWR as the Transmitter on the Primary Database in the LOG_ARCHIVE_DEST_n Initialization Parameter.

Starting with 10.2.0, even the ARCH is able to write into Standby RedoLogs.


The RFS-Process always tries to allocate the next available Standby RedoLog, so it is possible that you encounter a Switch

between only two Standby RedoLogs,although you created lots more of them. There's no rota defined here like in

Online RedoLogs. This is reported in Bug 2722195.


NOTE : Starting with 10.2.0, even the ARCH is able to write into Standby RedoLogs.


4. Differents in the Log Apply Services when using Standby Redo Logs

--------------------------------------------------------------------


In case you do not have Standby Redo Logs, an Archived Redo Log is created by the RFS process and when it has completed,

this Archived Redo Log is appliedto the Standby Database by the MRP (Managed Recovery Process) or the Logical

Apply in Oracle 10g when using Logical Standby. An open (not fully written) ArchiveLog file cannot be applied on the

Standby Database and will not be used in a Failover situation. This causes a certain data loss.


If you have Standby Redo Logs, the RFS process will write into the Standby Redo Log as mentioned above and when a

log switch occurs, the Archiver Process of the Standby Database will archive this Standby Redo Log to an Archived Redo Log,

while the MRP process applies the information to the Standby Database. In a Failover situation, you will also have access to the

information already written in the Standby Redo Logs, so the information will not be lost.


Starting with Oracle 10g you have also the Option to use Real-Time Apply with Physical and Logical Standby Apply.

When using Real-Time Apply we directly apply Redo Data from Standby RedoLogs. Real-Time Apply is also not able to apply Redo

from partial filled ArchiveLogs if there are no Standby RedoLogs. So Standby RedoLogs are mandatory for Real-Time Apply.


NOTE : In 12c DEFAULT MRP will go to REAL TIME APPLY mode.


Default Standby recovery in REAL time apply.

SQL>alter database recover managed standby database disconnect;


To Start MRP in non real time apply mode use,(in 12c)

SQL>alter database recover managed standby database using archived logfile disconnect;


5. Standby RedoLogs and the Data Guard Broker

---------------------------------------------


If there is an active Data Guard Broker Configuration on this Data Guard Environment the following Error can be raised

in the Data Guard Broker Configuration if the setup Transport Method (LogXptMode) is 'SYNC' or 'ASYNC'

and there are no Standby RedoLogs configured:


Warning: ORA-16809: multiple warnings detected for the database


In the corresponding DRC.LOG-Files and the Database Status you can find:


ORA-16789: standby redo logs not configured


-> So please add corresponding Standby RedoLogs to the Standby Database.

As per default the Data Guard Broker tries to start Log Apply Services in Real-Time Apply Mode which is not possible without Standby RedoLogs.

Note that starting with Oracle 11g ARCH Log Transport Method is deprecated.



RELATED DOCUMENTS

-----------------


Oracle9i Data Guard Concepts and Administration

Oracle10g Data Guard Concepts and Administration

Oracle11g Data Guard Concepts and Administration

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论