Impossible de se connecter à la base de données DB2 après la restauration d'une sauvegarde hors ligne

dba.stackexchange https://dba.stackexchange.com/questions/15809

  •  22-10-2019
  •  | 
  •  

Question

Ceci est pour DB2 9.7 Enterprise Server Edition sous AIX.

J'avais une sauvegarde complète, hors prise de plusieurs bases de données au sein de notre instance dans un environnement de performance.

Je voulais restaurer ces bases de données à notre environnement d'intégration.

J'ai couru la commande

db2 restore database database_name from 
/bkp/instance_name/OfflineBackups/RestorePoint/my_restore_point 
taken at 20120321103846 into database_name without prompting;

pour chacun de mes bases de données (modifier le nom de la base de données et l'horodatage appropriée bien sûr).

Chaque base de données restaurée avec succès selon DB2. Cependant, maintenant que je souhaite vérifier si la base de données a effectivement restaurer ce que je pensais, j'essaie de se connecter à une base de données et je reçois l'erreur

    SQL1117N  A connection to or activation of database "database_name" cannot be made 
because of ROLL-FORWARD PENDING.  SQLSTATE=57019

Je n'avait pas dans les transactions de processus dans la base de données précédente car toutes les connexions ont été forcés de quitter et la base de données est en baisse pour une sauvegarde hors ligne. Que dois-je faire?

Était-ce utile?

La solution

.

Je avais besoin pour exécuter la commande

db2 rollforward db database_name to end of backup and complete;

commits tout pour les journaux et les lieux de la base de données dans un état ne sont plus en instance, ce qui permet ainsi la connexion à elle. Je devais le faire pour chaque base de données restaurée.

EDIT: cette pépite trouvé nifty tout en assistant à une DB2NightShow épisode. Avec 9.7 FP2, ils ont introduit une variable de registre appelé DB2_RESTORE_GRANT_ADMIN_AUTHORITY. Ceci est pratique si vous restaurez une sauvegarde d'un cas à l'autre, comme il accorde automatiquement propriétaire de l'instance SECADM, DBADM, DATAACCESS et ACCESSCTRL sur la bases de données restaurées. Avec 9.7 FP5, le réglage est dynamique et ne exiger rebondissant de l'instance. Je me rends compte ma première question avait rien à voir avec la sécurité, mais il peut être rencontré et de la pensée que ce serait une friandise à portée de main placé ici.


EDIT # 2: J'ai récemment découvert que si la sauvegarde est une sauvegarde hors ligne à partir d'une base de données d'archives connecté, je aurait pu inclure la clause WITHOUT ROLLING FORWARD dans ma commande RESTORE. Cela ont pris la base de données sur l'état rouleau attente avant immédiatement Après avoir réussi à restaurer, ce qui voudrait dire que je ne l'aurais pas dû puis exécutez la commande ROLLFORWARD DB.

Autres conseils

Si le type de sauvegarde peut être dans la sauvegarde en ligne.

Utiliser le chemin Log ( "/ db2logtarget")

Par exemple: - db2 => ROLLFORWARD db userdb à la fin des journaux et le chemin complet du journal de débordement ( "/ home / user / target")

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top