srvctlsrvctl add database
本文目录一览:
- 1、oracle 怎么进入mgmtdb
- 2、如何用srvctl命令添加ASM amp;DATABASE&LISTENER 注册信息
- 3、srvctl 工具都有哪些功能
- 4、数据库单节点停机
oracle 怎么进入mgmtdb
1 MGMTDB 说明
在Oracle 12.1.0.1的Grid Infrastructure 的安装中,可以选择是否安装Grid Infrastructure Management Repository (GIMR) 数据库:MGMTDB. 如下图:
\
在Grid Infrastructure 12.1.0.2 中,已经没有改选项,MIMR 数据库已经变成了强制选项。
在Oracle 12c 中Management Database 用来存储Cluster HealthMonitor(CHM/OS,ora.crf) ,Oracle Database QoS Management,Rapid Home ProvisiONing和其他的数据。
ManagementRepository 是受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 数据库,在目前的版本中,也不需要手工对其进行备份。
2 MGMTDB 基本操作
2.1 查看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.168.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_-MGMTDBroot 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 -inheritroot 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 start_option] [-node node_name]
2.3 查看Management Database 的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 sweepcdump 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.trmcdmp_20140807064254 -MGMTDB_ckpt_7477.trc -MGMTDB_lgwr_7475.trm -MGMTDB_m001_10330.trc -MGMTDB_ora_10486.trm -MGMTDB_p001_7523.trccdmp_20141208110548 -MGMTDB_ckpt_7477.trm -MGMTDB_m000_10101.trc -MGMTDB_m001_10330.trm -MGMTDB_ora_10830.trc -MGMTDB_p001_7523.trmcdmp_20141208110550 -MGMTDB_dbrm_4764.trc -MGMTDB_m000_10101.trm -MGMTDB_m001_8055.trc -MGMTDB_ora_10830.trm -MGMTDB_rbal_10460.trccdmp_20141208110553 -MGMTDB_dbrm_4764.trm -MGMTDB_m000_10202.trc -MGMTDB_m001_8055.trm -MGMTDB_ora_3770.trc -MGMTDB_rbal_10460.trmcdmp_20141208110555 -MGMTDB_dbrm_7469.trc -MGMTDB_m000_10202.trm -MGMTDB_mark_10484.trc -MGMTDB_ora_3770.trm -MGMTDB_rbal_4782.trcMGMT DB 的日志和trace 都在这个里。
3 MGMTDB是带一个PDB的CDB数据库
前面说了,MGMTDB 是一个实例,实际上,MGMTDB是带一个PDB的CDB库,我们可以使用GI的命令直接去操作MGMTDB 对应的PDB。
--查看MGMTDB当前节点:
[grid@rac2 /]$ oclumon manage -get masterMaster = 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.oraPassword 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 2014Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit ProductionWith the Partitioning, Automatic StorageManagement and Advanced Analytics optionsSQL 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.8549400578 rows selected.
这里查询的是MGMTDB的路径,也可以直接用如下命令查询:
[grid@rac2 /]$ oclumon manage -get reppathCHM 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
如何用srvctl命令添加ASM amp;DATABASE&LISTENER 注册信息
1.模拟删除ASM DATABASE 注册信息
删除前请确认这些资源已经是STOP 状态
[oracle@vmrehl4n1 ~]$ srvctl remove database -d myrac
Remove the database myrac? (y/[n]) y
[oracle@vmrehl4n1 ~]$ srvctl remove asm -n vmrehl4n1 -i +ASM1
[oracle@vmrehl4n1 ~]$ srvctl remove asm -n vmrehl4n2 -i +ASM2
2.添加ASM DATABASE 注册信息
[oracle@vmrehl4n1 ~]$ srvctl add database -d myrac -o /app/oracle/product/10.2.0/db_1
[oracle@vmrehl4n1 ~]$ srvctl add instance -d myrac -i myrac1 -n vmrehl4n1
[oracle@vmrehl4n1 ~]$ srvctl add instance -d myrac -i myrac2 -n vmrehl4n2
[oracle@vmrehl4n1 ~]$ srvctl add asm -n vmrehl4n1 -i +ASM1 -o /app/oracle/product/10.2.0/db_1
[oracle@vmrehl4n1 ~]$ srvctl add asm -n vmrehl4n2 -i +ASM2 -o /app/oracle/product/10.2.0/db_1
查看[oracle@vmrehl4n2 admin]$ crs_stat -p ora.myrac.myrac1.inst
显示的此行
REQUIRED_RESOURCES=ora.vmrehl4n1.vip ora.vmrehl4n1.ASM1.asm
如果没有ora.vmrehl4n1.ASM1.asm
需要继续运行以下命令,否则CRS自动启动时不能启动DATABASE:
[oracle@vmrehl4n1 ~]$ srvctl modify instance -d myrac -i myrac1 -s +ASM1
[oracle@vmrehl4n1 ~]$ srvctl modify instance -d myrac -i myrac2 -s +ASM2
srvctl 工具都有哪些功能
oracle 12c:新特性-RAC数据库的增强
What-if命令评估
通过srvctl使用新的What-if命令评估选项,现在可以确定运行此命令所造成的影响。这一新添加到srvctl的命令,可以在没有实际执行或是不对当前系统做任何改变的情况下模拟此命令。这在想要对一个已存在的系统进行更改却对结果不确定的时候特别有用。这样,此命令就会提供进行变更的效果。而–eval 选项也可以通过crsctl 命令来使用来源:CUUG官网。
例如,如果你想要知道停止一个特定数据库会发生什么,那么你就可以使用以下示例:
$ ./srvctl stop database –d MYDB –eval
$ ./crsctl eval modify resource -attr “value”
srvctl的改进
对于srvctl命令还有一些新增功能。以下演示了如何用这些新增功能停止或启动集群上的数据库或实例资源。
srvctl start database|instance –startoption NOMOUNT|MOUNT|OPEN
数据库单节点停机
数据库单节点停机,就先停一个节点的实例
oracle用户下 srvctl stop instance -d DATABASE NAME -i INSTANCE NAME
或者直接用sqlplus / as sysdba 进去后
shutdown immediate
然后直接到grid用户下crsctl stop crs 即可,不需要再对nodeapp listner等资源进行操作。
然后就可以关机换CPU了。 换完成以后启动机器,注意检查存储状态,查看共享磁盘状态有无变化。
没有问题的话,如果 CRS 是自动启动的,那么等待一定时间后,除了数据库实例以外,其他的资源应该已经启动完毕。 如果CRS不是自动启动的,就用 crsctl start crs命令启动。
用 crs_stat -t 检查资源状态都没问题后,再启动这个节点上的数据库实例
oracle用户下 srvctl start instance -d DATABASE NAME -i INSTANCE NAME
或者直接用sqlplus / as sysdba 进去后
startup
关于srvctl和srvctl add database的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~