Hi everyone,
Today in this article I would like to share my experience regarding drop/recreate the MGMTDB in order to purge the repository and free some space from ASM Disk Group.
I was going to perform a migration from Oracle Database 12.2 Single Instance to an Oracle Database 12.2 Rac One Node, when I found something bizarre. The “+DATA” diskgroup was 59GB of used space and it was a fresh installation (Only few weeks waiting for the “GO” to migrate without any database).
After performing the actions below, I was able free / to get back about 20GB.
Documents used in this procedure:
- How to Move/Recreate GI Management Repository (GIMR / MGMTDB) to Different Shared Storage (Diskgroup, CFS or NFS etc) (Doc ID 1589394.1)
- 12.2: How to Create GI Management Repository (Doc ID 2246123.1)
- MDBUtil: GI Management Repository configuration tool (Doc ID 2065175.1)
Steps:
[oracle@lab-dev-datad1 ~] $ . oraenv ORACLE_SID = [+ASM1] ? +ASM1 The Oracle base remains unchanged with value /u01/base
[oracle@lab-dev-datad1 ~]
$ ps -ef | grep pmon
oracle 19280 1 0 08:21 ? 00:00:00 asm_pmon_+ASM1
oracle 21769 1 0 08:21 ? 00:00:00 mdb_pmon_-MGMTDB
oracle 22655 29118 0 11:05 pts/1 00:00:00 grep --color=auto pmon
[oracle@lab-dev-datad1 ~]$ asmcmd lsdg

[oracle@lab-dev-datad1 ~]
$ asmcmd -p
ASMCMD [+] > ls -l
State Type Rebal Name
MOUNTED EXTERN N DATA/
MOUNTED EXTERN N FRA/
ASMCMD [+] >
ASMCMD [+] > du FRA Used_MB Mirror_used_MB 2268 2268
ASMCMD [+] > du DATA
Used_MB Mirror_used_MB
59292 59292
ASMCMD [+] > cd DATA
ASMCMD [+DATA] > ls -l Type Redund Striped Time Sys Name Y ASM/ N _mgmtdb/ Y dev-data-clu/ PASSWORD UNPROT COARSE JUL 09 16:00:00 N orapwasm => +DATA/ASM/PASSWORD/pwdasm.256.1013185265 PASSWORD UNPROT COARSE JUL 09 16:00:00 N orapwasm_backup => +DATA/ASM/PASSWORD/pwdasm.257.1013185629
ASMCMD [+DATA] > du ASM
Used_MB Mirror_used_MB
0 0
ASMCMD [+DATA] > du _mgmtdb/
Used_MB Mirror_used_MB
57776 57776
Stopping required resources in both nodes:
As root user, from Grid Home:
[root@lab-dev-datad1 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl stop res ora.crf -init CRS-2673: Attempting to stop 'ora.crf' on 'lab-dev-datad1' CRS-2677: Stop of 'ora.crf' on 'lab-dev-datad1' succeeded
[root@lab-dev-datad2 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl stop res ora.crf -init CRS-2673: Attempting to stop 'ora.crf' on 'lab-dev-datad2' CRS-2677: Stop of 'ora.crf' on 'lab-dev-datad2' succeeded
[root@lab-dev-datad1 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl modify res ora.crf -attr ENABLED=0 -init
[root@lab-dev-datad2 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl modify res ora.crf -attr ENABLED=0 -init
Validate MGMTDB database status:
[root@lab-dev-datad1 ~]# /u01/oracle/base/product/12.2.0/grid/bin/srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node lab-dev-datad1
Deleting MGMTDB using DBCA in silent mode:
As oracle user:
[oracle@lab-dev-datad1 ~]$ /u01/oracle/base/product/12.2.0/grid/bin/dbca -silent -deleteDatabase -sourceDB -MGMTDB
Connecting to database
4% complete
9% complete
14% complete
19% complete
23% complete
28% complete
47% complete
Updating network configuration files
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file "/u01/base/cfgtoollogs/dbca/_mgmtdb.log" for further details.
Validate the current space from “+DATA” diskgroup:
[oracle@lab-dev-datad1 ~]$ asmcmd lsdg

In order to recreate the MGMTDB in Oracle Database 12/R2 (12.2), is required to use a perl script (mdbutil.pl), that you can download from here:
- MDBUtil: GI Management Repository configuration tool (Doc ID 2065175.1)
Recreating MGMTDB:
Listing options:
[oracle@lab-dev-datad1 ~]$ ./mdbutil.pl -h
Usage:
Create/Enable MGMTDB & CHM
mdbutil.pl --addmdb --target=
Move MGMTDB to another location
mdbutil.pl --mvmgmtdb --target=
Check MGMTDB status
mdbutil.pl --status
mdbutil.pl OPTIONS
--addmdb Create MGMTDB/CHM and reconfigure related functions
--mvmgmtdb Migrate MGMTDB to another location
--target='+DATA' MGMTDB Disk Group location
--status Check the CHM & MGMTDB status
--help Display this help and exit
--debug Verbose commands output/trace
Example:
Create/Enable MGMTDB:
mdbutil.pl --addmdb --target=+DATA
Move MGMTDB to another location:
mdbutil.pl --mvmgmtdb --target=+REDO
Check CHM:
mdbutil.pl --status
Launch MGMTDB creation:
[oracle@lab-dev-datad1 ~]$ ./mdbutil.pl --addmdb --target=+DATA
mdbutil.pl version : 1.98 2019-10-04 11:32:18: I Starting To Configure MGMTDB at +DATA… 2019-10-04 11:32:21: I Container database creation in progress… for GI 12.2.0.1.0 2019-10-04 11:42:13: I Plugable database creation in progress… 2019-10-04 11:47:20: I Executing "/tmp/mdbutil.pl --addchm" on lab-dev-datad1 as root to configure CHM. root@lab-dev-datad1's password: 2019-10-04 11:49:50: I MGMTDB & CHM configuration done! root@lab-dev-datad2's password: 2019-10-04 11:49:50: I MGMTDB & CHM configuration done!
Modifying back the resource ora.crf in both nodes:
As root user, from Grid Home:
[root@lab-dev-datad1 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl modify res ora.crf -attr ENABLED=1 -init
[root@lab-dev-datad1 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'lab-dev-datad1'
CRS-2676: Start of 'ora.crf' on 'lab-dev-datad1' succeeded
[root@lab-dev-datad2 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl modify res ora.crf -attr ENABLED=1 -init
[root@lab-dev-datad2 ~]# /u01/oracle/base/product/12.2.0/grid/bin/crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'lab-dev-datad2'
CRS-2676: Start of 'ora.crf' on 'lab-dev-datad2' succeeded
[oracle@lab-dev-datad1 ~]$ /u01/oracle/base/product/12.2.0/grid/bin/srvctl status mgmtdb Database is enabled Instance -MGMTDB is running on node lab-dev-datad1
Validate the current size after MGMTDB database creation:
[oracle@lab-dev-datad1 ~]$ asmcmd lsdg

[oracle@lab-dev-datad1 ~]$ asmcmd -p
ASMCMD [+] > ls -l
State Type Rebal Name
MOUNTED EXTERN N DATA/
MOUNTED EXTERN N FRA/
ASMCMD [+] > du DATA Used_MB Mirror_used_MB 34256 34256
From Oracle 12.2 Standalone Cluster is required at least 37.6GB only for MGMTDB
Oracle Clusterware Storage Space Requirements (12.2)
- Table 8-5 Mininum Space Requirements for Oracle Standalone Cluster

PS: FAQ: 12c Grid Infrastructure Management Repository (GIMR) (Doc ID 1568402.1)
See you in the next post!