ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 1441|回复: 0

[新特性] Oracle Serverpool 资源池 完美测试

[复制链接]
论坛徽章:
5
娜美
日期:2017-06-26 15:18:15目光如炬
日期:2017-08-20 22:00:00目光如炬
日期:2017-08-27 22:00:01火眼金睛
日期:2017-09-01 17:00:07目光如炬
日期:2017-09-03 22:00:01
发表于 2017-8-16 10:08 | 显示全部楼层 |阅读模式
本帖最后由 sunyunyi 于 2017-8-16 15:03 编辑

目前服务于电力行业,致力于帮助客户解决生产过程中出现的问题,提高生产效率, 爱好书法,周易!愿结交志同道合之士!共同进步! 微信号:sunyunyi_sun



该文档测试oracle serverpool 功能,使用的版本为[11.2.0.4.0],该版本无策略集功能和配置CPU和mem功能,该功能在12C中实现。
首先概述serverpool,我的理解很简单,就是将server分配到各个serverpool中再将resource分配到serverpool实现主机资源的合理
动态分配。好处:提高系统的扩展性,可以整合系统,节约服务器资源。

测试环境:
[grid]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]

安装说明:
两个节点的数据库,首先以administrator managed 方式建立数据库,然后手动添加serverpool upgrade_pool,
修改数据库为policy managed 分配到upgrade_pool。再新建数据库test以policy managed方式添加到已有的serverpool中。

配置1:
server:server1,server2
serverpool:upgrade_pool
database: pmssn,test
two database in upgrade_pool
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open               


[grid]$ crsctl status serverpool ora.upgrade_pool -f
NAME=ora.upgrade_pool
IMPORTANCE=2
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1 server2


[grid]$ srvctl config database -d pmssn
Database unique name: pmssn
Database name: pmssn
Oracle home: /u01/app/oracle/product/11.2.0.4/db_1
Oracle user: grid
Spfile: +DATA/pmssn/spfilepmssn.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: upgrade_pool
Database instances:
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is policy managed

[grid]$ srvctl config database -d test
Database unique name: test
Database name: test
Oracle home: /u01/app/oracle/product/11.2.0.4/db_1
Oracle user: grid
Spfile: +DATA/test/spfiletest.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: upgrade_pool
Database instances:
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is policy managed

总结:手动创建serverpool:ora.upgrade_pool min=1 max=2 IMPORTANCE=2,级别最高(系统默认的IMPORTANCE=0)所以两个server都
      分配给ora.upgrade_pool
      两个database:pmssn 和 test 都属于ora.upgrade_pool,故两个server都可以启动。

配置2:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=2)
           testpool(min=1 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool
          test  in upgrade_pool

[grid]$ srvctl add serverpool -g testpool -l 1 -u 2 -i 1 -n "server1,server2"
PRCS-1009 : Failed to create server pool testpool
PRCR-1071 : Failed to register or update server pool ora.testpool
CRS-2736: The operation requires stopping resource 'ora.pmssn.db' on server 'server1'
CRS-2736: The operation requires stopping resource 'ora.test.db' on server 'server1'
CRS-2737: Unable to register server pool 'ora.testpool' as this will affect running resources, but the force option was not specified
提示添加 -f 选项:

[grid]$ srvctl add serverpool -g testpool -l 1 -u 2 -i 2 -n "server1,server2" -f

--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  ONLINE       server2                   Open  

[grid]$ crsctl status serverpool ora.testpool -f
NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1

[grid]$ crsctl status serverpool ora.upgrade_pool -f
NAME=ora.upgrade_pool
IMPORTANCE=2
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server2

总结:
从上面信息可以看到,两个serverpool的IMPORTANCE相同,min都为1,那么每个serverpool都必须分配一个server,
我们的两个库都属于ora.upgrade_pool,而serverpoolra.upgrade_pool的ACTIVE_SERVERS=server2,
也就是看到的结果两个数据库都只能在server:server2上启动。

配置2:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=2)
           testpool(min=1 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool
          test  in testpool

[grid]$ srvctl stop database -d test
[grid]$ srvctl stop database -d pmssn
[grid]$ srvctl modify database -d test -g "ora.testpool"
[grid]$ srvctl start database -d pmssn
[grid]$ srvctl start database -d test

--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  OFFLINE                               Instance Shutdown   

总结:依据上面结论,不在累述。



配置3:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=2)
           testpool(min=2 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool
          test  in serpool

[grid]$ srvctl modify serverpool -g testpool -l 2 -u 2 -i 2 -n "server1,server2" -f
[grid]$ srvctl stop database -d test
[grid]$ srvctl start database -d test
[grid]$ crsctl status serverpool -f

NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1

srvctl modify serverpool -g upgrade_pool -l 2 -u 2 -i 2 -n "server1,server2" -f

NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1

NAME=ora.upgrade_pool
IMPORTANCE=2
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server2

总结:因为只有两个server,所以在IMPORTANCE相同时只能各自分配一个。


配置3:

server:server1,server2
serverpool:upgrade_pool(min=2 max=2 IMPORTANCE=3)
           testpool(min=2 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool
          test  in testpool

srvctl modify serverpool -g upgrade_pool -l 2 -u 2 -i 3 -n "server1,server2" -f

--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  ONLINE       server1                   Open,STOPPING      
      2        ONLINE  OFFLINE                               Instance Shutdown  


--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  OFFLINE                               Instance Shutdown,S
                                                             TARTING            
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  OFFLINE                               Instance Shutdown   


--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        ONLINE  OFFLINE                               Instance Shutdown   


NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=

NAME=ora.upgrade_pool
IMPORTANCE=3
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1 server2


[grid]$ srvctl start database -d test;
PRCR-1079 : Failed to start resource ora.test.db
CRS-2643: The server pool(s) where resource 'ora.test.db' could run have no servers

结果:

serverpool:upgrade_pool(min=2 max=2 IMPORTANCE=3)
           testpool(min=2 max=2 IMPORTANCE=2)
upgrade_pool的IMPORTANCE=3级别最高,min=2必须首先满足,所以ACTIVE_SERVERS=server1 server2
testpool的ACTIVE_SERVERS=,没server分配。




配置4:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=3)
           testpool(min=2 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool
          test  in testpool

srvctl modify serverpool -g upgrade_pool -l 1 -u 2 -i 3 -n "server1,server2" -f

NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=2
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrpinstall:rwx,other::r--
ACTIVE_SERVERS=server1

NAME=ora.upgrade_pool
IMPORTANCE=3
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_SERVERS=server2




配置5:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=2)
           testpool(min=1 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool,testpool
          test  in serpool

srvctl modify serverpool -g upgrade_pool -l 1 -u 2 -i 2 -n "server1,server2" -f
srvctl modify serverpool -g testpool -l 1 -u 2 -i 2 -n "server1,server2" -f

srvctl modify database -d test -g "upgrade_pool,testpool"
srvctl modify database -d test -g "ora.testpool"

NAME=ora.testpool
IMPORTANCE=2
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_SERVERS=server1

NAME=ora.upgrade_pool
IMPORTANCE=2
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=server1 server2
PARENT_POOLS=
EXCLUSIVE_POOLS=
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_SERVERS=server2


--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  OFFLINE                               Instance Shutdown   
      2        OFFLINE OFFLINE                               Instance Shutdown   
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open         




配置6:

server:server1,server2
serverpool:upgrade_pool(min=1 max=2 IMPORTANCE=2)
           testpool(min=1 max=2 IMPORTANCE=2)
database: pmssn,test
          pmssn in upgrade_pool,testpool
          test  in upgrade_pool,testpool

srvctl modify database -d pmssn -g "upgrade_pool,testpool"

srvctl start database -d pmssn
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       server2                                       
ora.cvu
      1        ONLINE  ONLINE       server2                                       
ora.oc4j
      1        ONLINE  ONLINE       server2                                       
ora.pmssn.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open               
ora.server1.vip
      1        ONLINE  ONLINE       server1                                       
ora.server2.vip
      1        ONLINE  ONLINE       server2                                       
ora.scan1.vip
      1        ONLINE  ONLINE       server2                                       
ora.test.db
      1        ONLINE  ONLINE       server1                   Open               
      2        ONLINE  ONLINE       server2                   Open               


11GR2 没有 policyset,该功能在12c中实现,该功能可分时间段分配server 到serverpool
如策略如下:实现资源的合理分配,提高系统最大处理能力

1:DAY TIME:  
              upgrade_pool use two servers
              testpool     use one server

2: Night Time:

              upgrade_pool use one server
              testpool     use two servers
3: Weekend:   

              upgrade_pool use two server
              testpool     use zero servers


2017.8.16
孙显鹏



您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票8.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月30日前

活动链接>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表