使用Oracle EM13c管理数据库私有云
实现Oracle数据库私有云的方式有两类:IaaS和PaaS,因为IaaS会使用基础架构虚拟化技术,所以一般能得到更好的隔离性,而PaaS的隔离性虽然没有IaaS好,但是IO性能上会有优势。
Oracle的DBaaS数据库平台云,按实现方式又分了三种:
1. DB as a Service
2. PDB as a Service
3. Schema as a Service
我们以PDB as a Service为例,简单介绍一下配置方法。
1.安装RAC和EM13c
在这个例子里面我们会安装RAC 12.2.0.1和EM13c R2 P1,Oracle建议的补丁也都要安装,另外EM13c R2里面如果想使用用私有云的功能,还需要部署云和虚拟化相关的插件,否则看不到DBaaS等相关内容。
部署插件的方法可以参考联机文档,这不是本文的重点,不再赘述。
在安装RAC的两台主机上安装EM13c Agent,并自动搜索目标,然后在EM13c里面升级目标。这些都是EM的基本操作,这里就不给出具体步骤了。
2.创建role和用户
为了在后续的创建的EM对象可以直接关联到role,我们先要创建相应的自定义role和EM的用户。
在一个典型的私有云应用场景中,应该有用户,私有云管理者和EM超级用户3个层次,为了方便,我们就将3个层次合并为2个层次,私有云用户和EM超级用户(SYSMAN)。
私有云用户应该可以登录EM13c,但是只能访问云自助门户,进行资源的申请和查看,而不能访问其他的EM功能,包括数据库的管理等功能。为了方便使用,EM13c预置了两个role, EM_SSA_USER和EM_SSA_USER_BASE, 他们两个的区别是EM_SSA_USER能访问自助门户且包含查看所有云服务系列和云服务类型的权限,而EM_SSA_USER_BASE只能访问自助门户,不包含任何云服务系列和云服务类型的权限,所有权限都要后续显式授予。
在这里我们要先解释一下EM13c中的“云服务系列”和“云服务类型”的概念,“云服务系列”就是某一大类的服务,比如DBaaS, MWaaS, IaaS,而“云服务类型”就是具体的实现方式,比如DBaaS这个云服务系列中,就包含3个云服务类型DB , PDB , Schema, 所谓DB就是指共享Oracle软件,用不同的DB来提供服务,而PDB和Schema也是依此类推,只是共享资源的级别和资源池化的方式不同。
再回到role创建,例子里我们就用EM_SSA_USER_BASE这个预置的role来做基础role,创建自定义role SSA_USER_DBAAS, 在创建过程中(向导第4步,资源权限页面)显式授予有限的云服务系列和类型,例子里的云服务系列就是DBaaS,服务类型是DB,PDB,Schema,EM13c里面创建自定义role的过程不是重点,不详细讲了,具体步骤可以参考EM13c的联机文档。这里创建的自定义role SSA_USER_DBAAS在后面会多次用到,很多和云服务有关的对象都要授权给这个role。
3.创建“资源提供方”
“资源提供方”是指能够提供云计算资源的对象,在PDB as Service场景下,资源提供方是两级对象,“PaaS基础机构区”和“可插入数据库池”。“PaaS基础机构区”可以理解为提供服务的相关主机,也就是说RAC数据库部署的机器。“可插入数据库池”可以理解为具体的数据库实例。
创建资源提供方需要私有云管理员角色,这里我们就用sysman来操作了。
首先要创建“PaaS基础机构区”,首先导航到云主页:“企业”->“云”->“云主页”,然后点击“Oracle Cloud“,在下拉菜单中选择”资源提供方“:
点击“创建“,在弹出窗口中选择”PaaS基础结构区“,然后按照向导提示创建对象,例子里用RAC_Zone作为名称,
包含安装RAC的两个主机db01.hthorizon.com和db02.hthorizon.com
将权限显式授予前文创建的角色 SSA_USER_DBAAS
然后再创建可出入数据库池,这里需要给出所有相关的认证信息,grid用户口令,oracle用户口令,root用户口令,数据库sys用户口令:
选择关联的PaaS基础结构区,目标类型是“集群数据库“,并添加集群数据库到列表,”在主机上“这栏似乎是缺陷,只显示一台主机,我认为应该显示所有RAC节点,不过不影响功能。
后面选缺省值,完成创建。
4.创建“服务模板”
用户申请DBaaS服务,简单说就是用预先编排好的“流程”,在“资源提供方”中自动为用户创建数据库服务(比如PDB),这个预先编排好的“流程”,就是“服务模板”。
创建“服务模板”的菜单路径如图:
在服务类型中选“可插入数据库”
创建服务模板,指定基础结构区和资源池:
然后创建工作量等级,每个条目代表一种资源配置等级,供用户选择。
授权给前面创建的role:
5.设置限额
设置这个role在请求资源时,最多能使用的资源的总量。
完成以上操作,最简单的PDB as a Service模式的DBaaS就配置完了。
然后就是创建EM13c的用户,然后授予前面我们定义的role,这个用户就可以自助使用DBaaS了。
这个例子里,我们创建一个用户,SSA_USER1,授予前面创建的role:SSA_USER_DBAAS,
6.用户使用
使用SSA_USER1 登录EM13c,进入自助门户:
点击“创建实例”,来创建一个数据库云服务实例:
这里的服务方案就是我们前面创建的服务模板
输入pdb名称,服务名,大小(就是我们前面定义服务模板时设定的3级工作量级别)等信息,就可以提交云服务请求了。
用户可以在请求页面查看请求处理进度:
过几分钟以后,job执行完毕,就可以看到请求的数据库服务实例了,在页面右上角的图表显示用户的限额和已使用量,根据我们前面给这个角色设置的限额,这个实例使用了10%的内存和存储资源:
点击实例,可以看到连接串等信息,有了这些信息,就可以开始使用了:
如果用户是测试用途的,也可以在使用完资源后,自己删除实例,或者在创建实例时指定实例的“持续时间”,让系统到期自动回收资源。
从管理者角度看,新生成的PDB,会自动成为PDB类型的Target,可以用EM13c统一管理和监控。