签到成功

知道了

CNDBA社区CNDBA社区

Oracle 12c RAC MGMTDB 说明

2016-09-08 09:05 6857 0 原创 Oracle 18c
作者: dave


 

1       MGMTDB 说明

 

Oracle 12.1.0.1 Grid Infrastructure 的安装中,可以选择是否安装Grid Infrastructure Management Repository (GIMR) 数据库:MGMTDB. 如下图:http://www.cndba.cn/dave/article/248

 

1.png

 

Grid Infrastructure 12.1.0.2 中,已经没有改选项,MIMR 数据库已经变成了强制选项。

 

 

Oracle 12c Management Database 用来Cluster Health Monitor(CHM/OS,ora.crf) Oracle Database QoS ManagementRapid Home Provisioning和其他的数据。

 

 Management Repository 是受12c Clusterware 管理的一个单实例,在Cluster 启动的时会启动MGMTDG并在其中一个节点上运行,并受GI 管理,如果运行MGMTDG的节点宕机了,GI 会自动把MGMTDB 转移到其他的节点上。

 

         默认情况,MGMTDB 数据库的数据文件存放在共享的设备,如OCR/Voting 的磁盘组中,但后期可以移动位置。

 

12.1.0.1 中,GIMR 是可选的,如果在安装GI的时候,没有选择Management Database 数据库,那么所有依赖的特性,如Cluster Health Monitor (CHM/OS) 就会被禁用。

 http://www.cndba.cn/dave/article/248

当然,在12.1.0.2 中,可以忽略这个问题,因为是强制安装GIMR了。http://www.cndba.cn/dave/article/248

 

另外,对于MGMT 数据库,在目前的版本中,也不需要手工对其进行备份。

 

 

 

 

 

2       MGMTDB 基本操作

 

2.1        查看Management DB 相关的资源:

 

[root@rac1 ~]# crsctl stat  res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
……
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac2                     169.254.142.79 192.1
                                                             68.57.6,STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac2                     Open,STABLE
……
[root@rac1 ~]#

 

使用crsctl 命令可以看到ora.mgmtdb ora.MGMTLSNR

 

在操作系统层面,也可以查看到有2个对应的进程:

[root@rac2 ~]# ps -ef| grep pmon_-MGMTDB
grid      7452     1  0 14:59 ?        00:00:00 mdb_pmon_-MGMTDB
root      7756  7727  0 15:02 pts/4    00:00:00 grep pmon_-MGMTDB
 
[root@rac2 ~]# ps -ef| grep MGMTLSNR
grid      7411     1  0 14:58 ?        00:00:00 /u01/gridsoft/12.1.0/bin/tnslsnr MGMTLSNR -no_crs_notify -inherit
root      7758  7727  0 15:02 pts/4    00:00:00 grep MGMTLSNR
[root@rac2 ~]#


 

2.2             启动和关闭MGMT

正常情况下,MGMTDB 会在GI 启动的时候,会自动启动,但也可以手工管理,直接使用srvctl 操作即可:

Usage: srvctl start mgmtdb [-startoption ] [-node ]

Usage: srvctl start mgmtlsnr [-node ]

 

 

2.3        查看Management Database log trace 文件

一般情况下,是不需要查看MGMT DBtrace的,如果要查看,用如下命令:

[grid@rac2 _mgmtdb]$ pwd
/u01/gridbase/diag/rdbms/_mgmtdb
[grid@rac2 _mgmtdb]$ ls
i_1.mif  -MGMTDB
[grid@rac2 _mgmtdb]$

 

进入$ORACLE_BASE下的trace目录。 但是进入-MGMTDB时,要注意,不能直接cd

 

[grid@rac2 _mgmtdb]$ cd -MGMTDB
-bash: cd: -M: invalid option
cd: usage: cd [-L|-P] [dir]
[grid@rac2 _mgmtdb]$

 

必须使用./-MGMTDB,如:

[grid@rac2 _mgmtdb]$ cd ./-MGMTDB
[grid@rac2 -MGMTDB]$ ls
alert  hm        incpkg  lck  metadata       metadata_pv  sweep
cdump  incident  ir      log  metadata_dgif  stage        trace
[grid@rac2 -MGMTDB]$
 
[grid@rac2 trace]$ pwd
/u01/gridbase/diag/rdbms/_mgmtdb/-MGMTDB/trace
 
[grid@rac2 trace]$ ls
alert_-MGMTDB.log       -MGMTDB_ckpt_4772.trm   -MGMTDB_lgwr_7475.trc   -MGMTDB_m001_10288.trm  -MGMTDB_ora_10486.trc  -MGMTDB_p001_5645.trm
cdmp_20140807064254     -MGMTDB_ckpt_7477.trc   -MGMTDB_lgwr_7475.trm   -MGMTDB_m001_10330.trc  -MGMTDB_ora_10486.trm  -MGMTDB_p001_7523.trc
cdmp_20141208110548     -MGMTDB_ckpt_7477.trm   -MGMTDB_m000_10101.trc  -MGMTDB_m001_10330.trm  -MGMTDB_ora_10830.trc  -MGMTDB_p001_7523.trm
cdmp_20141208110550     -MGMTDB_dbrm_4764.trc   -MGMTDB_m000_10101.trm  -MGMTDB_m001_8055.trc   -MGMTDB_ora_10830.trm  -MGMTDB_rbal_10460.trc
cdmp_20141208110553     -MGMTDB_dbrm_4764.trm   -MGMTDB_m000_10202.trc  -MGMTDB_m001_8055.trm   -MGMTDB_ora_3770.trc   -MGMTDB_rbal_10460.trm
cdmp_20141208110555     -MGMTDB_dbrm_7469.trc   -MGMTDB_m000_10202.trm  -MGMTDB_mark_10484.trc  -MGMTDB_ora_3770.trm   -MGMTDB_rbal_4782.trc

MGMT DB 的日志和trace 都在这个里。

 

 

3       MGMTDB是带一个PDBCDB实例

 

前面说了,MGMTDB 是一个实例,实际上,MGMTDB是带一个PDBCDB库,我们可以使用GI的命令直接去操作MGMTDB 对应的PDB

 

--启动MGMTDB:
[root@rac1 ~]# srvctl status mgmtdb
Database is enabled
Database is not running.
[root@rac1 ~]# srvctl start mgmtdb
 
[root@rac1 ~]#
[root@rac1 ~]# srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac1
[root@rac1 ~]#
 
--查看MGMTDB当前节点:
[grid@rac2 /]$ oclumon manage -get master
Master = rac1
 
--查看状态:
[grid@rac2 /]$ srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac2
 
--查看配置信息:
[grid@rac2 /]$ srvctl config mgmtdb
Database unique name: _mgmtdb
Database name:
Oracle home: /u01/gridsoft/12.1.0
Oracle user: grid
Spfile: +OCR_VOTING/_mgmtdb/spfile-MGMTDB.ora
Password file:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Database instance: -MGMTDB
Type: Management
 
--连接MGMTDB实例
[grid@rac2 /]$ export ORACLE_SID=-MGMTDB
[grid@rac2 /]$ sqlplus / as sysdba
 
SQL*Plus: Release 12.1.0.1.0 Production on Mon Dec 8 15:24:37 2014
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management and Advanced Analytics options
 
SQL> select file_name from dba_data_files union select member file_name from V$logfile;
 
FILE_NAME
--------------------------------------------------------------------------------
+OCR_VOTING/_MGMTDB/DATAFILE/sysaux.258.854939615
+OCR_VOTING/_MGMTDB/DATAFILE/sysgridhomedata.261.854939891
+OCR_VOTING/_MGMTDB/DATAFILE/sysmgmtdata.260.854939737
+OCR_VOTING/_MGMTDB/DATAFILE/system.259.854939661
+OCR_VOTING/_MGMTDB/DATAFILE/undotbs1.257.854939605
+OCR_VOTING/_MGMTDB/ONLINELOG/group_1.263.854940051
+OCR_VOTING/_MGMTDB/ONLINELOG/group_2.264.854940053
+OCR_VOTING/_MGMTDB/ONLINELOG/group_3.265.854940057
 
8 rows selected.
 
 
这里查询的是MGMTDB的路径,也可以直接用如下命令查询:
[grid@rac2 /]$ oclumon manage -get reppath
CHM Repository Path = +OCR_VOTING/_MGMTDB/DATAFILE/sysmgmtdata.260.854939737
[grid@rac2 /]$
 
 
--查询MGMTDB用户:
SQL> select username,account_status from dba_users where username like 'CH%';
 
USERNAME      ACCOUNT_STATUS  
------------- ----------------
CHM                                                        OPEN
CHA                                                OPEN

 

 

4       移动MGMTDB 数据文件位置

 

默认情况下,MGMTDB 的数据文件是存放在OCR voting disk的磁盘组里的,为了节省OCR 磁盘组空间,我们也可以把MGMTDB 转移走。

 

         当然,这里的移动位置,也是从一个共享位置移动到另一个共享位置。

 

具体操作如下。

 

12.1.0.1 版本中有有问题,升级到12.1.0.2 解决。

 

4.1        停止并禁用ora.crf 资源

 

这里的ora.crf就是CHM

 

在所有节点使用root用户执行如下命令:

 http://www.cndba.cn/dave/article/248http://www.cndba.cn/dave/article/248

[root@rac1 ~]# crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'rac1'
CRS-2677: Stop of 'ora.crf' on 'rac1' succeeded
 
[root@rac1 ~]# crsctl modify res ora.crf -attr ENABLED=0 -init
[root@rac1 ~]#
 
[root@rac2 ~]# crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'rac2'
CRS-2677: Stop of 'ora.crf' on 'rac2' succeeded
 
[root@rac2 ~]# crsctl modify res ora.crf -attr ENABLED=0 -init
[root@rac2 ~]#
 
注意:ora.mgmtlsnr 和 ora.mgmtdb 资源不能停,否则DBCA 时会报错。

 http://www.cndba.cn/dave/article/248

4.2        执行DBCA 删除management database

 

 

--查看MGMTDB的运行节点:

[root@rac1 ~]# srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac2

 

这里显示在节点2上运行,那么在节点2上,用grid用户,执行dbca 命令,删除MGMTDB

 

[grid@rac2 ~]$ 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
48% complete
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file "/u01/gridbase/cfgtoollogs/dbca/_mgmtdb.log" for further details.
[grid@rac2 ~]$

 

注意:

如果是使用DBCA 手工创建的MGMTDB,则可能出现不能删除的情况,具体处理过程可以参考MOS 1631336.1

 http://www.cndba.cn/dave/article/248

 

4.3           重建MGMTDBCDB

4.3.1    12.1.0.1 执行如下命令

 

grid用户,在任意节点,执行如下命令,重建CDB

/bin/dbca -silent -createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType ASM -diskGroupName <+NEW_DG> -datafileJarLocation /assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -oui_internal

 

注意:

这里新的磁盘组,建议compatible.asm compatible.rdbms 属性都设置为12.1http://www.cndba.cn/dave/article/248

 

上面的命令使用的是磁盘组,如果是使用共享的NFS/CFS 则使用如下命令:http://www.cndba.cn/dave/article/248

/bin/dbca -silent -createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType FS -datafileDestination -datafileJarLocation /assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -oui_internal

 

我们这里数据库版本是12.1.0.1,并且使用的是磁盘组,所以执行第一个命令:

[grid@rac1 /]$ dbca -silent -createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType ASM -diskGroupName OCR -datafileJarLocation /u01/gridsoft/12.1.0/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -oui_internal
Copying database files
1% complete
3% complete
10% complete
17% complete
24% complete
31% complete
35% complete
Creating and starting Oracle instance
37% complete
42% complete
47% complete
52% complete
53% complete
56% complete
58% complete
Registering database with Oracle Grid Infrastructure
64% complete
Completing Database Creation
68% complete
78% complete
89% complete
100% complete
Look at the log file "/u01/gridbase/cfgtoollogs/dbca/_mgmtdb/_mgmtdb0.log" for further details.
[grid@rac1 /]$

 

 

4.3.2    12.1.0.2  执行如下命令

 

在任意节点,用grid用户执行如下命令:

 

--ASM 磁盘组:
$ 
 
 
  
  /bin/dbca -silent -createDatabase -sid -MGMTDB -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -gdbName _mgmtdb -storageType ASM -diskGroupName <+NEW_DG> -datafileJarLocation $GRID_HOME/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck
 
 
--共享的NFS/CFS :
$
  
  
    /bin/dbca -silent -createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType FS -datafileDestination  
   
      -datafileJarLocation  
    
      /assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -oui_internal   --示例: [grid@rac1 templates]$ dbca -silent -createDatabase -sid -MGMTDB -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -gdbName _mgmtdb -storageType ASM -diskGroupName +OCR -datafileJarLocation /u01/gridsoft/12.1.0.2/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck Registering database with Oracle Grid Infrastructure 5% complete Copying database files 7% complete 9% complete 16% complete 23% complete 30% complete 41% complete Creating and starting Oracle instance 43% complete 48% complete 49% complete 50% complete 55% complete 60% complete 61% complete 64% complete Completing Database Creation 68% complete 79% complete 89% complete 100% complete Look at the log file "/u01/gridbase/cfgtoollogs/dbca/_mgmtdb/_mgmtdb0.log" for further details. [grid@rac1 templates]$ 
     
    
  
 
 

 

 

 

4.4        使用DBCA 创建PDB

 

[grid@rac1 templates]$ srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac1
[grid@rac1 templates]$

 

在任意节点,用grid用户执行dbca 创建PDB,命令如下:

 

$ /bin/dbca -silent -createPluggableDatabase -sourceDB -MGMTDB -pdbName -createPDBFrom RMANBACKUP -PDBBackUpfile /assistants/dbca/templates/mgmtseed_pdb.dfb -PDBMetadataFile /assistants/dbca/templates/mgmtseed_pdb.xml -createAsClone true –internalSkipGIHomeCheck

 

--查询集群的名称:

[grid@rac1 /]$ cemutlo -n

rac-scan

[grid@rac1 /]$

 

注意:默认情况CLUSTER_NAME 都是-,这里比如换成_

 

我们这里就要换成rac_scan

 

[grid@rac1 templates]$ dbca -silent -createPluggableDatabase -sourceDB -MGMTDB -pdbName rac_scan -createPDBFrom RMANBACKUP -PDBBackUpfile /u01/gridsoft/12.1.0.2/assistants/dbca/templates/mgmtseed_pdb.dfb -PDBMetadataFile /u01/gridsoft/12.1.0.2/assistants/dbca/templates/mgmtseed_pdb.xml -createAsClone true -internalSkipGIHomeCheck
Creating Pluggable Database
4% complete
12% complete
21% complete
38% complete
55% complete
85% complete
Completing Pluggable Database Creation
100% complete
Look at the log file "/u01/gridbase/cfgtoollogs/dbca/_mgmtdb/rac_scan/_mgmtdb0.log" for further details.
[grid@rac1 templates]$

 

4.5        验证MGMTDB

 

grid用户执行如下命令,验证MGMTDB 运行情况:

[grid@rac1 ~]$ srvctl status MGMTDB

Database is enabled

Instance -MGMTDB is running on node rac1

 

这里显示的是节点1,那么在节点1上在执行:http://www.cndba.cn/dave/article/248

 

[grid@rac1 ~]$ mgmtca
[grid@rac1 ~]$ crsctl stat res -t
……
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac1                     169.254.193.105 192.
                                                             168.57.5,STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac1                     Open,STABLE
……
[grid@rac1 ~]$
 
[grid@rac1 templates]$ srvctl config mgmtdb
Database unique name: _mgmtdb
Database name: 
Oracle home: 
 
 
  
  
Oracle user: grid
Spfile: +OCR/_MGMTDB/PARAMETERFILE/spfile.268.865977817
Password file: 
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Type: Management
PDB name: rac_scan
PDB service: rac_scan
Cluster name: rac-scan
Database instance: -MGMTDB
[grid@rac1 templates]$
 
 
[grid@rac1 templates]$ export ORACLE_SID=-MGMTDB
[grid@rac1 templates]$ sqlplus / as sysdba
 
SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 10 21:39:13 2014
 
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> select file_name from dba_data_files union select member file_name from V$logfile;
 
FILE_NAME
--------------------------------------------------------------------------------
+OCR/_MGMTDB/DATAFILE/sysaux.257.865977463
+OCR/_MGMTDB/DATAFILE/system.258.865977473
+OCR/_MGMTDB/DATAFILE/undotbs1.259.865977489
+OCR/_MGMTDB/ONLINELOG/group_1.261.865977635
+OCR/_MGMTDB/ONLINELOG/group_2.262.865977635
+OCR/_MGMTDB/ONLINELOG/group_3.263.865977635
 
6 rows selected.
 
SQL>
 
 

 

数据文件已经转移到OCR 磁盘组了。

 

 

4.6             启用并启动ora.crf 资源

 

在所有节点,用root用户执行:

[root@rac1 u01]# crsctl modify res ora.crf -attr ENABLED=1 -init
 
[root@rac1 u01]# crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'rac1'
CRS-2676: Start of 'ora.crf' on 'rac1' succeeded
 
[root@rac1 u01]# oclumon manage -get master
 
Master = rac1
[root@rac1 u01]#

 


版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2237
    原创
  • 3
    翻译
  • 546
    转载
  • 186
    评论
  • 访问:6588973次
  • 积分:4242
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ