Pourquoi OEM "cherche" le SPFILE dans ASM
Pourquoi OEM "cherche" le SPFILE dans ASM :
Dans les environnements gérés par Grid Infrastructure, la découverte et le monitoring des targets database dans OEM Cloud Control s'appuient en grande partie sur les ressources Clusterware (via CRS).
La ressource database (ora.<db>.db) contient une configuration explicite du SPFILE via le paramètre SPFILE=... (visible avec crsctl status resource ora.<db>.db -p | grep SPFILE ou srvctl config database -d <db_name>).
Par convention et recommandation Oracle (pour la haute disponibilité), ce SPFILE est attendu dans un diskgroup ASM partagé.
Si la configuration Clusterware pointe vers un SPFILE en ASM, mais que le fichier réel est sur le filesystem local ($ORACLE_HOME/dbs/spfile<sid>.ora), alors :
Le startup via srvctl start database peut échouer (ou utiliser un fallback local si possible).
OEM, en interrogeant Clusterware pour découvrir/promouvoir le target, peut rencontrer des incohérences et ne pas découvrir/moniter correctement la base (erreurs dans les logs d'agent ou de discovery comme "Cannot find parameter file" ou similaires).
Solution recommandée :
Mettez à jour la configuration Clusterware pour qu'elle pointe explicitement vers votre SPFILE local :
srvctl modify database -d <db_unique_name> -p $ORACLE_HOME/dbs/spfile<sid>.ora
Remplacez <db_unique_name> par le nom de votre base (souvent le DB_NAME).
<sid> est votre ORACLE_SID.
Exemple : srvctl modify database -d MYDB -p +DATA/MYDB/spfilemydb.ora (si vous décidez de le déplacer en ASM) ou -p /u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileMYDB.ora pour local.
Après cela :
Relancez la découverte dans OEM :
Setup > Add Target > Configure Auto Discovery > Resubmit le job pour databases sur l'hôte concerné.
Ou ajoutez manuellement le target database (Add Targets Manually > Database Instance).
Vérifiez les logs de l'agent OEM pour confirmer.
Alternative (recommandée pour HA) :
Déplacez le SPFILE en ASM :
Créez-le en ASM : CREATE SPFILE='+DATA/<db>/spfile<db>.ora' FROM PFILE;
Redémarrez la base.
Mettez à jour srvctl : srvctl modify database -d <db> -p +DATA/<db>/spfile<db>.ora
Cela aligne tout et évite les problèmes futurs.
Vérifiez d'abord avec srvctl config database -d <votre_db> ce que montre actuellement la config SPFILE.