I'm not sure if you need to worry about that. Your configuration are using ARCn or LGWR? On the primary database, Oracle Data Guard uses archiver processes (ARCn) or the log writer process (LGWR) to collect transaction redo data and transmit it to standby destinations. Using the LGWR process differs from ARCn processing because instead of waiting for the online redo log to switch at the primary database and then writing the entire archived redo log at the remote destination all at once, the LGWR process selects a standby redo log file at the standby site that reflects the log sequence number (and size) of the current online redo log file of the primary database. Then, as redo is generated at the primary database, it is also transmitted to the remote destination. Are you having problems with gaps?
For more information take a look at documentation.
Surely you would have a backup before a deletion ? Backups would be running frequently enough to avoid this.
If you don't have a backup of the archivelog, you need to refresh the standby with either an incremental backup from the primary or a full backup from the primary.
As for the question :
>for example I have 101 archivelogs the the 1st was deleted. so the remaining next 100 is useless?
Do a simple thought experiment. The Archivelogs have transactions. Transactions make use of data in the database. If one transaction inserted a new employee in the EMPLOYEES table and another (later) transaction updated his salary but you lose the archivelog containing the INSERT of the employee, can you apply the archivelog containing the Update ?
How many transactions would one archivelog have ? How many subsequent transactions would depend on the missing transactions ?
Hemant K Chitale
Thanks Hemant Sir! for the clear explanation.
I searched google and I found only refresh standby using incremental backup. But I can not find refresh standby using full backup. I want to do the latter, can you please give me the procedure on how to do it or some links maybe?
You refresh the standby using a full backup in the same way that you do when you *create* the standby. The only differences now are
a) You don't have to recreate the listener.ora and tnsnames.ora entries
b) You don't have to recreate the standb parameter file (pfile or spfile)
Hemant K Chitale
Thanks but the CIO is partly to blame why I can not implement it. I am asking for test/lab server for testing first before I do it in PROD, but they just seems no resource available.
It is very hard to setup and AIX environment. I wish they have used linux so I can just use the laptop.
it is very easy to apply incremental backup to standby ...check below steps. i did several times.
Sql> select to_char (current_scn) from v$database;
On production (c) :
rman>backup incremental from scn 914451255000 database format '/dbbackup/back_inc_aug18/forstandby_%U' tag 'standby';
rman>backup current controlfile for standby format '/dbbackup/back_inc_aug18/control_stby.ctl';
connect rman using : rman target /
rman>restore standby controlfile from '/dbbackup/back_inc_aug18/control_stby.ctl';
rman>sql 'alter database mount standby database;
catalog the backup pieces
RMAN> CATALOG START WITH '/dbbackup/back_inc_aug18/';
rman> recover database noredo;
i hope above steps will resolve your issue.
It was deleted by retention policy
This is very strange. According to documentation archived redo logs are not eligible for deletion until all the consumers of the logs have satisfied their requirements. Consumers of logs can include RMAN, standby databases, Oracle Streams databases, and the Flashback Database feature.