推荐期刊

应用Oracle数据库监控维护技术,维护数据库安全

时间:2015-12-21 01:52:09 所属分类:计算机技术 浏览量:

[论文关键词]Oracle 数据库 数据库安全 [论文摘要]数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫。围绕数据库的安全性问题提出一些安全性策略,希望对数据库管理员有所帮助。 数据

  [论文关键词]Oracle 数据库 数据库安全
  [论文摘要]数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫。围绕数据库的安全性问题提出一些安全性策略,希望对数据库管理员有所帮助。

  数据库安全性问题应包括两个部分:一是数据库数据的安全,它应能确保当数据库系统停机时,当数据库数据存储媒体被破坏时以及当数据库用户误操作时,数据库数据信息不至于丢失。二是数据库系统不被非法用户侵入,它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。
  
  一、数据库安全的主要内容
  
  (一)用户组和安全性
  在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类是所有的用户都可执行,另一类只有DBA可执行。在Unix环境下组设置的配置文件是/etc/group,关于这个文件如何配置,可以参阅Unix的有关手册,以下是保证Oracle数据库安全性的两种方法:
  1.在安装Oracle Server前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的程序只有710权限。在安装过程中SQL*DBA系统权限命令被自动分配给DBA组。
  2.允许一部分Unix用户有限制地访问Oracle服务器系统,增加一个由授权用户组成的Oracle组,确保给Oracle服务器实用例程Oracle组ID,公用的可执行程序,比如SQL*Plus、SQL*Forms等,应该可被这组执行,然后这个实用例程的权限为710,它将允许同组的用户执行,而其他用户不能。
  (二)数据库文件的安全性
  Oracle软件的拥有者应该设置这些数据库文件($ORACLE_HOME/dbs/*.
  dbf)的使用权限为0600,即文件的拥有者可读可写,同组的和其他组的用户没有写的权限。
  Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加安全性,建议收回同组和其他组用户对这些文件的可读权限。
  (三)网络安全性
  当处理网络安全性时,以下是额外要考虑的几个问题:一是在网络上使用密码,在网上的远端用户可以通过加密或不加密方式键入密码,当使用不加密方式键入密码时,密码很有可能被非法用户截获,破坏了系统的安全性。二是网络上的DBA权限控制,可以通过下列两种方式对网络上的DBA权限进行控制:一是设置成拒绝远程DBA访问;二是通过orapwd给DBA设置特殊的密码。
  
  二、制定完整的数据库监控方案,维护数据库安全
  
  一般来说,一个Oracle数据库管理员应该做的Oracle数据库系统监控方案是这样的。一是每天对Oracle数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。二是每周对数据库对象的空间扩展情况、数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。三是每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对Oracle数据库状态进行一次全面检查。
  制定监控方案的具体步骤如下:
  在本地建立一个数据库sid,然后使用Net Configuration Assistant
  工具配置参数,实现与远程数据库的连接。
  (一)计算Oracle数据库的会话连接数其算法描述如下
  Count();While not eof(v$Sesslon)If(Username="compiere")/*use
  Rname(用户名)为compiere*/{if(machine="yinglong")/*machine(机器名)为yinglong*/
  {If(Schemaname="compiere")/*schem-aname(模式名)为Compiere*/
  Count++;/*统计连接数*/ endif}endif}endif}
  访问系统的用户数量和数据库的会话连接情况明确为监控对象。
  (二)计算Oracle数据库的会话死连接数

  If(username='complere'){If(machine='yinlong'){If(status='inactive'){/*连接状态为死*/If(scnemaname='compiere'){Count++;}}}}
  (三)计算Oracle数据库的会话活连接数
  If(username='comptere'){
  If(machine='yinglong'){
  If(status='active')/*连接状态*/{
  if(Schemaname='compiere')Count++;}}}
  (四)系统当前访问用户数量
  If(t:on_line=1){/*表示用户在线;*/If(t.log_time<=sysdate){/*
  在线时间*/If(t.log_lp<>="){/*用户ip不为空*/Count++}}}
  
  三、启用备份保证数据安全
  
  对于数据库数据的安全问题,数据库管理员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。
  当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。
  随着网络的普及,基于网络的应用也越来越多。网络数据库就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也给不法分子造成了可乘之机。数据库安全就显得十分重要。数据库安全是数据库的生命,作为数据库安全性管理者,应该特别地为每个应用程序首先要保证数据库的安全。
  
  参考文献:
  [1]杨勇,数据库服务模型及其加密方法的研究与实现[D].四川大学,2005.
  [2]赵卫利,基于SSL的数据库安全代理研究与实现[D].武汉理工大学,2007.
  [3]肖英,信息保障及其评价指标应用基础研究[D].武汉大学,2006.
  [4]刘娜,浅谈数据库安全[J].长沙民政职业技术学院学报,2006,(04).


转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36577.html