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
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.