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.