While surfing Metalink, I found this :

How to Clean-Up Entries in V$LOG_HISTORY and/or V$ARCHIVE_LOG:
==============================================================

The number of archived redo log files maintained in the controlfile and available through V$LOG_HISTORY is determined by the MAXLOGHISTORY parameter of the create database command. The archived redo log records are maintained up to the value of MAXLOGHISTORY, then wrap and overwritey previous entries starting from the beginning.

Eventually, all entries in V$LOG_HISTORY will be overwritten after the number of archived logs exceeds the MAXLOGHISTORY value.

One way to force the removal of archived log entries from the controlfile and V$LOG_HISTORY would be to recreate the controlfile.

For instructions on how to recreate the controlfile, please see the following
note:

How to Recreate the Controlfile

So, I should have a solution to my problem. And as it's a standby database, the standby controlfile is easy to recreate from the primary.

The question is : why does it happen ??