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

發表於2011-06-24
Usage, Benefits and Limitations of Standby Redo Logs (SRL) [ID 219344.1]
 
PURPOSE ------- This document shows the usage, benefit sand limitations for an Oracle 9i/10g 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 (9.x-11.x). 1. Standby Redo Logs - what are they and when to use them ?? ------------------------------------------------------------- Starting Oracle 9i you have to opportunity to add Standby Rodo 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. Standby Redo Logs are only supported for the Physical Standby Database in Oracle 9i and as well for Logical Standby Databases in 10g. Standby Redo Logs are only used if you have the LGWR activated for archival to the Remote Standby Database. The great Advantage of Standby Redo Logs is that every Entry written into the Online RedoLogs of the Primary Database is transfered to the Standby Site and written into the Standby Redo Logs at the same time; threfore, 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 Strandby 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:\ORACLE\ORADATA\STANDBY\REDO01.LOG 2 ONLINE C:\ORACLE\ORADATA\STANDBY\REDO02.LOG 3 ONLINE C:\ORACLE\ORADATA\STANDBY\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 group 4 2 ('C:\ORACLE\ORADATA\STANDBY\STBY04.LOG') SIZE 5M; You can also add any further members to each group: SQL> alter database add standby logfile member 2 'C:\ORACLE\ORADATA\STANDBY\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. 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 applied to 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. 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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-764985/,如需轉載,請註明出處,否則將追究法律責任。

相關文章