最近在研究Oracle 的用户配额管理,完成Oracle数据库的自动分配,作为Service 接入CloudFoundry,CloudFoundry 的开源社区目前不存在商业化产品的Service Broker,只
能自己写了。
简单记录几点
1、Oracle 提供两种Plan,用户配额分别为2G,5G
2、Oracle 单个表空间对数据文件的数量有限制,所以采用每个用户对应一个表空间。
3、Oracle创建自定义角色,赋予申请Oracle Service 的用户。
4、测试过程中,发现创建2G、5G的数据文件,需要非常的时间,会导致CC 收到响应的时间超时, 导致CC创建Service Instance 失败,但是Oracle已经创建成功,所以修改了创建Oracle 表空间的方式
create tablespace “instancename” logging datafile ‘d:\app\oracledata\aa.dbf ‘ size 32m autoextend on next 256m maxsize 2048m autolocate;
采用这种方式,只是创建一个32m的dbf文件,时间很快,响应超时的问题解决。
5、和创建Service Intance 一样,删除大数据的表空间也非常费时,所以采取了异步删除表空间的方式,Service Broker 增加了异步线程,去删除表空间。
这样 Oracle 的Service Broker 就可以运行起来了。
当然,这个只是简单的将Service Broker 功能实现了,后续还有增加每个Plan 更加详细的配置。