Standby database SRL & Online logs
Hi,
I have just tried my hand at building a Physical standby database in Oracle 10gR2 using RMAN. I will detail out the steps that i have performed before asking my question.
I configured every pre-requisite and i did not create any SRL's on primary before building a standby database. I am using LGWR ASYNC for redo transmission. I have configured FAL_CLIENT and FAL_SERVER. Protection mode is MAX PERFORMANCE and it is on Solaris 10 x86_64
1. Took a RMAN full backup
and created a standby control file as
SQL> alter database create standby controlfile as '/tmp/standby.ctl';
2. On another server, I copied the pfile, standby controlfile (renamed it) from primary and mounted the database.
sqlplus /as sysdba'
SQL> startup mount pfile='...';
rman target /
RMAN> restore database;
SQL> alter database recover managed standby database disconnect from session;
Everything worked and MRP was applying the archived logs as they were received from the primary. But, i have seen the SRL's created with default names on the primary database & standby database by Oracle even though i did not explicitly create them. Is this a normal behaviour? I saw them using v$standby_log.
As a Physical standby database will not use any ONLINE REDO LOGS and i haven't created any with the procedure i have used. i have performed a SWITCHOVER, which has worked with out any problem. My question here is
1. How did Oracle open the database database when there were no redo logs physically present on the standby site? Is this a normal behavior in a standby environment where Oracle creates ONLINE REDO LOG files for a Standby database being transitioned to Primary whenever a SWITCHOVER or FAILOVER occurs? If this is the case, it is obvious that Oracle will take the LOG SEQUENCE from the last applied ARCHIVED LOG and will start the ONLINE LOG from that sequence?
Please correct me if i have understood anything wrong here or if i have configured anything wrong. But with the above configuration the Standby database worked perfectly well and switchover was successful too.
Thanks,
Harris.
Correction: I have not created the Standby Database using RMAN but only performed a FULL backup, which i have restored before starting the MRP.
Similar Messages
-
How to restore an Oracle XE Database without online logs and SPFILE?
Hi there,
My laptop was crashed last week and I was able to get only current datafiles without two online logs files and SPFILEXE.ORA from my old hard drive. I've installed with the same version of Oracle Database 10g Express Edition Release 10.2.0.1.0* software on Windows XP Pro.
I have DATAFILEs from my old db instance XE which have my thesis data.
*'C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF',*
*'C:\ORACLEXE\ORADATA\XE\UNDO.DBF',*
*'C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF',*
*'C:\ORACLEXE\ORADATA\XE\USERS.DBF',*
*'C:\ORACLEXE\ORADATA\XE\TEMP.DBF',*
*'C:\ORACLEXE\ORADATA\XE\USERS.DBF'*
Even though I am not 100% percent sure about If I've set the NOARCHIVELOG mode previously but neither I have the redo log files are backed up i.e. two redo log files are in C:\oraclexe\app\oracle\flash_recovery_area\XE\ONLINELOG nor have SPFILE<<SID>>.ORA. Thus, this is not really typical "+Cold backup+" when you stop the database and zip up all those 9 files (in NOARCHIVELOG mode).
I've tried the RMAN utility but it seems it requires redo log files too.
I wonder if I can restore somehow by copying all 6 datafiles to the same folder 'C:\ORACLEXE\ORADATA\XE\' or not. If so, how can I do so?
Will appreciate any advice.
Thanks in advance,Recovering an SPfile is trivial if you have the alert log, locate the last startup- there will be a section with all the non-default parameters. Copy/paste those items to create a pfile, use it for a startup mount, check the catalog views to see if recovery is needed. Without the online redo logs it will probably need an incomplete recovery.
So in the old alertlog, [drive:]\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log, grab the lines after "System parameters with non-default values:" its maybe 15 or 20 items for an "out of the box" XE install, save those to a file someplace like [drive:]\oraclexe\app\oracle\admin\xe\init\initXE.ora, fire up sqlplus and connect as sysdba, startup with the pfile ...
$ sqlplus /nolog
> connect /as sysdba;
startup mount pfile='[drive:]\oraclexe\app\oracle\admin\xe\init\initXE.ora';
If the database makes it to mount mode, check the recovery view ...
select * from v$recover_file;
If that view is clean, open 'er up should be good to go ... and create a new spfile:
alter database open;
create spfile from pfile='[drive:]\oraclexe\app\oracle\admin\xe\init\initXE.ora';
If the instance was in archivelog mode and the archive destination wasn't specified it uses flash_recovery_area for storing archivelog files, check if there are any files in the flash_recovery_area/XE/ARCHIVELOG/[yyyy-mm-dd] (?) directories. Or when connected as sysdba a command will tell you if archivelog mode is enabled:
archive log list; -
Standby database with online backup (hotbackup)
Hi All ,
I would like to create a physical standby Database for oracle 10.2.0.3.0 Database on windows 2003 machine.
Can somebody please share a URL for step by step explanation?
Thanks in Advance.+++
Oracle® Data Guard Concepts and Administration
:p -
10gR2 Logical Standby database not applying logs
No errors are appearing in the logs and I've started the apply process :ALTER DATABASE START LOGICAL STANDBY APPLY but when I query dba_logstdby_log, none of the logs for the last 4 days shows as applied and the first SCN is still listed as current. Any thoughts on where I should start looking?
the latest event in DBA_LOGSTDBY_EVENTS is the startup of the log mining and apply.
I do not have standby redo logs so I cannot do real time apply, though I am looking to implementing this. Obviously, this is pretty new to me.Sorry I didn't mention this before, the logs are being transferred, I verified their location on the os and it matches the location in the dba_logstdby_log view.
-
Redo log files are not applying to standby database
Hi everyone!!
I have created standby database on same server ( windows XP) and using oracle 11g . I want to synchronize my standby database with primary database . So I tried to apply redo logs from primary to standby database as follow .
My standby database is open and Primary database is not started (instance not started) because only one database can run in Exclusive Mode as DB_NAME is same for both database. I run the following command on the standby database.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
It returns "Database altered" . But when I checked the last archive log on primary database, its sequence is 189 while on standby database it is 177. That mean archived redo logs are not applied on standby database.
The tnsnames.ora file contains entry for both service primary & standby database and same service has been used to transmit and receive redo logs.
1. How to resolve this issue ?
2.Is it compulsory to have Primary database open ?
3. I have created standby control file by using command
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘D:\APP\ORACLE\ORADATA\TESTCAT\CONTROLFILE\CONTROL_STAND1.CTL‘;
So database name in the standby control file is same as primary database name (PRIM). And hence init.ora file of standby database also contains DB_NAME = 'PRIM' parameter. I can't change it because it returns error of mismatch database name on startup. Should I have different database name for both or existing one is correct ?
Can anybody help me to come out from this stuck ?
Thanks & Regards
Tushar LapaniThank you Girish. It solved my redo apply problem. I set log_archive_dest parameter again and then I checked archive redo log sequence number. It was same for both primary and standby database. But still table on standby database is not being refresh.
I did following scenario.
1. Inserted 200000 rows in emp table of Scott user on Primary database and commit changes.
2. Then I synchronized standby database by using Alter database command. And I also verify that archive log sequence number is same for both database. It mean archived logs from primary database has been applied to standby database.
3. But when I count number of rows in emp table of scott user on standby database, it returns only 14 rows even of redo log has been applied.
So my question is why changes made to primary database is not reflected on standby database although redo logs has been applied ?
Thanks -
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 -
Standby database Archive log destination confusion
Hi All,
I need your help here..
This is the first time that this situation is arising. We had sync issues in the oracle 10g standby database prior to this archive log destination confusion.So we rebuilt the standby to overcome this sync issue. But ever since then the archive logs in the standby database are moving to two different locations.
The spfile entries are provided below:
*.log_archive_dest_1='LOCATION=/m99/oradata/MARDB/archive/'
*.standby_archive_dest='/m99/oradata/MARDB/standby'
Prior to rebuilding the standby databases the archive logs were moving to /m99/oradata/MARDB/archive/ location which is the correct location. But now the archive logs are moving to both /m99/oradata/MARDB/archive/ and /m99/oradata/MARDB/standby location, with the majority of them moving to /m99/oradata/MARDB/standby location. This is pretty unusual.
The archives in the production are moving to /m99/oradata/MARDB/archive/ location itself.
Could you kindly help me overcome this issue.
Regards,
DanHi Anurag,
Thank you for update.
Prior to rebuilding the standby database the standby_archive_dest was set as it is. No modifications were made to the archive destination locations.
The primary and standby databases are on different servers and dataguard is used to transfer the files.
I wanted to highlight one more point here, The archive locations are similar to the ones i mentioned for the other stndby databases. But the archive logs are moving only to /archive location and not to the /standby location. -
Status Column Of v$log on standby database
DB Version : 11.2.0.1
OS Version : AIX 7.1
Status column of v$log is showing values as "CLEARING" & "CLEARING_CURRENT". It doesn't change even after adding the standby log files. Here are values from this view. I am not using real time apply feature and have delay of 120 Minutes.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
1 1 3397 104857600 512 2 YES CLEARING 22886147 03-APR-13 22887606 03-APR-13
3 1 3396 104857600 512 2 YES CLEARING 22886111 03-APR-13 22886147 03-APR-13
2 1 3398 104857600 512 2 YES CLEARING_CURRENT 22887606 03-APR-13 22886111 03-APR-13
SQL> select group#,Thread#, sequence#,USER,archived,status,first_change# from v$standby_log;
GROUP# THREAD# SEQUENCE# USER ARC STATUS FIRST_CHANGE#
4 1 3398 SYS YES ACTIVE 22887606
5 1 0 SYS NO UNASSIGNED 0
6 0 0 SYS YES UNASSIGNED 0
7 0 0 SYS YES UNASSIGNED 0is the status column showing value "CURREN" & "CLEARING_CURRENT" correct, since i have added standby redo logs, i was expecting value to be "INACTIVE" ? reason for expecting this value is because now, standby log files are in use and original log files will be used only in case of switchover or failover. Please comment.
Edited by: user11982706 on Apr 3, 2013 10:31 AMsize are same on both primary and standby. See the results from below query:
Primary
SQL> select GROUP#,THREAD#,bytes/1024/1024,STATUS from v$log;
GROUP# THREAD# BYTES/1024/1024 STATUS
1 1 100 INACTIVE
2 1 100 INACTIVE
3 1 100 CURRENTStandby
SQL> select GROUP#,THREAD#,bytes/1024/1024,STATUS from v$log;
GROUP# THREAD# BYTES/1024/1024 STATUS
1 1 100 CLEARING
3 1 100 CLEARING_CURRENT
2 1 100 CLEARING
SQL> select GROUP#,THREAD#,bytes/1024/1024,STATUS from v$standby_log;
GROUP# THREAD# BYTES/1024/1024 STATUS
4 1 100 ACTIVE
5 1 100 UNASSIGNED
6 0 100 UNASSIGNED
7 0 100 UNASSIGNEDSo, on standby size of online logs as well as standby logs is exactly same as primary and i have one more standby redo then primary as oracle recommends. Please comment.... -
Error while trying to open physical standby database - (DATA GUARD)
Hi Everyone,
I have problems in opening the database of the physical standby in read- write mode/ read only mode. I have a primary server which is running on 2 node RAC and the standby on a seperate single server being used as DR. I recently got this server and my aim was to isolate the standby server from primary server and perform few test. As it has never been tested even once.
Primary Database spec: (2 Node Rac on ASM)
Oracle Version : 10.2.0.3.0
O/s : HP-UX B.11.23
Standby Database spec: (Single Node)
Oracle Version : 10.2.0.3.0
O/s: HP-UX db01 B.11.23
Error:
alter database recover managed standby database cancel;
Database altered.
SQL> alter database open
2 ;
alter database open
ERROR at line 1:
ORA-16004: backup database requires recovery
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '+DATA/dprod/datafile/system01.dbf'
Parameters :
log_archive_dest_2 string SERVICE=PROD1 LGWR ASYNC VALID
FOR=(ONLINELOGFILES,PRIMARY_
ROLE) DB_UNIQUE_NAME=PROD
remote_archive_enable string true
fal_client string DPROD
fal_server string PROD1, PROD2
Steps tried so far:
Changed log_archive_dest_2 = DEFER on both the primary nodes
Standby :
startup nomount
alter database mount standby database;
alter database recover managed standby database disconnect;
alter database recover managed standby database cancel;
alter database open/readonly (tried both)
Same error.
On Primary:
SQL> select max(sequence#) from v$log_history;
MAX(SEQUENCE#)
55702
on Standby:
MAX(SEQUENCE#)
33289
Primary Database:
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME NEXT_TIME
55700 13-JUN-11 13-JUN-11
55700 13-JUN-11 13-JUN-11
55701 13-JUN-11 13-JUN-11
55701 13-JUN-11 13-JUN-11
55702 13-JUN-11 13-JUN-11
60824 rows selected.
Standby Database:
SEQUENCE# FIRST_TIME NEXT_TIME
55698 13-JUN-11 13-JUN-11
55699 13-JUN-11 13-JUN-11
55700 13-JUN-11 13-JUN-11
55701 13-JUN-11 13-JUN-11
15206 rows selected.
Additional Information :
There is a delay of 20 minutes before the logs get applied. which has been intentional set by team.
Any help will be highly appreciated. Thanks in advance
SadiqHi,
Primary Database:
select status,checkpoint_count from v$datafile_header;
STATUS CHECKPOINT_COUNT
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
STATUS CHECKPOINT_COUNT
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 672472065
ONLINE 59736
ONLINE 59736
ONLINE 59736
ONLINE 59736
ONLINE 59736
STATUS CHECKPOINT_COUNT
ONLINE 57717
ONLINE 57717
57 rows selected.
Standby Database;
select status,checkpoint_count from v$datafile_header;
STATUS CHECKPOINT_COUNT
ONLINE 672445072
ONLINE 672445072
ONLINE 672445072
ONLINE 672445072
ONLINE 672445072
ONLINE 672445072
ONLINE 672445072
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
STATUS CHECKPOINT_COUNT
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
ONLINE 672445071
ONLINE 32742
ONLINE 32742
ONLINE 32742
ONLINE 32742
ONLINE 32742
STATUS CHECKPOINT_COUNT
ONLINE 30723
ONLINE 30723
57 rows selected.
Archieve log list :
Primary database:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 49110
Next log sequence to archive 49111
Current log sequence 49111
Standby Database:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 49110
Next log sequence to archive 0
Current log sequence 49111
I tried log switch multiple times in primary database i saw that its getting highlighted in standby database. -
Hi All,
I have some doubts in Oracle Standby database configuration and log transfer and redo apply.
I have read the below document.
Oracle® Data Guard Concepts and Administration
Now my doubts are *(in Physical standby database with Maximum performance mode)*
1. When configuring the standby database we are creating standby redologs in primary database,Is this standby redologs are used only when the role transition happens or for anyother purpose?
2.The archivelogs are shipped from primary to standby and the archivelogs are applied to the standby database by doing the normal media recovery.Now, how and when the data is written in the standby database redologfiles,so that when we enable the real time apply it uses the standby database redologfile to apply the data without delay?
3.(if the second point is true)In the standby database will it generate the Archivelogfiles from the redo applied, apart from the primary archivelogs which are transfered?
Please Advice..
TIA,1. When configuring the standby database we are creating standby redologs in primary database,Is this standby redologs are used only when the role transition happens or for anyother purpose?It is not for role transition.
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.
You can recover more data than only applying archive logs in case of failure.
SRLs' are a must for real time apply.
2.The archivelogs are shipped from primary to standby and the archivelogs are applied to the standby database by doing the normal media recovery.Now, how and when the data is written in the standby database redologfiles,so that when we enable the real time apply it uses the standby database redologfile to apply the data without delay?The data is directly written from production to SRL of standby database using lgwr process(with the help of RFS), that is why it real time. Not waiting for a log switch. See the [diagram.|http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/log_apply.htm#i1021537]
3.(if the second point is true)In the standby database will it generate the Archivelogfiles from the redo applied, apart from the primary archivelogs which are transfered?No. Only standby redo log will generate archived logs.
Regards,
S.K. -
Hi Guys,
I don't have much 'real time' experience with Oracle db failovers and setting up standby databases etc. But I have a scenario here and was wondering how would one go about it. I know there could be many ways for this. I have done reading stuff online but there are so many different approaches, different scenarios etc..
I have a primary site with a primary db and a standby db in a different site.
If the primary db has beenI should have mentioned that the Oracle version in question is: 9.2.0.x and the OSs involved are Windows based.
Amit,
This was only a scenario and it did not actually happen. I was considering a situation where the systems are in a state where the primary db cannot be brought back up and I'd have to run from the standby db.
So what you are saying is, the 'current' redo log file relating to the primary db (but located on a separate disk) will be of NO USE to 'apply' to the standby db to keep it in sync with primary db before it went down. Is this correct?
Can I not use Oracle 'real time apply' to use the above 'current redo log' file on the standby db would you know such as : -
alter database recover managed standby database using current log file;
TIA -
Conceptual Question-Standby Database
Hi all,
I was just going through this documentation
http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/log_apply.htm
In the beginning it says
"Log apply services automatically apply redo to standby databases to maintain synchronization with the primary database and allow transactionally consistent access to the data"
I want to know How does process takes redo log and apply to datafile?What is basically happening inside?
Cheers,
NeeravDear Neerav999,
If i would know your Oracle database version, i could give you a more detailed explanation but i will give it anyway;
There are options that you can use for the Oracle Data Guard. Data Guard is used for replicating the primary database to the standby database via the archivelogs and/or with the redologs. You may not have a standby redolog for maximized performance protection level and it is not mandatory however you need to have standby redos for maximized availiability and protection, protection levels of the Oracle database.
Starting from 11g, you can able to cancel the recovery process on standby site and open the standby database read only than (magic goes here) you can start the media recovery! The command list as follow for 11g;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL --> This command will cancel the MRP0 process and will stop the continuous media recovery
ALTER DATABASE OPEN READ ONLY
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE [USING CURRENT LOG FILE] DISCONNECT FROM SESSION;
--> Above command will start the media recovery process ON THE READ ONLY DATABASE!You can give it a try that one by creating a dummy table on primary and wait for one or two log switches and check back the standby database. You are going to see the table has been also created there.
So answer to your eternal question! :)
MRP process is there to fetch and request the archivelogs from the primary site. This process can be started with the below command;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;You may have a simple test of cource. Cancel the MRP process and switch some logfiles on primary site. Than rerun above command to restart the MRP process and check v$dataguard_status fixed view. You will see that MRP is going to try to fetch the missing archivelog files and will try to close down the gap between the primary and the standby database. Here let me show you another 11g feature of Data Guard.
On 11g you can compress the redologs! What do you need to compress it? There is maybe the most threatning problem of the Data Guard is the connection itself. It should be fast and reliable. Otherwise the MRP process will fall behind and if you are running on maximum performance mode, it will also decrease the performance of the primary database and will hardly close the gap. You 11g Data Guard does is it compresses the log files in the fetching period. If its done with fetching and closed the gap than the normal transmission without the compression will continue to operate. Here is an example of redo compression parameter;
alter system set log_archive_dest_n = 'service= ORCLSTBY
LGWR ASYNC valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=ORCLSTBY compression=enable'I have checked the link that you have given and its Oracle 10g but i have just written it to understand some real factors between the 10g Data Guard and the 11g Data Guard. There are also other changes but if you can go to the 11g New Features site you will see Arup Nanda's posts about it.
If you are to use the standby redologs and it is called "Real Time Apply" and you can see it on v$dataguard_status fixed view. Here is the information from the online documentation;
6.2.1 Using Real-Time Apply to Apply Redo Data Immediately
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.
Use the ALTER DATABASE statement to enable the real-time apply feature, as follows:
*For physical standby databases, issue the ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE statement.
*For logical standby databases, issue the ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE statement.
Standby redo log files are required to use real-time apply.Here is a fixed view that you may see the processes;
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_1169.htm#REFRN30144
PROCESS VARCHAR2(9) Type of process whose information is being reported:
*RFS - Remote file server
*MRP0 - Detached recovery server process
*MR(fg) - Foreground recovery session
*ARCH - Archiver process
*FGRD
*LGWR
*RFS(FAL)
*RFS(NEXP)
*LNS network server processAll above indications are most verbose and your answer to your question resides here but you need to read it carefully to understand how Oracle applies log files.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/manage_ps.htm#i1009613
Regards.
Ogan -
Capture Proccess offen abend when online log is switching
enviroment:
Red Hat Enterprise Linux Server release 5.8 (X64)
Oracle Database 11.2.0.3.0
Oracle Golden Gate 11.1.1.1.2
Problome:
Capture Proccess offen abend when online log is switching.(Not every time)
I find errors in ggserr.log:
2013-05-01 22:10:53 ERROR OGG-01028 Oracle GoldenGate Capture for Oracle, cap.prm: error reading redo log file,
'+DATA/orcl/onlinelog/group_2.265.803917775' for sequence 1021: Reading ASM file +DATA/orcl/onlinelog/group_2.265.803917775
in DBLOGREADER mode: (333) ORA-00333: redo log read error block 42395 count 4081.
2013-05-01 22:10:53 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, cap.prm: PROCESS ABENDING.
Vut I can't find any error in database's log.xml but 'Incomplete read from log member
'+DATA/orcl/onlinelog/group_2.265.803917775'. Trying next member.'.
I find that when this error happened ,the database is switching it's online log.It is not happened in a specific online
log.And when Database switch online log to the 'error' online log back,capture proccess will work correctly.
Here is my configure:
GGSCI (TIKUDB) 1> view params cap
EXTRACT cap
SETENV (ORACLE_SID = orcl)
USERID ogg, PASSWORD ogg
TRANLOGOPTIONS DBLOGREADER
TRANLOGOPTIONS LOGRETENTION ENABLED
EXTTRAIL dirdat/lt
TABLE TQMS.TEST;
Please help me !xyz_hh wrote:
enviroment:
Red Hat Enterprise Linux Server release 5.8 (X64)
Oracle Database 11.2.0.3.0
Oracle Golden Gate 11.1.1.1.2Would it be possible to try upgrading to OGG 11.2.1, and see if the problem persists? -
Adding online redo logs with standby database in place
Hi group,
I have decided to add one new member to my existing redo log groups and an additional redo log group to my primary database.
That change went ok without problems. I assumed that with standby_file_management=auto the equivalent online redo logs are created on the standby database. But this is not the case.
The documentation is unclear about this point and I did not find anything suitable on metalink. The docs suggest to cancel managed recovery on the standy, setting standby_file_management to MANUAL and then adding online logs, quote:
"To add an online redo log, use a SQL statement such as this:
SQL> ALTER DATABASE ADD STANDBY LOGFILE 'prmy3.log' SIZE 100K;"
This however - IMO - adds a new STANDBY redo log to the standby database, what I need is an ONLINE redo log.
Does anybody have some experience to share here?
Facts:
Solaris 8
Oracle 9.2.0.6
Thanks!
MartinOK, for those who come across the same problem.
You need to create a new standby controlfile, copy it as well as any new online redo log from production to the standby environment.
Once the files are in place, start the standby as normal and open it read only to see if everything is ok:
startup nomount
alter database mount standby database;
alter database open read only
Only when there are no errors in your alert.log you are safe.
Martin -
Create ONLINE logfile in physical standby database
We have created a physical standby database with rman duplicate command on a remote server
"duplicate target database for standby dorecover nofilenamecheck"
When I see the standby server...Online logfiles are not created however its relevant entries are there in V$LOG and V$LOGFILE views.
I guess it is the default behaviour of duplicate command in RMAN and we can not specify LOGFILE clause when we create standby database.
Now the problem is we could not drop the online logfile on standby database since it's status is "CURRENT", "ACTIVE".
Since the ONLINE LOGFILE are not actually created , "ALTER DATABASE CLEAR LOGFILE GROUP " command returns with error as it could not find the file in the server.
So How we can drop the current/active online logfile and add new ones in standby db?I'm assuming you have physical standby. Here are step I did in the past.
1) create a backup control file
2) bring the database back using the "recreate control file" it the trace file BUT you need to remove or comment out the line that has the corrupt or missing redo log file. And don't forget to add the tempfile after you recreate the controlfile
example:
alter database backup controlfile to trace;
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracledata/orcl/redo01.log' SIZE 200M,
GROUP 2 '/oracledata/orcl/redo02.log' SIZE 200M,
GROUP 3 '/oracledata/orcl/redo03.log' SIZE 200M,
# GROUP 3 '/oracledata/orcl/redo03.log' SIZE 200M
-- STANDBY LOGFILE
-- GROUP 10 '/oracledata/orcl/redostdby04.log' SIZE 200M,
-- GROUP 11 '/oracledata/orcl/redostdby05.log' SIZE 200M
DATAFILE
'/oracledata/orcl/system01.dbf',
'/oracledata/orcl/undotbs01.dbf',
'/oracledata/orcl/sysaux01.dbf',
'/oracledata/orcl/users01.dbf'
CHARACTER SET WE8ISO8859P1
If you just want to add the standby redo log then using this command.
alter database add standby logfile
'/<your_path>/redostdby01.log' size 200M reuse,
Maybe you are looking for
-
Two weeks ago I wrongly faulted my new Dell 2707WFP monitor for its high contrast and saturation after many failed profiling attempts using the Spyder2Pro with the updated Vista software. I'm still at a loss as to why images are dark and overly satur
-
Image size and mime type.. non-java guy needs help
Image size, mime type.. non-java guy needs help Im not at all familiar with java so this is really weird for me to work out. I?ve been doing it all day (and half of yesterday). Im trying to write a custom clodFusion tag in java that gets the width, h
-
How to split a file by using Native Format Builder?
Hi all, Please help me with this issue. In this project we need to split a file to save in the db. Following is the sample code and I would like to split this from 'BOH--------------' to 'BOT---------------' (as in BOLD) But as you can see sometimes
-
have taken a few photos with my iPad2 but they don't reach the email addresses i send them to. the proceedure seemed simple but it's not working. a little help please.
-
A script for locating italics?
I need to find all the locations where italic text is in a pdf document. It seems to me that there is not a way to do this with Acrobat X. Would someone please suggest a method to do this. I was referred to this forum after posting in the "creating&e