MGMTDB est une nouvelle instance de base de données utilisée pour stocker les données de Cluster Health Monitor (CHM).
Dans Oracle 11g, ces informations étaient stockées dans la base de données Berkley (fichiers .bdb), dans $GRID_HOME/crf/db/hostname, mais à partir de la base de données Oracle 12c, elles sont configurées en tant qu'instance unique Oracle.
Dans Oracle 12.1.0.1, le référentiel de gestion de l'infrastructure de grille (GIMR) est facultatif.
Dans Oracle 12.1.0.2, il est obligatoire et sa désactivation n'est pas prise en charge, à l'exception d'Exadata.
# ps -ef |grep mdb_pmon oracle 4961 4124 0 11:05 pts/2 00:00:00 grep --color=auto mdb_pmon grid 40414 1 0 2018 ? 01:04:31 mdb_pmon_-MGMTDB
Avertissement d'alerte ci-dessous reçu du Grid Control de l'espace de table SYSMGMTDATA avec 91 % d'occupation :
Les variables incluses dans l'interruption oraEMNGAlert.
oraEMNGEventTargetName =-MGMTDB_exadb015.PDB_CLUSTER
oraEMNGEventMessage =Le tablespace SYSMGMTDATA a 91.314453125 occupés .
oraEMNGEventSeverityCode =CRITIQUE
oraEMNGEventReportedTime =31 mai 2020 19:31:27 BRT
oraEMNGEventCategories =Capacité
oraEMNGEventType =Alerte de métrique
oraEMNGEventTargetType =Base de données enfichable
oraEMNGEventHostName =exadb015
oraEMNGEventTargetVersion =12.1.0.2.0
oraEMNGEventUserDefinedTgtProp =Operating System=Linux, Platform=x86_64,
oraEMNGEventRuleName =Tablespace, Tablespace
Vérifiez le référentiel CHM actuel :
# oclumon manage -get reppath CRS-9001-internal error CRS-9010-Error manage: mandatory data not supplied
L'erreur se produit car la ressource est hors ligne :
# crsctl stat res ora.crf -init NAME=ora.crf TYPE=ora.crf.type TARGET=ONLINE STATE=OFFLINE
Activez la ressource ora.crf :
# cd /u01/app/12.1.0.2/grid/bin/ # ./crsctl modify res ora.crf -attr ENABLED=1 -init
Démarrez la ressource ora.crf manuellement à l'aide de la commande ci-dessous :
# crsctl start res ora.crf -init CRS-2672: Attempting to start 'ora.crf' on 'exadb015' CRS-2676: Start of 'ora.crf' on 'exadb015' succeeded
La ressource est en ligne :
# crsctl stat res ora.crf -init NAME=ora.crf TYPE=ora.crf.type TARGET=ONLINE STATE=ONLINE on exadb015 # crsctl stat res ora.mgmtdb -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.mgmtdb 1 ONLINE ONLINE exadb015 Open,STABLE --------------------------------------------------------------------------------
Affiche l'état de la configuration actuelle :
# srvctl config mgmtdb Database unique name: _mgmtdb Database name: Oracle home: <CRS home> Oracle user: grid Spfile: +DG_OCRVOTING/_MGMTDB/PARAMETERFILE/spfile.268.886174866 Password file: Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Type: Management PDB name: pdb_cluster PDB service: pdb_cluster Cluster name: pdb-cluster Database instance: -MGMTDB
Vérifiez le référentiel CHM actuel :
# oclumon manage -get reppath CHM Repository Path = +DG_OCRVOTING/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSMGMTDATA.269.886174975 # asmcmd ls -ls +DG_OCRVOTING/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSMGMTDATA.269.886174975 Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name DATAFILE HIGH COARSE JUN 01 12:00:00 Y 8192 262145 2147491840 6467616768 SYSMGMTDATA.269.886174975
Redimensionnez le fichier de données. J'ai augmenté la taille de 2048M à 3072M :
$ export ORACLE_SID=-MGMTDB $ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Mon Jun 1 13:32:46 2020 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, Automatic Storage Management and Advanced Analytics options sql> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB_CLUSTER READ WRITE NO sql> alter session set container=PDB_CLUSTER; Session altered. sql> select TABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLE,BYTES/1024/1024 MB, MAXBLOCKS/1024/1024 from dba_data_files where TABLESPACE_NAME='SYSMGMTDATA'; TABLESPACE_NAME FILE_NAME AUT MB MAXBLOCKS/1024/1024 --------------- --------- ---- ------ -------------------- SYSMGMTDATA +DG_OCRVOTING/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/sysmgmtdata.269.886174975 NO 2048 0 sql> alter database datafile '+DG_OCRVOTING/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/sysmgmtdata.269.886174975' resize 3072m; Database altered.
Autres façons de résoudre le problème d'espace dans le tablespace SYSMGMTDATA dans la base de données GIMR :
– Déplacez le référentiel GIMR vers un stockage partagé différent (groupe de disques, CFS ou NFS, etc.) conformément à l'ID de document 1589394.1.
– Tronquez les grandes tables appartenant à CHM conformément au Doc ID 2177879.1.
Normalement, les deux tableaux ci-dessous peuvent être tronqués :
sql> truncate table CHM.CHMOS_PROCESS_INT_TBL; sql> truncate table CHM.CHMOS_DEVICE_INT_TBL;
Les fichiers de trace de l'instance MGMTDB se trouvent par défaut dans :
$DIAG_HOME/_mgmtdb/-MGMTDB/trace