首页 > 代码库 > Oracle 12c RAC 移动MGMTDB 数据库 数据文件方法

Oracle 12c RAC 移动MGMTDB 数据库 数据文件方法


注:本文谢绝转载!

 

 

在之前的Blog里介绍了Oracle12c RAC 中的MGMTDB的概念,参考:

 

Oracle 12cRAC MGMTDB 说明

http://blog.csdn.net/tianlesoftware/article/details/41804553

 

 

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

 

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

 

具体操作如下。

 

 

1  停止并禁用ora.crf 资源

 

这里的ora.crf就是CHM。

 

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

 

[root@rac1 ~]# crsctlstop res ora.crf -init

CRS-2673: Attempting to stop ‘ora.crf‘ on‘rac1‘

CRS-2677: Stop of ‘ora.crf‘ on ‘rac1‘succeeded

 

[root@rac1 ~]# crsctlmodify 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 时会报错。

 

 

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 networkconfiguration files

48% complete

52% complete

Deleting instance anddatafiles

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。

 

 

3   重建MGMTDB的CDB

1.1             12.1.0.1 执行如下命令

 

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

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

 

注意:

这里新的磁盘组,建议compatible.asm和 compatible.rdbms 属性都设置为12.1。

 

上面的命令使用的是磁盘组,如果是使用共享的NFS/CFS, 则使用如下命令:

<GI_HOME>/bin/dbca -silent-createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName_mgmtdb -storageType FS -datafileDestination <NFS_Location>-datafileJarLocation <GI_HOME>/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 -storageTypeASM -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 GridInfrastructure

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 furtherdetails.

[grid@rac1 /]$

 

 

1.2             12.1.0.2 执行如下命令

 

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

 

--ASM 磁盘组:

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

 

 

--共享的NFS/CFS

$<GI_HOME>/bin/dbca -silent-createDatabase -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName_mgmtdb -storageType FS -datafileDestination <NFS_Location>-datafileJarLocation <GI_HOME>/assistants/dbca/templates -charactersetAL32UTF8 -autoGeneratePasswords -oui_internal

 

--示例:

[grid@rac1 templates]$ dbca -silent-createDatabase -sid -MGMTDB -createAsContainerDatabase true -templateNameMGMTSeed_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 GridInfrastructure

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 furtherdetails.

[grid@rac1 templates]$

 

 

 

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,命令如下:

 

$ <GI_HOME>/bin/dbca -silent-createPluggableDatabase -sourceDB -MGMTDB -pdbName <CLUSTER_NAME>-createPDBFrom RMANBACKUP -PDBBackUpfile<GI_HOME>/assistants/dbca/templates/mgmtseed_pdb.dfb -PDBMetadataFile<GI_HOME>/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 -createPDBFromRMANBACKUP -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" forfurther details.

[grid@rac1 templates]$

 

 

 

 

 

5   验证MGMTDB

 

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

[grid@rac1 ~]$ srvctl status MGMTDB

Database is enabled

Instance -MGMTDB is running on node rac1

 

这里显示的是节点1,那么在节点1上在执行:

 

[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@rac1templates]$ srvctl config mgmtdb

Database unique name:_mgmtdb

Database name:

Oracle home: <CRShome>

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@rac1templates]$

 

 

[grid@rac1 templates]$ exportORACLE_SID=-MGMTDB

[grid@rac1 templates]$ sqlplus / as sysdba

 

SQL*Plus: Release 12.1.0.2.0 Production onWed Dec 10 21:39:13 2014

 

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

 

 

Connected to:

Oracle Database 12c Enterprise EditionRelease 12.1.0.2.0 - 64bit Production

With the Partitioning, Automatic Storage Managementand Advanced Analytics options

 

SQL> select file_name fromdba_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 磁盘组了。

 

 

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]#

 

 

 

 

 

 

 

 

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

版权所有,文章禁止转载,否则追究法律责任!

 

AboutDave:

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

QQ:     251097186

Email:    tianlesoftware@gmail.com

Blog:    http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

 

Dave 的QQ群:

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

注意:加群必须注明表空间和数据文件关系 | 不要重复加群

CNDBA_1: 104207940 (满)    CNDBA_2: 62697716 (满)   CNDBA_3: 283816689

CNDBA_4: 391125754   CNDBA_5: 62697850    CNDBA_6: 62697977   CNDBA_7: 142216823(满)

Oracle 12c RAC 移动MGMTDB 数据库 数据文件方法