OOW第一天OU的培训,听了下Oracle database 12c高可用新特性的介绍。主要内容有柔性集群、基于策略的集群管理、假设状况评估命令、柔性ASM及DG新特性等等。其中的假设状况评估命令,即what-if command evaluation非常新颖,有点像我们在论坛上准备发帖的时候有个预览的功能,非常有趣。
Oracle最近几年的发展出现了很多预估的功能,给使用者带来很大的方便,记得刚开始接触Oracle的时候,总是要花费几天的时间用在安装Oracle的折腾上,尤其是11g以前数据库版本,在前期准备功夫没做足的情况下,每次在DBCA建库装到一半的时候,突然弹出一个错误提示框,然后拼命的google查啊查,好不容易才搞清楚,原来是系统少了个rpm包,于是安装后继续进行,快到结束时,又弹出个错误提示框,又是缺少某个rpm包导致,反反复复折腾,苦不堪言。
Oracle 11g数据库开始在安装的时候,无论是RAC中的GRID或新建DB,都会有个prerequlsite checks(先决条件检查),这个功能非常实用,再仔细的人都会有遗漏的时候,这个prerequlsite checks功能就会把你的环境扫描下,然后给出结果,看你的环境是否符合安装的条件。有了这个安装预估的功能,安装就变得简单多了。
当然不但在安装方面,oracle数据库在RMAN备份的时候也提供了类似的功能,假设一个场景:如果一个重要的业务系统数据库有几个T,准备给这套系统数据库做升级或其它维护操作,由于操作前需要进行RMAN备份,当你对备份的脚本进行测试完后部署生产系统,一运行脚本就下班回家去了,过几天后才发现,原来rman才备份了几个数据文件就发现有坏块,导致备份失败。由于发现问题比较晚,最后导致整个维护操作都延期。rman提供了BACKUP VALIDATE DATABASE、backup validate datafile x等命令,可以为提前发现问题。
Oracle 12c高可用新特性中的what-if command evaluation就提供了一堆命令集,可以帮你提前预估你对集群管理操作命令实际执行前的效果,让你尽量减少失误避免出现灾难的机会。what-if command evaluation包括一堆对集群资源的管理,如使用crsctl及srvctl命令对resource start、resource stop、resource relocate、resrouce modify、resource add及resource failure预估维护操作等等。
使用crsctl命令对启动资源的效果预估:
$crsctl eval start resource my_resource -n my_server
Stage Group 1:
———————————————————————-
Stage Number Required Action
1 Y Resource ‘my_dep_res1′ (1/1) will be in state
[ONLINE] on server [my_server]
N Resource ‘my_dep_res2′ (1/1) will be in state
[ONLINE|INTERMEDIATE] on server [my_server]
可以做其它命令,如
$crsctl eval { add | delete | modify } serverpool …
$crsctl eval { add | relocate | delete } server …
$crsctl eval activate policy …
还可以使用集群adminstrator的命令以控制输出格式
$crsctl eval delete server my_server -f -admin
NAME = Free
ACTIVE_SERVERS =
NAME = Generic
ACTION_SERVERS =
NAME = ora.my_pool
ACTION_SERVERS = some_server
使用srvctl命令启动数据库的时候测试资源的启动效果:
$srvctl start database -db orcl -eval
Resource ora.asm will be started on node c000n02
Resource ora.DATA.dg will be started on node c000n02
Resource ora.FRA.dg will be started on node c000n02
Database orcl will be started on node c000n02
当然还可以使用srvctl评估失败后果,
$srvctl predict { database | service | asm | diskgroup | filesystem | vip
| network | listener | scan | scan_listenner | oc4j } … [-verbose]
如:
$srvctl predict asm -n c00n02
$srvctl predict diskgroup -g DATA
$srvctl predict filesystem -d /dev/asm/vo11-261 -verbose
srvctl predict 命令允许管理员评估执行命令失败后影响那些资源,如database、service、asm、diskgroup、filesystem、vip、network、listener、scan、scan listener及oc4j等。
其它具体的用法可以查看12c的官方文档具体了解。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29960155/viewspace-1363550/ ,如需转载,请注明出处,否则将追究法律责任。