ORACLE数据库权限管理系统为运营商业务支撑系统保驾护航

时间:2022-08-13 07:16:55

ORACLE数据库权限管理系统为运营商业务支撑系统保驾护航

摘要:计费数据库权限管理系统是为解决通信行业综合业务和运营支撑系统(BOSS)频繁的改造和升级而造成数据库对象权限粗放式管理而产生的,属于信息技术的研究范畴。系统引入了工作流的概念,实现了对数据库表、函数、过程、视图等对象操作进行全面管理。

关键词:数据库;权限;审批

中图分类号:TP393 文献标识码:A文章编号:1007-9599 (2011) 10-0000-01

ORACLE Database Management System Using for Operators Business Support Systems

Wang Jie,Wang Wei

(Xinjiang Unicom,Informatization Department,Urumqi830000,China)

Abstract:Billing database rights management system is integrated to solve the communications industry,business and operations support systems(BOSS)and the upgrading of frequently caused extensive database object management rights arising from,are information technology research areas.System introduces the concept of workflow to achieve the right database tables,functions,procedures,views and other objects for the overall management of operations.

Keywords:Database;Authority;Approval

一、绪论

在通信企业综合业务和运营支撑系统维护工作中,涉及到上万的数据库对象;厂商开发人员、维护人员、测试人员和运营商的计费系统维护人超过百人;电信业务需求更新快,每个月都有新的需求出现,导致数据库对象的访问量非常频繁。使用数据库内部的权限管理命令完成上述场景,对于上百人操作数万个数据库对象的权限管理,实际上是不可行的,所以我们决定开发基于工作流的赋权管理模式管理众多的DML操作权限,并采用自动回收机制,减少工作量。

二、数据库权限管理场景描述

因有新的业务需求,项目开发人员在需要对数据库A表新增4条记录,需要对B表的2条数据做修改,需要A表的insert权限和B表的update权限,经过管理人员审批后,赋权10小时,无论开发人员在在10小时后是否完成A表和B表的新增修改操作,数据库管理员收回开发人员A表的新增记录权限和B表的修改记录权限。

三、系统功能概述

采用.net技术实现前台页面控制,数据库使用ORACLE,后台服务程序采用C#语言实现多线程申请、短信提醒、审批、赋权、权限自动回收的功能,并为数据库连接配置文件开发了自定义密钥的加密程序,自动生成配置文件,能够扩展到多个不同数据库的管理。实现了数据库用户信息管理、权限申请、短信提醒、权限审批、权限自动回收、操作日志自动记录、用户已有数据库权限查询等多项功能。

四、ORACLE数据库权限管理改进措施

(一)常见的几个问题。1.问题一:所有人都知道数据库主机的ORACLE账号,这是数据库管理的最大风险。2.问题二:所有人使用一个数据库管理员账户,每个人都能对库内所有的数据库对象做所有操作,这种在开发中造成普遍的混乱。3.问题三:开发人员在开发、调试、维护过程中,经常要创建一些临时表、测试表和其他的数据库对象,这些表或者对象日积月累,形成很庞大的垃圾对象群。尤其是垃圾表,占用了很多的空间,并且导致数据字典增大,数据库效率变低,也给数据迁移,带来很多麻烦。4.问题四:一些存储过程里,有DROP/CREATE临时表的操作,因为这类操作需要赋予应用用户删减、建表权限,这个不一定是个问题,但是会对权限管理造成影响。(二)改进措施。1.收回数据库主机ORACLE账户和口令。所有的数据库级和用户级操作全部由DBA完成,最大限度规避这两级操作的风险2.建立多用户的数据库环境。(三)矛盾与讨论。上述改进措施中,应用管理用户和应用程序用户是在使用过程中有矛盾的两个用户。1.一方面,不收回应用程序用户的DDL权限可能导致:(1)程序版本与实际物理结构之间有差别;(2)各省份子系统物理模型版本不一致;(3)因表结构不一致,数据导入总是不能及时准确;(4)表、数据误删操作频繁,影响开发进度。2.另外一方面,收回应用程序用户的DDL权限可能带来以下几个问题:(1)开发人员从提出需求到DBA响应完成需要一定时间,这段时间可能会被认为影响开发进度;(2)某些程序需要创建和删除临时表,要求赋予应用程序用户DDL权限,因为有临时表的DDL权限,根据前面ORACLE权限的描述,又有了对其他正式表的DDL权限;(3)当物理模型设计不完善时,开发人员对物理模型的修改需求会很频繁,DBA会很疲于应付各种需求脚本,增大工作负荷,进一步延长其他需求的响应时间。(四)更近一步的改进措施建议。上述矛盾的解决方案有三个:方法一、收回应用程序用户的DDL权限,同时要求DBA加快响应速度,完善物理模型和逻辑模型设计,应用程序(包括存储过程)的临时表CREATRE/DROP动作拿到程序以外执行。方法二、通过管理手段,规定开发人员不能自己CREATE/DROP表,应用程序用户为了临时表操作暂时保留以上权限,这类权限留待下次系统升级或者逐步收回。方法三、给应用程序用户DDL权限,赋予CREATE/DROP表的权限,用于其建、删临时表、备份表等。将生产表的属主定义为应用程序管理用户,这些表的操作由DBA完成,不允许应用程序用户修改,但是要对其赋予DML权限。因为应用程序用户有DDL权限,所以也要有一定的管理手段,不允许其自行创建生产表。

因为要兼顾开发进度与风险,所以最终的解决方案倾向于方案三。因此,DML的操作量很大,权限管理压力很重,使用ORACLE提供的权限管理模式满足不了生产的需求,因此我们开发了基于工作流的数据库权限管理系统,将DBA从权限管理的困境中解放出来。

五、总结

数据库权限工作流模式管理、简化赋权操作、符合内控要求是整个系统的核心思想。我们自主开发的数据库权限管理系统,正是在塞班斯法案的要求下产生的,本系统的设计思想为在美国的上市公司的信息系统的数据库权限管理工作提供了参考

参考文献:

[1]Oracle Database Online Documentation 10g Release 2(10.2).

[2]Effective C#:50 Specific Ways to Improve Your C#

[作者简介]王杰,男,新疆乌鲁木齐市人,2002年毕业于新疆大学信息管理专业,学士学位,现任职中国联通新疆分公司信息化部,从事联通BSS系统建设维护相关工作;王卫,男,新疆乌鲁木齐市人,1993年毕业于北京科技大学计算机系,学士学位,工程师,2005年获得ORACLE公司OCM认证,现任职中国联通新疆分公司信息化部,从事联通BSS系统建设维护相关工作。

上一篇:双面不锈钢复合薄板TIG填丝焊接 下一篇:高职院校软件技术专业实践教育探索与研究