oracle数据库资源池如何监控,Oracle Serverpool 资源池 完美测试

本帖最后由 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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall:rwx,other::r--

ACTIVE_SERVERS=server2

总结:

从上面信息可以看到,两个serverpool的IMPORTANCE相同,min都为1,那么每个serverpool都必须分配一个server,

我们的两个库都属于ora.upgrade_pool,而serverpool

5b24fae4cde99750994428c024162093.gifra.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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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,pgrp

5b24fae4cde99750994428c024162093.gifinstall: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

孙显鹏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值