閱讀912 返回首頁    go 阿裏雲 go 技術社區[雲棲]


12c特性解讀:RAC MGMTDB資料庫新特性說明及初相識

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
戴明明(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. 如下圖所示:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

在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


文章轉自數據和雲公眾號,原文鏈接

最後更新:2017-07-18 12:02:50

  上一篇:go  “去O”不如“減O”
  下一篇:go  監控工具:Oracle 12c Cluster Health Monitor 詳解