MGMTDB is een nieuwe database-instantie die wordt gebruikt voor het opslaan van Cluster Health Monitor (CHM)-gegevens.
In Oracle 11g werd deze informatie opgeslagen in Berkley-database (.bdb-bestanden), in $GRID_HOME/crf/db/hostname, maar vanaf Oracle-database 12c is het geconfigureerd als een Oracle Single Instance.
In Oracle 12.1.0.1 is de Grid Infrastructure Management Repository (GIMR) optioneel.
In Oracle 12.1.0.2 is het verplicht en wordt het niet ondersteund om uitgeschakeld te worden, met uitzondering van 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
Onderstaande waarschuwing ontvangen van de Grid Control van de SYSMGMTDATA tablespace met 91% bezet:
De variabelen in de oraEMNGAlert trap.
oraEMNGEventTargetName =-MGMTDB_exadb015.PDB_CLUSTER
oraEMNGEventMessage =De SYSMGMTDATA-tabelruimte heeft 91.314453125 bezet .
oraEMNGEventSeverityCode =CRITICAL
oraEMNGEventReportedTime =31 mei 2020 19:31:27 BRT
oraEMNGEventCategories =Capaciteit
oraEMNGEventType =Metrische waarschuwing
oraEMNGEventTargetType =Inplugbare database
oraEMNGEventHostName =exadb015
oraEMNGEventTargetVersion =12.1.0.2.0
oraEMNGEventUserDefinedTgtProp =Besturingssysteem=Linux, Platform=x86_64,
oraEMNGEventRuleName =Tablespace, Tablespace
Controleer de huidige CHM-repository:
# oclumon manage -get reppath CRS-9001-internal error CRS-9010-Error manage: mandatory data not supplied
De fout treedt op omdat de bron offline is:
# crsctl stat res ora.crf -init NAME=ora.crf TYPE=ora.crf.type TARGET=ONLINE STATE=OFFLINE
Schakel de bron ora.crf in:
# cd /u01/app/12.1.0.2/grid/bin/ # ./crsctl modify res ora.crf -attr ENABLED=1 -init
Start de ora.crf-bron handmatig met het onderstaande commando:
# crsctl start res ora.crf -init CRS-2672: Attempting to start 'ora.crf' on 'exadb015' CRS-2676: Start of 'ora.crf' on 'exadb015' succeeded
Bron staat online:
# 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 --------------------------------------------------------------------------------
Geeft de status van de huidige configuratie weer:
# 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
Controleer de huidige CHM-repository:
# 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
Verklein het gegevensbestand. Ik heb de maat vergroot van 2048M naar 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.
Andere manieren om het ruimteprobleem in tabelruimte SYSMGMTDATA in GIMR Database op te lossen:
– Verplaats GIMR-repository naar verschillende gedeelde opslag (schijfgroep, CFS of NFS enz.) volgens Doc ID 1589394.1.
– Kap de grote tafels die eigendom zijn van CHM af volgens Doc ID 2177879.1.
Normaal gesproken kunnen de onderstaande twee tabellen worden afgekapt:
sql> truncate table CHM.CHMOS_PROCESS_INT_TBL; sql> truncate table CHM.CHMOS_DEVICE_INT_TBL;
De traceerbestanden van de instantie MGMTDB zijn standaard te vinden in:
$DIAG_HOME/_mgmtdb/-MGMTDB/trace