12c特性解读:RAC MGMTDB资料库新特性说明及初相识

本文涉及的产品
车辆物流识别,车辆物流识别 200次/月
教育场景识别,教育场景识别 200次/月
企业资质识别,企业资质识别 200次/月
简介:


戴明明(Dave)

Oracle ACE-A,ACOUG核心成员,宝存科技数据库方案架构师

Dave也是CSDN 认证专家,超过7年的DBA经验,擅长Oracle数据库诊断、性能调优,热衷于Oracle 技术的研究与分享。从14年开始研究基于PCIe闪存卡的数据库高可用,高性能解决方案。 


编辑手记:感谢Dave授权我们转载其技术文章,他在博客时代书写的大量文章影响了DBA领域的很多朋友,现在我们精选他的文章,让更多读者受益。


在Oracle 12.1.0.1的Grid Infrastructure 的安装中,可以选择是否安装Grid Infrastructure Management Repository (GIMR) 数据库:MGMTDB. 如下图所示:

在Grid Infrastructure 12.1.0.2 中,已经没有该选项,GIMR 数据库已经变成了强制选项。在Oracle 12c 中Management Database 用来存储Cluster HealthMonitor (CHM/OS,ora.crf) ,Oracle Database QoS Management,Rapid Home Provisioning和其他的数据。

 

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

 

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

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

  • 在12.1.0.2 中,可以忽略这个问题,因为是强制安装GIMR了。

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

 

MGMTDB 基本操作

查看Management DB 相关的资源:

[root@rac1 ~]# crsctl stat  res -t

--------------------------------------------------------------------------------

Name           Target  State       Server                   Statedetails      

--------------------------------------------------------------------------------

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

……

 

使用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  014: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


启动和关闭MGMT

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

Usage: srvctl start mgmtdb[-startoption <start_option>] [-node <node_name>]
Usage: srvctl start mgmtlsnr [-node <node_name>]

 

查看log 和trace 文件

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

[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 都在这个里。

 

MGMTDB是带一个PDB的CDB数据库

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

--查看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 onMon Dec 8 15:24:37 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, Automatic StorageManagement and Advanced Analytics options

 

SQL> select file_name fromdba_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

这里查询的是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 fromdba_users where username like 'CH%';

USERNAME      ACCOUNT_STATUS  

------------- ----------------

CHM                     OPEN

CHA                     OPEN


文章转自数据和云公众号,原文链接

相关文章
|
Oracle 关系型数据库 数据库
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库 测试技术
|
存储 文字识别 Oracle
|
Oracle 安全 关系型数据库
|
Oracle 网络协议 关系型数据库
|
4月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
106 2
|
4月前
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决