上海涛德顾问学院

查看: 15359|回复: 0

Oracle 12c OCM认证技术:实现基于策略的Oracle 12c Cluster 管理

[复制链接]
匿名
匿名  发表于 2015-11-12 21:12:12
Oracle 12c认证技术:(注涛德已与2015年9月在中国独家推出Oracle 12c OCM认证培训)

实现基于策略的Oracle 12c Cluster Server pool 管理
作者涛德顾问学院讲师:唐涛:(原Oracle公司首席讲师)
在Oracle 12c 中我们可以在实现基于策略的SERVER管理,这种管理对标准集群,以及Flex Cluster都支持。
当前已安装的集群的节点
crsctl status server
NAME=c01n01
STATE=ONLINE

NAME=c01n02
STATE=ONLINE
考察其中的节点一
crsctl status server c01n01 –f ,可以看到这是一个Hub 节点,运行在一个名称叫racdbpool的 server pool 下。 第二个节点与第一个节点类似。本例只是节点名字不同。
NAME=c01n01
MEMORY_SIZE=5834
CPU_COUNT=1
CPU_CLOCK_RATE=0
CPU_HYPERTHREADING=0
CPU_EQUIVALENCY=1000
DEPLOYMENT=other
CONFIGURED_CSS_ROLE=hub
RESOURCE_USE_ENABLED=1
SERVER_LABEL=
PHYSICAL_HOSTNAME=
STATE=ONLINE
ACTIVE_POOLS=ora.racdbpool
STATE_DETAILS=
ACTIVE_CSS_ROLE=hub
检测默认的server category (一个server应该属于一个或者多个category)。
我们会发现 系统内置了2个category,一个是hub.category,一个是leaf.category。正好对应我们FLEX CLUSTER的2种节点类型。默认的category的 EXPRESSION为空(后面将介绍利用EXRESSION 创建自定义的category )
检测命令如下:
crsctl status  category
NAME=ora.hub.category
ACL=owner:root:rwx,pgrp:root:r-x,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=

NAME=ora.leaf.category
ACL=owner:root:rwx,pgrp:root:r-x,other::r--
ACTIVE_CSS_ROLE=leaf
EXPRESSION=

我们可以查询那些server属于 ora.hub.category 用下面的命令(可以看到我的两个节点都属于hub.category这种内置的CATEGORY)
crsctl status  server -category ora.hub.category
NAME=c01n01
STATE=ONLINE

NAME=c01n02
STATE=ONLINE

也可以自定义 category
例如:添加一个 名称叫seantang 的 category ,要求的条件是 server的内容大于5800M
crsctl add category seantang -attr "EXPRESSION='(MEMORY_SIZE > 5800)'"
再次检查cluster环境下的所有category,会发现多出一个我们刚刚建立的 seantang category
crsctl status  category
NAME=ora.hub.category
ACL=owner:root:rwx,pgrp:root:r-x,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=

NAME=seantang
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=(MEMORY_SIZE > 5800)

查询属于这个category的 server  因为我环境下只有 节点1 大于5800M 。所以节点没有列在这个category下面
crsctl status  server -category  seantang
NAME=c01n01

下面的命令显示了,一个server(本例是节点1)可以同时属于两个 category(hub.category,以及seantang)
crsctl status  category  -server c01n01
NAME=ora.hub.category
ACL=owner:root:rwx,pgrp:root:r-x,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=
NAME=seantang
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=(MEMORY_SIZE > 5800)
有了以上的基础,我们可以进一步来学习 集群policy相关的内容。
默认系统只有一个叫CURRENT的Policy ,这个Policy中包含了集群环境下所有的Server Pool 的定义。
可以用 crsctl status policyset 查看
为什么要使用Policy ?
处于某种需求,我们可能希望在某个时刻使用更多的服务器资源(Policy1 中 hub.category 对应的2台server, seantang没有server ),另外一个时刻使用更少的服务器资源(Policy2中seantang category对应的一台server)。这时我们可以定义2个Policy,在特定的时间激活某一个Policy。
其中:
Policy 1 我们设置racdbpool服务器池(RAC数据库使用)对应至少2台SERVER同时这些SERVER属于hub.category,而lesspool 服务器池对应0台SERVER。
Policy 2 我们设置racdbpool服务器池对应最多1台SERVER同时这些SERVER属于hub.category,而lesspool 服务器池对应1台SERVER且category属于seantang
如果我们激活Policy1这 有2台SERVER 运行在racdbpool (RAC 数据库将使用) 服务器池。
如果我们激活Policy2这 有1台 (c01n02) SERVER 运行在racdbpool (RAC 数据库将使用) 服务器池。有1台(c01n01)运行在lesspool服务器池。
为什么不会是 c01n02运行在 racdbpool? 因为我们设置了lesspool优先级更高。
换句话说我们激活Policy2变相的实现了RAC ONE NODE的功能。
srvctl add serverpool  -serverpool lesspool -servers "c01n01,c01n02"

具体做法
1 创建服务器池。这里叫lesspool
srvctl add serverpool  -serverpool lesspool -servers "c01n01,c01n02"
2创建policy文件。例如内容例如下面:
Cat /home/grid/po.txt
SERVER_POOL_NAMES=Free lesspool ora.racdbpool
POLICY
NAME=polocy1
DESCRIPTION=more server
SERVERPOOL
NAME=ora.racdbpool
IMPORTANCE=10
MAX_SIZE=5
MIN_SIZE=2
SERVER_CATEGORY=ora.hub.category
SERVERPOOL
NAME=lesspool
IMPORTANCE=0
MAX_SIZE=0
MIN_SIZE=0
SERVER_CATEGORY=seantang
POLICY
NAME=policy2
SERVER_CATEGORY=seantang
3 设置 系统使用我们的Policy文件
crsctl modify policyset -file /home/grid/po.txt
4 检测是否生效,可以看到我们刚才在文件中定义的信息。
crsctl status policyset
5 强行激活policy2 (不加-f会失败,因为激活policy2意味着c01n01的上的数据库实例会SHOWDOWN)
crsctl modify policyset -attr "LAST_ACTIVATED_POLICY='policy2'" -f
CRS-2673: Attempting to stop 'ora.racdb.db' on 'c01n01'
CRS-2677: Stop of 'ora.racdb.db' on 'c01n01' succeeded
6 检测数据库状态
srvctl status database -d racdb
Instance RACDB_1 is running on node c01n02

回复

使用道具 举报

上海涛德顾问学院 ( 沪ICP备14006824号 )  

GMT+8, 2018-6-18 15:57 , Processed in 0.280206 second(s), 25 queries , Gzip On.

Top Data World

回顶部