cancel
Showing results for 
Search instead for 
Did you mean: 

Speed up Oracle log application

SOLVED
Go to solution
Sanjay Kumar Suri
Honored Contributor

Speed up Oracle log application

We are using SAP 4.7 E on Oracle 9i (9.2.0.7). The database size is more than 3 TB. We also have a DR setup where we have created standby database. We Have XP512 at PR and XP1024 at DR.

Both systems (Primary & DR) run on PA RISC Superdome (16 CPU with 32 GB RAM). Archive logs are transferred from PR to DR on real time basis. Log file size is 200 MB each. On an average more than 200 archive files are generated.

Log application at DR is done using Shell script and cron. During log application, some archive files are applied within 2 minutes whereas some files take more than 10 minutes. I would like to know:

1. Why such difference in timing?
2. What can be done at Oracle/HP-UX level to speed up log application.
3. Any tuning at storage level (XP1024) that can help?

Thanks.

sks
A rigid mind is very sure, but often wrong. A flexible mind is generally unsure, but often right.
4 REPLIES
Volker Borowski
Honored Contributor
Solution

Re: Speed up Oracle log application

Hi,

applying redo to a small table results in the table being quickly completly inside the db-cache. So recovery requires mostly read of data and only a few writes to disk.

Applying redo to big tables results in some blocks may have need to be flushed back to disk, to regain space inside the dbcache for other objects that need recovery. This might require more writes during recovery and is more expensive.

I assume you have a central SAP instance on the same host, which is usually not active :-) during standby application, so you can give the RAM from the SAP CI to the DB cache while you do the recovery.

This will require to dynamicly reduce the db-cache after the database has been opened (or restart with diffrent init.ora if this feels better) to give the RAM back to the central instance.

In addition you could check, if you can utilize parallel recovery.

alter database recover parallel ....

More cache on the storage sides helps as well.

Volker
Sanjay Kumar Suri
Honored Contributor

Re: Speed up Oracle log application

Thanks Volker.

recover automatic standby database parallel 32;

significantly reduced the recovery time.

Oracle MAA site also provided great white papers.

http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm


sks
A rigid mind is very sure, but often wrong. A flexible mind is generally unsure, but often right.
Volker Borowski
Honored Contributor

Re: Speed up Oracle log application

OK,

check if parameter

parallel_min_servers = 32

helps you to reduce the overhead to start 32 slaves all the time again when a log comes in.

If they stay alive all the time it might be even better.

Volker

Sanjay Kumar Suri
Honored Contributor

Re: Speed up Oracle log application

Volker

As we start Oracle periodically and apply logs in bulk, this parameter may not be required.

However we have set the parameter parallel_max_servers to a value higher than int set in "RECOVER int" statement.

sks
A rigid mind is very sure, but often wrong. A flexible mind is generally unsure, but often right.