Olá pessoal!

No último post expliquei brevemente qual é o conteúdo do DiskGroup GRID, considerando que não optamos por criar um DiskGroup separado para o GIMR/MGMTDB.

Essa situação acontece com bastante frequência, porém, nós não queremos deixar o MGMTDB no mesmo DiskGroup com os principais arquivos do GI: OCR, Voting Disk, passwordfile e spfile do ASM.

Há um script escrito em PERL fornecido pela Oracle que permite mover o MGMTDB para outro DiskGroup.

O script pode ser encontrado na nota: MOS Note 2065175.1: MDBUtil: GI Management Repository configuration tool

Bom, tendo baixado o script do Metalink/My Oracle Support, vamos ver quais são as opções dele:

[grid@dbnode01 ~]$ ./mdbutil.pl 
mdbutil.pl version : 1.98
Unrecognized options passed!
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

Temos diversas opções, mas o que queremos aqui, é apenas mover o MGMTDB para outro DiskGroup:

[grid@dbnode01 ~]$ ./mdbutil.pl --mvmgmtdb --target=+OBQ_DATA
mdbutil.pl version : 1.98
2019-06-13 17:32:33: E Error: The MGMTDB is not running locally, relocate MGMTDB on local node and retry

Observem que pegamos um erro. Este erro é normal, pois o MGMTDB não está rodando no nó onde eu executei o mdbutil.pl. Temos aí duas opções: executar o mdbutil.pl do nó onde o MGMTDB está rodando, ou realizar o relocate. Apenas como ilustração, vamos realizar o relocate do recurso.

[grid@dbnode01 ~]$ srvctl relocate mgmtdb

Após isso, podemos seguir em frente:

[grid@dbnode01 ~]$ ./mdbutil.pl --mvmgmtdb --target=+OBQ_DATA
 mdbutil.pl version : 1.98
 Moving MGMTDB, it will be stopped, are you sure (Y/N)? Y
 2019-06-13 17:36:53: I Checking for the required paths under +OBQ_DATA
 2019-06-13 17:36:54: I Creating new path +OBQ_DATA/_MGMTDB/PARAMETERFILE
 2019-06-13 17:36:57: I Creating new path +OBQ_DATA/_MGMTDB/CONTROLFILE
 2019-06-13 17:36:59: I Creating new path +OBQ_DATA/_MGMTDB/ONLINELOG
 2019-06-13 17:37:01: I Creating new path +OBQ_DATA/_MGMTDB/DATAFILE
 2019-06-13 17:37:04: I Creating new path +OBQ_DATA/_MGMTDB/TEMPFILE
 2019-06-13 17:37:06: I Creating new path +OBQ_DATA/_MGMTDB/DATAFILE/PDB$SEED
 2019-06-13 17:37:08: I Creating new path +OBQ_DATA/_MGMTDB/DATAFILE/TEMPFILE/PDB$SEED
 2019-06-13 17:37:09: I Creating new path +OBQ_DATA/_MGMTDB/DATAFILE/crsdrlq2db
 2019-06-13 17:37:12: I Creating new path +OBQ_DATA/_MGMTDB/TEMPFILE/crsdrlq2db
 2019-06-13 17:37:14: I Getting MGMTDB Database files location
 2019-06-13 17:37:14: I Getting MGMTDB Temp files location
 2019-06-13 17:37:14: I Getting MGMTDB PDB PDB$SEED files location
 2019-06-13 17:37:14: I Getting MGMTDB PDB PDB$SEED Temp files location
 2019-06-13 17:37:15: I Getting MGMTDB PDB GIMR_DSCREP_10 files location
 2019-06-13 17:37:15: I Getting MGMTDB PDB GIMR_DSCREP_10 Temp files location
 2019-06-13 17:37:20: I Creating temporary PFILE
 2019-06-13 17:37:20: I Creating target SPFILE
 2019-06-13 17:37:24: I Stopping the Cluster Health Analysis Resource
 2019-06-13 17:37:35: I Stopping mgmtdb
 2019-06-13 17:37:56: I Copying MGMTDB DBFiles to +OBQ_DATA
 2019-06-13 17:38:09: I Copying MGMTDB PDB$SEED DBFiles to +OBQ_DATA
 2019-06-13 17:38:18: I Copying MGMTDB PDB DBFiles to +OBQ_DATA
 2019-06-13 17:43:18: I Creating the CTRL File
 2019-06-13 17:44:39: I The CTRL File has been created and MGMTDB is now running from +OBQ_DATA
 2019-06-13 17:44:39: I Setting MGMTDB SPFile location
 2019-06-13 17:44:41: I Modifing the init parameter
 2019-06-13 17:44:41: I Removing old MGMTDB
 2019-06-13 17:45:17: I Changing START_DEPENDENCIES
 2019-06-13 17:45:17: I Changing STOP_DEPENDENCIES
 2019-06-13 17:45:18: I Restarting MGMTDB using target SPFile
 2019-06-13 17:46:24: I Starting the Cluster Health Analysis Resource
 2019-06-13 17:46:32: I MGMTDB Successfully moved to +OBQ_DATA!

O MGMTDB foi movido com sucesso para o DiskGroup +OBQ_DATA.

Vamos verificar agora o conteúdo do DiskGroup GRID?

[grid@dbnode01 ~]$ asmcmd
ASMCMD>
ASMCMD>
ASMCMD> find +obq_grid1 *
+obq_grid1/ASM/
+obq_grid1/ASM/PASSWORD/
+obq_grid1/ASM/PASSWORD/pwdasm.256.1010754289
+obq_grid1/ASM/PASSWORD/pwdasm.257.1010754749
+obq_grid1/crsdrlq2db/
+obq_grid1/crsdrlq2db/ASMPARAMETERFILE/
+obq_grid1/crsdrlq2db/ASMPARAMETERFILE/REGISTRY.253.1010754285
+obq_grid1/crsdrlq2db/OCRFILE/
+obq_grid1/crsdrlq2db/OCRFILE/REGISTRY.255.1010754291
+obq_grid1/orapwasm
+obq_grid1/orapwasm_backup

Como podem observar na lista acima, não temos mais o MGMTDB no DiskGroup OBQ_GRID1. Apenas como comparação, se você ler o meu último post sobre o assunto, você verificará que o MGMTDB antes estava lá. Clique aqui para ver o último post.

Um abraço!

Vinicius