Why do we need standby redo log on Primary database.
Hi Gurus,
I was going through the document in OBE,
http://www.oracle.com/technology/obe/11gr1_db/ha/dataguard/physstby/physstdby.htm
I have two queries:
1) I noticed the statement -
"Configure the primary database to receive redo data, by adding the standby logfiles to the primary. "
Why do we have to create standby redo log on a primary database?
2) There is another statement --
"It is highly recommended that you have one more standby redo log group than you have online redo log groups as the primary database. The files must be the same size or larger than the primary database’s online redo logs. "
Why do we need one additional standby redo log group than in Primary database.
Could anyone please explain to me in simple words.
Thanks
Cherrish Vaidiyan
Hi,
1. Standby redo logs are used only when the database_role is standby, it is recommended to be added in primary also so that they can be used on role reversal, however during normal working standby redo logs will not be used at all on primary.
2. In case of 3 online redo log groups, it is recommended to use 4 standby redo log group this is in case if log switching is happening frequently on primary and all 3 standby redo logs are still not completely archived on the standby and 4th can be used here as there will be some delay on standby due to network or slowness of arch on standby.
Use of the standby redo log groups depends on the redo generation rate, you can see only 2 standby redo logs are getting used while you have 4 standby redo log groups, when the redo generation rate is less.
So it is recommended to have one more standby redo log group when redo generation rate is high and all of the existing standby redo log group are getting used.
Regards
Anudeep
Similar Messages
-
Delete standby redo log from primary database
Hi all,
I'm trying to drop standby logfiles on primary database (other database that I'm configuring the DG).
The members of the standby log groups don't exists on file system.
Somebody have deleted these files. Its old configuration where the files were in file system. Now they are in ASM.
When I try to drop the standby logfiles I got the following error:
SQL> alter database clear logfile group 7;
alter database clear logfile group 7
ERROR at line 1:
ORA-19528: redo logs being cleared may need access to files
SQL> select * from v$logfile order by 1;
GROUP# STATUS TYPE MEMBER IS_
1 ONLINE +REDO1/proj/onlinelog/group_1.256.340558657 NO
1 ONLINE +REDO2/proj/onlinelog/group_1.256.340558659 NO
2 ONLINE +REDO1/proj/onlinelog/group_2.257.340558879 NO
2 ONLINE +REDO2/proj/onlinelog/group_2.259.340558879 NO
3 ONLINE +REDO1/proj/onlinelog/group_3.258.340558707 NO
3 ONLINE +REDO2/proj/onlinelog/group_3.257.340558709 NO
4 ONLINE +REDO2/proj/onlinelog/group_4.258.340558713 NO
4 ONLINE +REDO1/proj/onlinelog/group_4.259.340558711 NO
5 ONLINE +REDO2/proj/onlinelog/group_5.260.340558965 NO
5 ONLINE +REDO1/proj/onlinelog/group_5.260.340558963 NO
6 ONLINE +REDO1/proj/onlinelog/group_6.261.340558967 NO
6 ONLINE +REDO2/proj/onlinelog/group_6.261.340558967 NO
7 STANDBY /oracle/proj/onlinelog2/redo_702.log NO
7 STANDBY /oracle/proj/onlinelog1/redo_701.log NO
8 STANDBY /oracle/proj/onlinelog2/redo_802.log NO
8 STANDBY /oracle/proj/onlinelog1/redo_801.log NO
9 STANDBY /oracle/proj/onlinelog2/redo_902.log NO
9 STANDBY /oracle/proj/onlinelog1/redo_901.log NO
10 STANDBY /oracle/proj/onlinelog1/redo_1001.log NO
10 STANDBY /oracle/proj/onlinelog2/redo_1002.log NO
20 rows selected.
SQL> select * from v$standby_log order by 1;
GROUP# DBID THREAD# SEQUENCE# BYTES USED ARC STATUS FIRST_CHANGE# FIRST_TIM LAST_CHANGE# LAST_TIME
7 UNASSIGNED 0 0 104854601 512 YES UNASSIGNED 0 0
8 UNASSIGNED 0 0 104854601 512 YES UNASSIGNED 0 0
9 UNASSIGNED 0 0 104854601 512 YES UNASSIGNED 0 0
10 UNASSIGNED 0 0 104854601 512 YES UNASSIGNED 0 0What can I do to drop these reference?
Any other solution instead of edit the controlfile and stop/start tghe database?
thank you!!!!Hello;
Well Oracle thinks the files are there, but I remember a bug on metalink where the controlfile still had them, but they were not on the file system. Can you confirm they exist?
Meanwhile I check my notes for the Oracle doc nunber.
Bug 6128242: TRYING TO DROP STANDBY LOG FAILS WITH ORA-19528
So if you are Oracle 10 this might be the issue.
workaround is to re-create the controlfile without the incorrect logfile. ( Yuk!! )
ORA-01156 When Adding Or Dropping Redo Logs [ID 452152.1]
Best Regards
mseberg
Edited by: mseberg on Oct 31, 2011 5:09 PM -
When is anything written to standby redo logs on standby database?
I am on Oracle 10.2.0.4 on HP UNIX. I have read Oracle 10.2 concepts guide on technet.oracle.com, have read may article on metalink and internet, yet I am unable to verify when anything is written to standby redo logs on stand by database.
I have a simple database reconfiguration: a primary database and one standby database.
I created primary database and set up log_archive_dest_2 to use LGWR SYNC AFFIRM
I have created standby redo logs on primary.
alter database add standby logfile GROUP
I create standby control file on primary.
I copied all the primary information to create standby database. I have put standby database in managed recovery.
I did archive log switches, I created a table and inserted information in table.
I never saw standby redo logs updated on standby database by looking at timestamp of standby redo log files.
I then setup database in maximum availability mode by running following on primary:
Alter database set standby database to maximize availability
When I do insert into my tables, I do see standby redo log files on primary database being updated, but I have never seen standby redo logs on standby database updated. Why?
I am still at loss when actually standby redo logs are updated on standby database.
When I read Oracle 9i database documentation on data guard, it says that you do not need standby redo logs on primary instead you need them on standby. Only reason, you need them on primary is from primary changes role to standby database, so standby redo logs on standby database should be updated instead of standby redo logs on primary.What is the PROTECTION_MODE ,PROTECTION_LEVEL values of your database.
As per metalink:--
Create standby redo log files, if necessary:
Standby redo logs are necessary for the higher protection levels such as
Guaranteed, Instant, and Rapid. In these protection modes LGWR from the
Primary host writes transactions directly to the standby redo logs.
This enables no data loss solutions and reduces the amount of data loss
in the event of failure. Standby redo logs are not necessary if you are using
the delayed protection mode.
If you configure standby redo on the standby then you should also configure
standby redo logs on the primary database. Even though the standby redo logs
are not used when the database is running in the primary role, configuring
the standby redo logs on the primary database is recommended in preparation
for an eventual switchover operation.
Standby redo logs must be archived before the data can be applied to the
standby database. The standby archival operation occurs automatically, even if
the standby database is not in ARCHIVELOG mode. However, the archiver process
must be started on the standby database. Note that the use of the archiver
process (ARCn) is a requirement for selection of a standby redo log.
METALINK ID:- Doc ID: Note:219344.1
Edited by: Anand... on Sep 15, 2008 2:15 AM -
Physical standby database standby redo log problem
Hello
We have a physical standby database , I've created some standby redo log files but my problem is that they aren't used,
their status in v$stanby_log view is UNASSIGNED
and I see this message (ORA-16086: standby database does not contain available standby log files) in primary database alert_log file
while when I run "alter system switch logfile" in the primary database it transfer redo logs to the physsical standby database
and archive log file will be created in standby database
I've even recreated the standby redo log files and I added new ones to them but the problem wasn't solved
Do you know what is problem ?
elect group#,THREAD#,BYTES,STATUS from V$STANDBY_LOG;
group# THREAD# BYTES STATUS
1 0 524288000 UNASSIGNED
2 0 524288000 UNASSIGNED
3 0 524288000 UNASSIGNED
8 0 524288000 UNASSIGNED
9 0 524288000 UNASSIGNED
10 0 524288000 UNASSIGNED
select group#,THREAD#,BYTES,MEMBERS,STATUS from v$log;
group# THREAD# BYTES MEMBERS STATUS
4 1 524288000 2 CLEARING
7 1 524288000 2 CLEARING_CURRENT
6 1 524288000 2 CLEARING
5 1 524288000 2 CLEARING
thanksHello Anurag
Thank you for your reply
I have found some issue in the standby database alert_log too , in the standby database alert_log it has been written:
RFS[782]: Assigned to RFS process 3919
RFS[782]: Identified database type as 'physical standby'
Primary database is in MAXIMUM AVAILABILITY mode
Standby controlfile consistent with primary
Primary database is in MAXIMUM AVAILABILITY mode
Standby controlfile consistent with primary
RFS[782]: No standby redo logfiles selected (reason:6)
Sun Jan 31 13:59:43 2010
Errors in file /u01/app/oracle/admin/tehrep/udump/tehrep_rfs_3919.trc:
ORA-16086: standby database does not contain available standby log files
Sun Jan 31 13:59:48 2010
RFS[781]: Archived Log: '/disks/sda/tehrep/archivelogs/1_6516_670414641.dbf'
Sun Jan 31 13:59:50 2010
and the context "/u01/app/oracle/admin/tehrep/udump/tehrep_rfs_3919.trc" is below :
+/u01/app/oracle/admin/tehrep/udump/tehrep_rfs_3919.trc+
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: linserver2.com
Release: 2.6.9-42.ELsmp
Version: #1 SMP Wed Jul 12 23:27:17 EDT 2006
Machine: i686
Instance name: tehrep
Redo thread mounted by this instance: 1
Oracle process number: 58
Unix process pid: 3919, image: [email protected]
*** SERVICE NAME:() 2010-01-31 13:59:43.865
*** SESSION ID:(109.1225) 2010-01-31 13:59:43.865
KCRRFLAS
KCRRSNPS
No space in recovery area for active standby redo logs
The primary database is operating in MAXIMUM PROTECTION
or MAXIMUM AVAILABILITY mode, and the standby database
does not contain adequate disk space in the recovery area
to safely archive the contents of the standby redo logfiles.
ORA-16086: standby database does not contain available standby log files
when I saw this line "No space in recovery area for active standby redo logs" I thought that STANDBY_ARCHIVE_DEST parameter points where that there is no enough space , but when I consider I found out that points a directory on disk a "sda" that has enough space , I don't know what that means
by the way, at below I've written a section of the primary database alert_log context and "lgwr" trace file around Sun Jan 31 13:30:34 2010
alert_log :
ORA-16086: standby database does not contain available standby log files
Sun Jan 31 13:30:34 2010
LGWR: Failed to archive log 7 thread 1 sequence 6512 (16086)
Thread 1 advanced to log sequence 6512
Current log# 7 seq# 6512 mem# 0: /disks/sdb/tehrep/redo71.log
Current log# 7 seq# 6512 mem# 1: /disks/sdd/tehrep/redo72.log
LNSc started with pid=53, OS id=11451
Sun Jan 31 13:36:34 2010
Errors in file /u01/app/oracle/admin/tehrep/bdump/tehrep_lgwr_3692.trc:
ORA-16086: standby database does not contain available standby log files
Sun Jan 31 13:36:34 2010
LGWR: Failed to archive log 5 thread 1 sequence 6513 (16086)
Thread 1 advanced to log sequence 6513
Current log# 5 seq# 6513 mem# 0: /disks/sdb/tehrep/redo51.log
Current log# 5 seq# 6513 mem# 1: /disks/sdd/tehrep/redo52.log
*/u01/app/oracle/admin/tehrep/bdump/tehrep_lgwr_3692.trc file :*
Error 16086 creating standby archive log file at host '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=linserver2.com
+)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=tehrep_XPT.com)(INSTANCE_NAME=tehrep)(SERVER=dedicated)))'+
*** 2010-01-31 13:30:34.712 60679 kcrr.c
LGWR: Attempting destination LOG_ARCHIVE_DEST_3 network reconnect (16086)
*** 2010-01-31 13:30:34.712 60679 kcrr.c
LGWR: Destination LOG_ARCHIVE_DEST_3 network reconnect abandoned
ORA-16086: standby database does not contain available standby log files
*** 2010-01-31 13:30:34.712 60679 kcrr.c
LGWR: Error 16086 creating archivelog file '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=linserver2.com)(PORT=1521
+)))(CONNECT_DATA=(SERVICE_NAME=tehrep_XPT.com)(INSTANCE_NAME=tehrep)(SERVER=dedicated)))'+
*** 2010-01-31 13:30:34.712 58941 kcrr.c
kcrrfail: dest:3 err:16086 force:0 blast:1
Receiving message from LNSc
*** 2010-01-31 13:30:34.718 55444 kcrr.c
Making upidhs request to LNSc (ocis 0x0xb648db48). Begin time is <01/31/2010 13:30:30> and NET_TIMEOUT <180> seconds
NetServer pid:11196
*** 2010-01-31 13:30:38.718 55616 kcrr.c
upidhs done status 0
*** 2010-01-31 13:36:31.062
LGWR: Archivelog for thread 1 sequence 6513 will NOT be compressed
*** 2010-01-31 13:36:31.062 53681 kcrr.c
+Initializing NetServer[LNSc] for dest=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=linserver2.com)(PORT=1521)))(CO+
NNECT_DATA=(SERVICE_NAME=tehrep_XPT.com)(INSTANCE_NAME=tehrep)(SERVER=dedicated))) mode SYNC
LNSc is not running anymore.
New SYNC LNSc needs to be started
Waiting for subscriber count on LGWR-LNSc channel to go to zero
Subscriber count went to zero - time now is <01/31/2010 13:36:31>
Starting LNSc ...
Waiting for LNSc to initialize itself
*** 2010-01-31 13:36:34.116 53972 kcrr.c
+Netserver LNSc [pid 11451] for mode SYNC has been initialized+
Performing a channel reset to ignore previous responses
+Successfully started LNSc [pid 11451] for dest (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=linserver2.com)(PORT=1+
+521)))(CONNECT_DATA=(SERVICE_NAME=tehrep_XPT.com)(INSTANCE_NAME=tehrep)(SERVER=dedicated))) mode SYNC ocis=0x0xb648db48+
*** 2010-01-31 13:36:34.116 54475 kcrr.c
+Making upiahm request to LNSc [pid 11451]: Begin Time is <01/31/2010 13:36:31>. NET_TIMEOUT = <180> seconds+
Waiting for LNSc to respond to upiahm
*** 2010-01-31 13:36:34.266 54639 kcrr.c
upiahm connect done status is 0
Receiving message from LNSc
Receiving message from LNSc
Destination LOG_ARCHIVE_DEST_3 is in STANDBY RESYNCHRONIZATION mode
Receiving message from LNSc -
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 -
Online Redo logs instead of Standby Redo logs
RDBMS Version: 11.2.0.3/Platform : RHEL 6.3
To migrate a 3TB Database to a new DB server , we are going to use RMAN DUPLICATE.
Step1. Take full backup of DB + Standby Control file at primary site and transfer the Bkp files to Standby site
Step2. At standy site, we will run the RMAN duplicate target database for standby
After the above step, we don't want to create the standby redo logs because the newly restored DB in standby server is going to be the new Prod DB which application will be pointing to.
So, Can I skip the Standby Redo log creation part and create Online redo logs instead ?
As mentioned earlier, Our objective is not to create a proper Dataguard Standby DB setup. We just want to clone our DB to another server using RMAN Duplicate.Tom wrote:
RDBMS Version: 11.2.0.3/Platform : RHEL 6.3
To migrate a 3TB Database to a new DB server , we are going to use RMAN DUPLICATE.
Step1. Take full backup of DB + Standby Control file at primary site and transfer the Bkp files to Standby site
Step2. At standy site, we will run the RMAN duplicate target database for standby
After the above step, we don't want to create the standby redo logs because the newly restored DB in standby server is going to be the new Prod DB which application will be pointing to.
So, Can I skip the Standby Redo log creation part and create Online redo logs instead ?
As mentioned earlier, Our objective is not to create a proper Dataguard Standby DB setup. We just want to clone our DB to another server using RMAN Duplicate.
Hi,
Take full backup of DB + Standby Control
We just want to clone our DB to another server using RMAN Duplicate
If you want only clone database of production, why you are take Standby controlfile?
If you don't want create standby database then, why you using DUPLICATE command with FOR STANDBY option.
You can use DUPLICATE command for clone database, without for standby option.
If you say no, we want create standby database and we will perform swithover,
then yes, you can use online redo logs for max performance mode.
and you can create standby redo logs on all database, but this redo logs will use by database when database role
is standby.
Regards
Mahir M. Quluzade -
Dataguard Solution for standby redo log file groups
Respected Experts,
My database version is 10.2.0.1.0 and Red Hat 5 os.I want to create a standby database using RMAN.
Can any one help me with the full steps.And i'm also confuse about number of standby redo log file members
need to be created.
Thanks and Regards
Monoj DasMy database version is 10.2.0.1.0 and Red Hat 5 os.I want to create a standby database using RMAN.To configure standby either you can use duplicate target database for standby
or
1) restore standby controlfile
2) mount standby database
3) restore database
and configure standby paraemter then start MRP, will do.
http://docs.oracle.com/cd/B19306_01/server.102/b14239/create_ps.htm
Can any one help me with the full steps.And i'm also confuse about number of standby redo log file members
need to be created.It depends which parameter you want to use, if you mention log_archive_dest_2='service ARCH ' then no need to create any standby redo log file groups,
If you use log_archive_dest_2='service LGWR ' here transport will be in terms of redo and you need standby redo log files on standby database. Which is realtime.
When you use LGWR, data lost will be less if in case of any online redo log file lost. which is recommended.
HTH. -
Online redo logs vs standby redo logs
Hi All,
Oracle version : 10.2.0.4
OS : SunOS 5.10 Generic_118855-36 i86pc i386 i86pc
This might be a silly question for the experts :(
We are having 2 standby databases and 1 logical database. Everything is running fine , I have one confusion : My primary server having 3 online redo log files and 3 standby redo log files (on primary local), but as per the architecture standby redo logs should be on standby server.My question is whether standby redo logs on standby are online redo logs of standby server or standby redo logs of primary server. e.g If i perform a log switch on primary then what is the role of sync and affirm, will lgwr write parallel on online redo logs ,standby redo logs (of primary) or online redo logs (of primary) and online redo logs (which is known as standby redo logs on standby ). Please help me to understand the scenerio.
Thanks in advance!RFS receives redo information from the primary database.
RFS can write the redo into standby redo logs or directly to archived redo logs. Each LNSn and ARCn process from the primary database has its own RFS process.
A standby redo log is used only when the database is in the standby role to store redo data received from the primary database. Standby redo logs form a separate pool of log file groups.
Configuring standby redo log files is highly recommended on all standby databases in a Data Guard configuration, including the primary database to aid in role reversal.
A standby redo log is required to implement:
• The maximum protection and maximum availability levels of data protection
• Real-time apply
• Cascaded redo log destinations
Standby redo logs are recommended for maximum performance data protection mode. Unless you are using the real-time apply feature, standby redo logs must be archived before the data can be applied to the standby database. The standby archival operation occurs automatically. -
When changing redo-logs on Primary, do I need to change my standby also?
Hi, I need to resize my redo logs on a primary db which has a physical standby attached. Do I need to modify this standby or will the change propagate. It seems unlikely to me.
thanxOnly clue that I have found is at
http://download-east.oracle.com/docs/cd/B12037_01/server.101/b10726/configbp.htm
Section "Use Multiplexed Standby Redo Logs and Configure Size Appropriately"
>>
The remote file server (RFS) process for the standby database writes only to an SRL whose size is identical to the size of an online redo log for the production database. If it cannot find an appropriately sized SRL, then RFS creates an archived redo log file directly instead and logs the following message in the alert log:
No standby redo log files of size <#> blocks available.
>> -
Do I need to create new group for standby redo log files?
I have 10 group of redo log files with 2 members for each group for my primary database , Do I need to create new group for standby redo log files for the standby database
Group# Members
==============
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
If So, The following statment is correct? or nto
ALTER DATABASE ADD STANDBY LOGFILE GROUP 1 ('D:\Databases\epprod\StandbyRedoLog\REDO01.LOG',D:\Databases\epprod\StandbyRedoLog\REDO01_1.LOG');
please correct me if am doin mistake
becuase when I issue the statment I getting error message sayin the group is already created.Thanks John
I just find the answer
Yes, it's recomeded to add new group , for instnace If I have 10 group from 1 to 10 then the standby shoudl be from 11 to 20
Thanks I found the answer. -
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 -
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 Files and Directory Structure in Standby Site
Hi Guru's
I just want to confirm, i know that if the Directory structure is different i need to mention these 2 parameter in pfile
on primary site:
DB_CONVERT_DATAFILE='standby','primary'
LOG_CONVERT_DATAFILE='standby','primary'
On secondary Site:
DB_CONVERT_DATAFILE='primary','standby'
LOG_CONVERT_DATAFILE='primary','standby'
But i want to confirm this wheather i need to issue the complete path of the directory in both the above paramtere:
like:
DB_CONVERT_DATAFILE='/u01/oracle/app/oracle/oradata/standby','/u01/oracle/app/oracle/oradata/primary'
LOG_CONVERT_DATAFILE='/u01/oracle/app/oracle/oradata/standby','/u01/oracle/app/oracle/oradata/primary'
Second Confusion:-
After transferring Redo Standby log files created on primary and taken to standby on the above mentioned directory structure and after restoring the backup of primary db alongwith the standby control file will not impact the physical standby redo log placed on the above mentioned location.
Thanks in advance for your helpHello,
Regarding your 1st question, you need to provide the complete path and not just the directory name.
On the standby:
db_file_name_convert='<Full path of the datafiles on primary server>','<full path of the datafiles to be stored on the standby server>';
log_file_name_convert='<Full path of the redo logfiles on primary server>','<full path of the redo logfiles on the standby server>';
Second Confusion:-
After transferring Redo Standby log files created on primary and taken to standby on the above mentioned directory structure and after restoring the backup of primary db alongwith the standby control file will not impact the physical standby redo log placed on the above mentioned location.
How are you creating the standby database ? Using RMAN duplicate or through the restore/recovery options ?
You can create the standby redo logs later.
Regards,
Shivananda -
Why it automatically recover current redo log in RMAN command window?
Firstly, I restore controlfile and datafiles from a backupset.
Then when I recover database in RMAN command window like below:
RMAN> recover database;
Starting recover at 15-AUG-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
starting media recovery
archive log thread 1 sequence 9 is already on disk as file /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd0slz_.arc
archive log thread 1 sequence 10 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90sd0tsb_.arc
archive log thread 1 sequence 11 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90sd110b_.arc
archive log thread 1 sequence 12 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90sd2ksr_.arc
archive log thread 1 sequence 13 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90sd2mc6_.arc
archive log thread 1 sequence 14 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90sd2qrm_.arc
archive log thread 1 sequence 15 is already on disk as file
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90sd2s0w_.arc
archive log thread 1 sequence 16 is already on disk as file /u01/app/oracle/oradata/lonion/redo03.log
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd0slz_.arc thread=1 sequence=9
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90sd0tsb_.arc thread=1 sequence=10
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90sd110b_.arc thread=1 sequence=11
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90sd2ksr_.arc thread=1 sequence=12
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90sd2mc6_.arc thread=1 sequence=13
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90sd2qrm_.arc thread=1 sequence=14
archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90sd2s0w_.arc thread=1 sequence=15
archive log filename=/u01/app/oracle/oradata/lonion/redo03.log thread=1 sequence=16
media recovery complete, elapsed time: 00:00:04
Finished recover at 15-AUG-13
RMAN>
But, when I recover database in SQL*Plus command window like below:
[oracle@lonion ~]$ uniread sqlplus /nolog
[uniread] Loaded history (2178 lines)
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Aug 15 19:25:38 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL>
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
SQL> recover database using backup controlfile;
ORA-00279: change 2147842454 generated at 08/15/2013 18:34:28 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_%u_.a
rc
ORA-00280: change 2147842454 for thread 1 is in sequence #9
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 2147842651 generated at 08/15/2013 18:40:25 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_%u_.
arc
ORA-00280: change 2147842651 for thread 1 is in sequence #10
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd
0slz_.arc' no longer needed for this recovery
ORA-00279: change 2147842653 generated at 08/15/2013 18:40:26 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_%u_.
arc
ORA-00280: change 2147842653 for thread 1 is in sequence #11
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90s
d0tsb_.arc' no longer needed for this recovery
ORA-00279: change 2147842656 generated at 08/15/2013 18:40:32 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_%u_.
arc
ORA-00280: change 2147842656 for thread 1 is in sequence #12
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90s
d110b_.arc' no longer needed for this recovery
ORA-00279: change 2147842684 generated at 08/15/2013 18:41:21 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_%u_.
arc
ORA-00280: change 2147842684 for thread 1 is in sequence #13
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90s
d2ksr_.arc' no longer needed for this recovery
ORA-00279: change 2147842686 generated at 08/15/2013 18:41:23 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_%u_.
arc
ORA-00280: change 2147842686 for thread 1 is in sequence #14
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90s
d2mc6_.arc' no longer needed for this recovery
ORA-00279: change 2147842689 generated at 08/15/2013 18:41:27 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_%u_.
arc
ORA-00280: change 2147842689 for thread 1 is in sequence #15
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90s
d2qrm_.arc' no longer needed for this recovery
ORA-00279: change 2147842691 generated at 08/15/2013 18:41:28 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_16_%u_.
arc
ORA-00280: change 2147842691 for thread 1 is in sequence #16
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90s
g0or9_.arc' no longer needed for this recovery
ORA-00279: change 2147842986 generated at 08/15/2013 19:14:29 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_.
arc
ORA-00280: change 2147842986 for thread 1 is in sequence #17
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_16_90s
g0os5_.arc' no longer needed for this recovery
ORA-00308: cannot open archived log
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_
.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
SQL> recover database using backup controlfile;
ORA-00279: change 2147842986 generated at 08/15/2013 19:14:29 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_.
arc
ORA-00280: change 2147842986 for thread 1 is in sequence #17
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/lonion/redo01.log ---- Yon see, proceeding this process, it can't automatically apply the current redo log.
Log applied.
Media recovery complete.
SQL>
Question Coming:
Now, my question is that 「Why it automatically recover current redo log in RMAN command window but not in SQL*Plus」?
BTW: Please pay attention to the red font.It also seems not work.
SQL> recover automatic database using backup controlfile;
ORA-00279: change 2148632889 generated at 09/26/2013 12:45:22 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_.
arc
ORA-00280: change 2148632889 for thread 1 is in sequence #48
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
.arc' no longer needed for this recovery
ORA-00308: cannot open archived log
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log
'/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
.arc'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file
or directory
Additional information: 3
SQL>
It must specify the redo log.
SQL> recover database using backup controlfile;
ORA-00279: change 2148632889 generated at 09/26/2013 12:45:22 needed for thread
1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_.
arc
ORA-00280: change 2148632889 for thread 1 is in sequence #48
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/lonion/redo02.log
Log applied.
Media recovery complete.
SQL> -
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
Maybe you are looking for
-
Safari 4 not rendering GMail correctly
Hi.. I have a problem with Safari 4 (MacOS 10.4.11) accessing Gmail (user interface 1: ui=1). The LAST message in any thread is padded with pages and pages and pages of blanks - actually a greyed-out area - between the end of the message and the "Bac
-
I am getting asterisk ( * ) in the output of my query. This is in the columns where i am displaying key figures. This happens when i run it in either designer or analyzer. I am displaying net weight and doing the appropriate conversions. The only way
-
Identifying auto-increment columns
Hi, I am developing a database management package for mysql. I want to be able to provide a sql dump facility, which will produce the sql code for creating a table and populating it. I do not seem to be able to find a function for identifying if a fi
-
Do I need to authorize another computer to access my icloud?
I want to let my wife access my photos that I have taken in while I've been on deployment. I have them shared. so if she can access my icloud to see them. would I need to authorize it? or will she be able to access it easily?
-
EMET Certificate Pinning Enhancement Request
What would be a big improvement in existing SSL validation would be the ability to check pinned web site domain name SSL certificate thumbprint stored in EMET rule against actual web site SLL certificate thumbprint. Just add another column in the web