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.