When you "checkpoint not complete" messages in your alert log this normally means your online redo logs are defined too small to handle the load and you have filled and need to switch to a new online redo log before the checkpoint triggered by the previous log switch has been completed.
Increasing your online redo log size is normally the fix for this.
HTH -- Mark D Powell --
PS - The following Oracle support document may also apply:
Checkpoint Not Complete In Alert.log Due To Setting Of Archive_lag_target [ID 435780.1]
Edited by: Mark D Powell on Nov 7, 2011 8:29 AM
Checkpoint not complete
If this type error occur in alter file means your logfile size is small so you increase the size of redo
also reduce the checkpoint interval
by Anurag (DBA)
archive_lag_target is meant for forcing a log switch after x amount of time. A value of archive_lag_target=0 means you've disabled time based forced log switch.
In your case every checpoint fired at 3 secs is facing this problem. This could indicate you've slower IO subsystem.
Meanwhile what filesystemio_options you are using?
Initially I read logfile size as 500 m instead 50m, I agree with John on increasing logfile size as well to avoid agressive log switches.
Your 50M logfile groups are filling every three seconds. This is crippling performance. Replace them with groups that are 1G and set archive_lag_target=1800 and you will switch every minute at peak times, twice an hour otherwise.