Voici un mail que j'ai envoyé à tout le monde dans mon entreprise qui traite avec InterBase quand j'ai trouvé sur cette question. Il détaille la façon de déterminer ce que la prochaine valeur actuelle et la façon de le réinitialiser.

Voici des informations sur la façon de déterminer la prochaine transaction ID sur un serveur InterBase. Ceci est important parce qu'il ya une limite supérieure sur le numéro de la transaction une fois que sera atteint cause un bug InterBase de surface qui cause la corruption de données.

Il s'agit d'un très grand nombre, mais nous devrions utiliser cette information pour souligner l'importance de faire une sauvegarde et la restauration des bases de données InterBase leurs périodiquement afin que les ID de transaction est réinitialisé.

Pour voir la prochaine transaction ID IB 6, exécutez IBConsole. Connectez-vous au serveur et le joindre à la base de données. Sur la base de données, cliquez avec le bouton droit et sélectionnez Maintenance et Base de données statistiques.

Sur IB 5.6, run "gstat () fully_qualified_path_and_database_filename" à partir d'une invite DOS. Il fonctionne ainsi IB 6.

Vous verrez quelque chose qui ressemble à ceci:
Tête de page de base de données d'informations:
Flags 0
Checksum 12345
Generation 783158
Taille de la page 4096
ODS version 9.1
Les plus anciens transaction 783145
Les plus anciens actifs 783146
Les plus anciens instantané 783146
Suivant la transaction 783149

Le tableau suivant indique que le maximum de la transaction qui est sûr en fonction de votre taille:
1024 byte 131596287 pages.
2048 byte 265814016 pages.
4096 byte 534249472 pages.
8192 byte pages 1071120384.

Si votre transaction est alors à sa limite de sauvegarde et de restauration de votre base de données immédiatement pour éviter toute corruption des données.

Ce bug a été corrigé dans FireBird V1.0

Average rating: