利用oracle同义词技术加强对MIS系统数据接口管理控制

时间:2022-09-23 06:56:21

利用oracle同义词技术加强对MIS系统数据接口管理控制

摘要:利用oracle同义词技术,提高了数据接口安全性,并且提高数据对象透明度,简化数据查询语句的编写。

关键词:oracle;同义词;数据接口

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

Strengthen the MIS System Data Interface Management Control by Oracle Synonyms Technology

Wang Heng

(Tianjin Port China Coal Hua Neng Coal Terminal Co.,Ltd.,Tianjin300452,China)

Abstract:Using the oracle synonyms technology to improve the data interface security,and improve the transparency of data object,and simplify the data query compilation.

Keywords:Oracle;Synonyms;Data interface

近年来,随着电子计算机技术的普及与创新,数据库技术也获得了长足发展,并成为现代计算机信息系统与应用系统的核心技术。Oracle数据库以其结构合理、稳定性高、功能强大的优点逐渐成为世界范围内数据库的首选,作为大型数据库管理技术,其发展迅速,随着用户数量的增加和应用范围的不断扩展,使用者对Oracle要求也越来越高,希望其发挥更加强大的数据管理作用。在企业管理信息系统中,绝大多数的数据是持久化存储到数据库中的,所以保证数据的安全、稳定成为数据库管理工作的重中之重。

一、现状分析

目前,MIS系统已与多个管理信息系统建立接口,包括集团科设部系统、集团煤炭系统、铁路TMIS系统、公司电量采集系统和磅房称重系统。在运行的数据库应用中,实现方式为:以一个等价于DBA(Database Administrator,数据库管理员)权限的用户创建所有的表、试图、存储过程、触发器等数据库对象,然后由应用开发人员通过代码对这些数据库对象进行操作。这种方式会造成一定问题隐患。

(一)随着用户对数据库的掌握和理解的深入,一部分用户掌握了SQL(Structured Query Language,结构化查询语言)语句的使用,绕开应用程序直接使用交互式SQL,利用种方式访问数据库对象时,可能会产生一系列的安全问题,从而导致数据的不一致。

(二)在应用程序开发时,采用前台应用程序直接调用数据库对象的方式,这就为系统恶意攻击者提供了很大的便利,攻击者只需要对应用程序所引用的对象进行分析,就可以很容易的了解后台数据库的基本逻辑结构。

(三)在分布式远程数据库接口访问时,程序开发人员需要完整描述应用数据库对象的详细信息,包括:远程主机名、数据库名、用户名和用户对象,在语句编写方面会非常繁琐,并且如果有一点差错就还造成数据库找不到应用对象,查找问题依然复杂。

二、实施对策

在充分研究Oracle数据库原理和挖掘Oracle自身管理功能的基础上,发现利用Oracle的同义词技术可以解决上述问题。

从本质上讲,同义词就是数据库对象的一个别名,用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字,与视图类似,同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义。

下面以磅房称重系统接口访问MIS系统现场作业受理单为例描述一下具体实施过程(出于安全考虑,有些重要信息以“A”或“?”形式标识)。

(1)查看公司MIS系统的global_name

Select * from global_name;

查询结果为

(2)建立数据库连接(database link)

Create database link Connect to njAA indentified by ????(登录密码)using‘scAAA’;

(3)将现场作业受理单表(hy_plan_zysl_info)建立同义词

Create public synonym syno_zysl_info for ;

查询本地同义词syno_zysl_info的用户会自动地将查询指向服务名“”指定的现场作业受理单表(hy_plan_zysl_info)。

建立好同义词后,将磅房称重系统中访问现场作业受理单表的语句与未建立同义词时的语句进行比较,SQL语句为:

Select * from syno_zysl_info;(使用同义词)

Select * from 10.128.???.???.njAA.hy_plan_zysl_info;(未使用同义词)

我们可以清楚看到,SQL语句的编写为原来长度缩短为原来的三分之一左右,清晰明了,避免如此长的主机名、实例名、用户名和对象名书写错误,并且实现数据库对象透明,更重要的是系统的恶意攻击者不会通过这么明细的语句信息掌握后台数据库的基本逻辑结构,大大增强了系统的安全性。

三、总结

利用该方法,在不用修改应用程序任何代码和对用户不造成影响的情况下,达到了数据接口的安全性提升、编写代码简化和数据库对象透明的目的。通过此项数据库技术的应用,也为信息化工作的创新开阔了思路,在充分挖掘现有资源的基础上,进行技改技革,实现增强信息管理控制力的目标。

参考文献:

[1]纪红,刘大伟.Oracle 9i数据库管理员指南[M].北京:北京希望电子出版社,2003

上一篇:浅谈网络数据库技术及发展 下一篇:浅谈网络维护体会与心得