I've done a little research on this one. Checkpoint counters could be different for different datafiles because of these two reasons: 1. Not all datafiles are created at the same time. If you create a datafile now, you'll see its checkpoint counter very low. I did the test and dumped file headers. The new file checkpoint counter is 2 while old datafiles are more than 100. 2. You did datafile checkpoint before. By this phrase (from Rama Velpuri), I mean two possibilities. One is you put the tablespace (comprising the datafile in question) in hot backup mode. Putting a tablespace in hot backup mode does checkpoint only on the datafiles in this tablespace. The other possibility of datafile checkpoint is offline the tablespace. I don't know how you found datafile checkpoint counters. You probably dumped the controlfile (alter session set events = 'immediate trace name controlf level 10', "=" sign optional). Since checkpoint counters are recorded in controlfiles and datafiles at the same time, I issued the command alter session set events = 'immediate trace name file_hdrs level 10' to get the same information. This command is from Rama Velpuri's book, which is also the only book I have discussing checkpoint counters. One of the best Oracle books I have. Yong Huang