Prérequis
Vous aurez besoin du DBID de votre base avant de pouvoir faire la sauvegarde... Vous pouvez le récupérer grâce à cette simple requête SQL (possible dès l'état MOUNT):SELECT dbid FROM v$database;
Et si la base ne peut pas être montée (pb de controlfiles par exemple) ?J'espère que vous avez gardé les logs de votre sauvegarde full... C'est ce qui devrait vous sauver!
connected to target database: YYY (DBID=xxx)
La procédure
Toutes les actions suivantes peuvent être effectuées sous rman. il n'est pas nécessaire de se connecter à sqlplus pour effectuer les startup ou open de la base de données. On suppose que la base de données est arrêtée et droppée.- Settage du dbid
- démarrage en NOMOUNT de la base de données
- Restaure des controlfiles
- Passage de la base en mode MOUNT
- Restore de la base
- Ouverture de la base
SET dbid=xxx;
STARTUP NOMOUNT;
RUN
{
ALLOCATE CHANNEL t1 TYPE='your_type';
RESTORE CONTROLFILE FROM TAG 'your_tag';
RELEASE CHANNEL t1;
}
ALTER DATABASE MOUNT;
RUN
{
ALLOCATE CHANNEL t1 TYPE='your_type';
RESTORE DATABASE FROM TAG 'your_tag';
RELEASE CHANNEL t1;
}
ALTER DATABASE OPEN RESETLOGS;