"Checkpoint not complete" message causes due to the following one of the events:

1 When Redo log size is very small and it gets filled very qucikly. Then oracle activates DBWR to flush the dirty buffer.
At the same time, ARCH process tries to start reading the redo file to copy the redo log file into archive directory, but it fails.

2 When the log buffer is very small, or LOG_CHECKPOINT_INTERVAL is small, this error may occur.

3 When Hardware Level disk mirroring is configured and the REDO LOG file is placed on this disk, as well as Software level Mirrored for the REDO Log file is configured (duplexed), this error may occur, becuse when one redo log file is filled, Oracle thinks that it is the time to instruct ARCH process to do archiving, but OS did not copy the mirrored file (Hardware level set up), then ARCH process complaints that check point not complete. In general, duplexing can be done either at hardware level or software (Oracle) level. Both should not be configured. If you need, place the duplexing redo log file on the non-mirrored disk.

I hope , Pando, this helps you.