Sometimes we will keep the database backup for one week and set the retention policy to 'recovery window of 7 days'. So we will only keep the database backup for 7 days, right?
In fact, it depends. If all the database backups are full (level 0) backup, then the above statement should be right, while there is another popular backup solution that the full backup is only on Sunday and incremental backup will be executed on all other week days. In this situation we will find more than 7 days backup will be kept mostly.
So there is a bug of RMAN? NO.
'recovery window of 7 days' means RMAN should be able to recover the database to any time in the previous 7 days so RMAN has to keep two database full backups to make sure it could satisfy such request.
If today is Sunday and we have one database full backup, then this full backup will not be removed after the full database backup on next Sunday. The current full backup will become obsolete after the full database backup on the third Sunday including all the following incremental backups before the second full database backup together.
Also need to keep in mind if the second full backup fails for some reason, the current full backup will be removed even after the fourth Sunday......