资讯专栏INFORMATION COLUMN

MGMTDB重建与迁移操作方法

IT那活儿 / 2541人阅读
MGMTDB重建与迁移操作方法

从oracle 12.1开始,集群环境中多了一个MGMTDB实例。它是一个单实例数据库,因此它将在集群中的一个节点上启动并运行;因此在主机节点关闭的情况下,数据库将自动故障转移到其他节点。MGMTDB中存储的以下有关信息:

  • Cluster Health Monitor收集的实时性能数据

  • Cluster Health Advisor收集的故障,诊断和指标数据

  • 关于Oracle Clusterware收集的所有资源的群集范围内的事件

  • 服务质量管理(QoS)收集的工作负载性能和CPU体系结构数据

  • Oracle Fleet补丁和配置所需的元数据

在日常运维过程中,如果遇到MGMTDB遇到无法启动需要重建、MGMTDB原所在磁盘无法扩展需要迁移到新磁盘组,本文介绍了这两种情况的操作步骤。


一. MGMTDB重建

1. 每个节点停止并禁用ora.crf资源(root用户)

/bin/crsctl stop res ora.crf -init
/bin/crsctl modify res ora.crf -attr ENABLED=0 -init

2. 删除mgmtdb(grid用户)

/bin/dbca -silent -deleteDatabase -sourceDB -MGMTDB

如果mgmtdb无法启动,则手动删除mgmtdb的相关文件,并使用srvctl删除相关资源:srvctl remove mgmtdb

3.  重建mgmtdb(grid用户)

1)使用dbca创建cdb

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

2)使用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

4.  检查mgmtdb状态

/bin/srvctl status MGMTDB
/bin/mgmtca

5. 每个节点启动并enable ora.crf资源(root用户)

# /bin/crsctl modify res ora.crf -attr ENABLED=1 -init
# /bin/crsctl start res ora.crf -init


二. 迁移MGMTDB到新磁盘组

我们使用mdbutil.pl脚本来迁移mgmtdb到新磁盘组,这是oracle官方提供的一个脚本。我们把mdbutil.pl上传至mgmtdb所在节点的grid用户下,创建好新磁盘组后,我们就可以使用mdbutil.pl来迁移mgmtdb到新磁盘组了,此迁移过程不影响集群正常运行。

  1)mdbutil.pl脚本的帮助信息如下:

# ./mdbutil.pl -h
Usage:
     Create/Enable MGMTDB & CHM
       mdbutil.pl --addmdb --target=
     Move MGMTDB to another location
       mdbutil.pl --mvmgmtdb --target=<new MGMTDB destination>
     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

2)mdbutil.pl脚本迁移的过程如下:

mdbutil.pl --mvmgmtdb --target=<新磁盘名称>

Moving MGMTDB, it will be stopped, are you sure (Y/N)? y
2021-03-24 09:24:53: I Checking for the required paths under +REDO
2021-03-24 09:24:54: I Creating new path +REDO/_MGMTDB/PARAMETERFILE
2021-03-24 09:24:56: I Creating new path +REDO/_MGMTDB/CONTROLFILE
2021-03-24 09:24:59: I Creating new path +REDO/_MGMTDB/ONLINELOG
2021-03-24 09:25:01: I Creating new path +REDO/_MGMTDB/DATAFILES
2021-03-24 09:25:04: I Creating new path +REDO/_MGMTDB/TEMPFILE
2021-03-24 09:25:06: I Creating new path +REDO/_MGMTDB/DATAFILES/xxxxx_c
2021-03-24 09:25:08: I Creating new path +REDO/_MGMTDB/TEMPFILE/xxxxx_c
2021-03-24 09:25:08: I Getting MGMTDB Database files location
2021-03-24 09:25:09: I Getting MGMTDB Temp files location
2021-03-24 09:25:09: I Getting MGMTDB PDB xxxxx_c files location
2021-03-24 09:25:09: I Getting MGMTDB PDB xxxxx_c Temp files location
2021-03-24 09:25:10: I Creating temporary PFILE
2021-03-24 09:25:10: I Creating target SPFILE
2021-03-24 09:25:16: I Stopping mgmtdb
2021-03-24 09:25:36: I Copying MGMTDB DBFiles to +REDO
2021-03-24 09:25:52: I Copying MGMTDB xxxxx_c PDB DBFiles to +REDO
2021-03-24 09:26:33: I Creating the CTRL File
2021-03-24 09:26:59: I The CTRL File has been created and MGMTDB is now running from +REDO
2021-03-24 09:26:59: I Setting MGMTDB SPFile location
2021-03-24 09:27:00: I Modifing the init parameter
2021-03-24 09:27:00: I Removing old MGMTDB
2021-03-24 09:27:02: I Restarting MGMTDB using target SPFile
2021-03-24 09:27:47: I MGMTDB Successfully moved to +REDO!


文章参考:

1. How to Move/Recreate GI Management Repository (GIMR / MGMTDB) to Different Shared Storage (Diskgroup, CFS or NFS etc) (Doc ID 1589394.1)
2. MDBUtil: GI Management Repository configuration tool (Doc ID 2065175.1)
3. FAQ: 12c Grid Infrastructure Management Repository (GIMR) (Doc ID 1568402.1)
4. https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/about-gimr.html#GUID-C83CC011-A710-4696-BD1E-E0F36F248AA1


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129839.html

相关文章

  • 托管还是重建 企业如何用好公有云?

    摘要:许多人认为数字化转型是提高竞争力的关键,也是保持快速变化的商业环境的必要条件,对于许多企业来说,云计算对于其业务的成功至关重要。每个企业的云计算战略都是独一无二的,而遵循相同的原则,企业的云迁移之旅都将获得业务的发展机会。数字化转型继续为企业的业务发展创造机会。由于英国脱欧的不确定性,英国很多企业正在考虑实施数字化转型计划,以确保业务持续增长。许多人认为数字化转型是提高竞争力的关键,也是保持...

    kid143 评论0 收藏0
  • 云计算节点故障自动化运维服务设计

    此文已由作者王盼授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验~ 现状计算节点发生磁盘损坏等数据无法恢复的异常时,节点上的云主机系统盘无法恢复,导致云主机只能被清理重建 计算节点宕机但磁盘数据可用时,重启即可恢复所有云主机的运行 计算节点多次宕机(或一段时间内频繁宕机),则需要迁移所有云主机或者直接清理重建,云硬盘需要迁移到其他cinder-volume存储服务节点 一般来...

    seanHai 评论0 收藏0
  • 私有云搭建-私有云搭建之存储虚拟化

    摘要:平台采用分布式存储系统作为虚拟化存储,用于对接虚拟化计算及通用数据存储服务,消除集中式网关,使客户端直接与存储系统进行交互,并以多副本纠删码多级故障域数据重均衡故障数据重建等数据保护机制,确保数据安全性和可用性。云计算平台通过硬件辅助的虚拟化计算技术最大程度上提高资源利用率和业务运维管理的效率,整体降低 IT 基础设施的总拥有成本,并有效提高业务服务的可用性、可靠性及稳定性。在解决计算资源的...

    ernest.wang 评论0 收藏0
  • laravel入门

    摘要:开发根目录测试分为单元测试和功能测试创建一个文件执行测试测试前清除配置缓存运行单个测试用例小提示在开发与进行交互的第三方扩展包时,最好选择注入契约而不使用。 参考https://laravelacademy.org/ 概念 单词 契约Contract 就是接口 repository 仓库(封装数据访问,可以搜索:repository模式) Container 容器 ServicePr...

    韩冰 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<