Database
 sql >> Base de données >  >> RDS >> Database

L'espace de table SYSMGMTDATA est FULL dans le référentiel de gestion de l'infrastructure de grille (MGMTDB)

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