Introduction
Cette procédure explique comment déplacer la base _MGMTDB vers un autre diskgroup. Cette base gère les informations sur la "santé" du cluster RAC. Lors de la création du cluster cette base est créée sur le diskgroup de l'OCR soit +OCR_VOTING. Il s'agit ici de la déplacer sur +DG_MGMTDB. La version de Oracle utilisée est la 12.1.0.2. Dans cette version la base MGMTDB est de type Plugable Database.
Désactivation ressource
Sur chaque noeud en tant que root stopper et désactiver la ressource ora.crf
/ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl stop res ora.crf -init /ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl modify res ora.crf -attr ENABLED=0 -init
Vérification
/ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl stat res -t -init
Sortie :
... ora.crf 1 OFFLINE OFFLINE STABLE ...
La ressource est bien OFFLINE
Déplacement de la base
Le principe est de détruire la base et de la recréer sur le nouveau diskgroup. Les actions sont faites en tant que user oragrid. Dans un premier temps relever sur quel noeud tourne la base MGMTDB.
srvctl status MGMTDB Database is enabled Instance -MGMTDB is running on node SRV1
Par DBCA supprimer la base MGMTDB depuis le noeud retrouvé précédement soit SRV1.
dbca -silent -deleteDatabase -sourceDB -MGMTDB
Puis la recréer sur le nouveau diskgroup ici +DG_MGMTDB
dbca -silent -createDatabase -sid -MGMTDB -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -gdbName _mgmtdb -storageType ASM -diskGroupName +DG_MGMTDB -datafileJarLocation /ora01/app/oragrid/product/12.1.0.2/GI/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck
En 12c la base MGMTDB est de type CDB, retrouver le nom du cluster avant de créer la PDB.
olsnodes -c delta
Si le nom comporte des tirets il faut les remplacer dans la commande, clause pdbName, par des underscores ( exemple CRS-001 -> CRS_001 ). Dans l'exemple le cluster se nomme delta donc pdbName = DELTA.
dbca -silent -createPluggableDatabase -sourceDB -MGMTDB -pdbName DELTA -createPDBFrom RMANBACKUP -PDBBackUpfile /ora01/app/oragrid/product/12.1.0.2/GI/assistants/dbca/templates/mgmtseed_pdb.dfb -PDBMetadataFile /ora01/app/oragrid/product/12.1.0.2/GI/assistants/dbca/templates/mgmtseed_pdb.xml -createAsClone true
Une fois créée, demander la sécurisation par la commande mgmtca. Il ne doit pas y avoir d'erreur.
L'erreur la plus courante est de ne pas indiquer correctement le nom du cluster ce qui provoque l'erreur suivante :
MGTCA-1101 : failure in Oracle Grid Infrastructure Management Repository operation
Dans ce cas refaire les étapes de création. ( Voir MOS : Doc ID 2168379.1 )
Vérification
srvctl status MGMTDB Database is enabled Instance -MGMTDB is running on node SRV1
Réactivation ressource
Se connecter root sur chaque noeud et réactiver la ressource ora.crf.
/ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl modify res ora.crf -attr ENABLED=1 -init /ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl start res ora.crf -init
Vérification
/ora01/app/oragrid/product/12.1.0.2/GI/bin/crsctl stat res -t -init
Sortie :
... ora.crf 1 ONLINE ONLINE SRV1 STABLE
La ressource est bien ONLINE.
Conclusion
Sur l'ancien diskgroup, soit +OCR_VOTING, il peut rester une arborescence relative à MGMTDB. Celle-ci peut être supprimée manuellement sans danger car il ne s'agit que de répertoires et non de fichiers.