Oracle
 sql >> Base de données >  >> RDS >> Oracle

Veille physique hors ligne TEMPFILE

J'ai reçu une alerte d'Enterprise Manager Cloud Control indiquant qu'un fichier temporaire était hors ligne dans ma base de données de secours physique.

Message=Le fichier temporaire /u01/app/oracle/oradata/ncpp/temp/temp01.dbf est HORS LIGNE.

Nous avons récemment fait une restauration de la veille, c'est-à-dire l'a recréé à partir d'une sauvegarde. Étonnamment, seuls 7 des 8 fichiers temporaires étaient disponibles. Un fichier temporaire manquait. J'ai trouvé cela étrange, mais j'aimerais récupérer le fichier temporaire.

J'ai d'abord essayé ceci, mais cela a échoué avec une erreur :

SQL> alter system set standby_file_management=manual scope=both;
System altered.
SQL> alter tablespace temp add tempfile
2>  '/u01/app/oracle/oradata/ncpp/temp/temp01.df' size 20g;
alter tablespace temp add tempfile
*
ERROR at line 1:
ORA-01109: database not open

La solution est de mettre le standby physique en mode LECTURE SEULE pour ajouter le fichier temporaire.

SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database open read only;
Database altered.
SQL> alter tablespace temp add tempfile
2  '/u01/app/oracle/oradata/ncpp/temp/temp01.df' size 20g;
Tablespace altered.
SQL> alter database recover managed standby database disconnect;
Database altered.