APP下载

数据库双维度靶向管控方法的研究与实现

2021-05-23石玉松

电脑知识与技术 2021年11期
关键词:靶向管控服务器

石玉松

摘要:通过对厂矿两级多套数据库的长期跟踪监测,分析用户访问行为,找出并认真研究影响数据库稳定运行的关键因素,创建出“数据库双维度靶向管控方法”,适用于数据库管理中的事前预防、事中处置和事后追溯的介入性全周期管理。通过应用概要文件控制技术配合分级实施策略,实现横向维度上基于数据库用户级的访问控制;通过应用数据库级触发器技术配合行为自动鉴别功能,实现纵向维度上基于单机IP级的访问控制;将两个维度的管控方案进行联合,形成了较为完整、有效的数据库管控体系,实现对数据库各类访问行为的精确定位、精准把控、精细管理。既可保证数据库运行的安全、平稳、高效,还可构建出健康、良好的数据访问秩序。对于本地化及云中心的数据管理提供成熟经验和技术解决方案。

主题词:数据库;双维度靶向管控;访问秩序

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2021)11-0033-03

1 背景及意义

随着采油厂数据中心的建设规模、用户量级和数据量级不断增大,且近年来新技术的应用、新业务的上线以及移动端的兴起,使数据库的访问量和数据交互频率产生了巨大的增长,对服务器的运行稳定性也提出了更高的要求,那么如何在新形势下确保数据库的安全、平稳、高效,成为一项重要的研究课题。

生产数据库系统不仅与厂内各大应用系统直接相连,多套数据库间也保持紧密的数据交互,而且与厂外各单位的数据库也保持着紧密的数据往来关系,那么如何形成良好的访问秩序,是实现数据库平稳运行的前提。本文着重阐述数据库双维度靶向管控方法的建设思路、技术要点、认识及应用效果。

2 数据中心运行状况分析

2.1建设规模大,需要建立更良好的运行秩序

厂级数据中心共建设有厂、矿两级各类功能数据库多套,其中厂级按照专业门类主要划分为油藏工程数据库、采油工程数据库和经营管理数据库,矿级按照主要生产行政单位也建设数据库多套。多套数据库间已经形成了较为完整的协同工作模式,相互依托,相辅相成,然而从长期发展来看,仍然需要良好运行秩序的支持,才能使整体数据库系统保持稳定的运行状态。

2.2运行规模大,需要形成更规范的调用秩序

由于管理环节多、管理链条长,信息技术在各生产环节中应用的比例逐年增高,数据库间的数据交互也越发频繁。尤其是近年来与测试、作业、录井等厂外用户的数据库建立了数据共享通道,允许跨单位直连的数据访问,使数据调用关系越发复杂,需要建立起规范的数据调用秩序,以确保数据库系统安全运行。

2.3应用规模大,需要构建更完善的访问秩序

依托于数据中心,目前在用的应用软件近百余项,包括方案调整、措施优选、形势分析、油田生产、运行控制、指挥决策等业务,以及办公自动化、计划、经营、基建投资、物资管理等业务。形成了多元化、多业务、多层级的应用系统生态环境。

近年来新上线运行的应用系统无论从规模上、交互实时性要求上以及数据变化频率上都表现出了新的运行特点。随着“油气水井站数字化工程的实施推进”“移动端应用的加速发展”“非结构化数据的深化应用”以及“传统业务数据的稳定增长”,预计未来5年内数据库访问量还将产生高速的增长,这就需要更为严格的应用访问秩序。

3 用户访问行为的分析与研究

用户的访问行为可分为正常访问和非正常访问两大类。目前,各大数据库系统的資源状况可以满足全厂用户的正常访问需求,但随着新应用带入的新访问请求,服务器负载仍在逐年递增,峰值已接近高位警戒线。此时,如果出现非正常访问行为就会直接影响数据库运行安全,严重时将导致数据库宕机,服务中断。可以看出,非正常访问行为与数据库运行安全之间存在着突出的矛盾点。本文着重讨论如何实现对正常访问行为透明而对非正常访问行为可精确识别管控的具体方法。

用户的非正常访问行为有很多种,看似杂乱无章,但通过长期监测分析发现,还是有章可循的,大致可分为以下几种常见类型:

跨服务器数据调用时由于采用服务器专用链路,增加了监管难度,无有效手段管控。

用户的不良操作习惯,造成连接资源长期无效占用,导致运行资源的浪费。

软件算法的隐性缺陷,会存在一定程度的未知风险,造成服务器进程死锁或资源耗竭。

资源请求不严谨,超量抢占CPU、IO及内存等公共资源,造成服务器的高负载。

当前服务器运行资源已经处于高位,某些情况下峰值已经超过总运行资源的70%,无法承受非正常访问行为带来的冲击。而在上述情况发生以后,管理上并无特效的技术手段支持,通常是采取逻辑切断、用户锁定,严重时需要重启服务器。所以迫切需要研究一套有针对性的解决方案,具备行为自动识别、判定与处置能力,确保数据库系统各项功能平稳运行。

4 度靶向管控方法的实现

4.1基于数据库用户级的管控方案

用户管理作为数据库管理单元中的重要组成部分,承担着重要的任务。通常来说,一个数据库用户会对应一套应用系统,形成明确的对应关系,并且负责人明晰,是数据库管理中重要的抓手。

利用概要文件各种参数及值的设定,实现对硬件系统和数据库资源及内核资源的使用限定。不同数据库用户担负着不同的任务,执行不同的SQL语句,所需要的资源也不尽相同,可以利用概要文件对资源进行精确分配与控制。

重要参数项如下:

CPU_PER_SESSION:限制每个会话可以占用的CPU时间总量。如果会话超过这一设定,则会强制用户做出选择(提交事务或退回事务)。

CPU_PER_CALL:限制每个数据库调用可以占用的CPU时间。精确到每个SQL语句的解析、执行过程。

CONNECT_TIME:限定会话的最大连接时间。

IDLE_TIME:限定会话的最大空闲时间。

SESSIONS_PER_USER:限制一个用户可以并发执行的会话数量。

LOGICAL_READS_PER_SESSION:限制一个会话可以执行的逻辑读取块数。

LOGICAL_READS_PER_CALL:限制每个数据库调用可以执行的逻辑读取块数。

注:逻辑读的限定相对于执行时间更为准确,因为其不受系统负载的变化影响,但逻辑读的阈值确定相对复杂,不直观,设定难度较大。

PRIVATE_SGA:限制分配给UGA(User Globel Area 用户全局区)的SGA内存数量。

COMPOSITE_LIMIT:限定一个用户会话可以消耗资源的总限额。

值得说明的一点是,概要文件虽然通过设定并与用户关联对接,但默认情况下它并不生效,需要DBA手动开启才能生效,这是使用概要文件的重要环节。

4.2基于单机IP级的管控方案

基于IP级别的数据库管控是客户端访问管理中十分重要的环节,一直以来始终缺乏有效的管理手段,尤其是对于投用年限较早的C/S架构的应用程序,程序文件分散在用户各自的计算机终端,有的用户会“备份”多个应用程序版本,存放在硬盘、U盘中,导致应用程序版本混乱,如果应用本身没有做好版本控制,这将给数据库访问安全带来隐患,而且在服务端对其控制的效果也始终不理想。

基于IP管控的核心关键在于IP地址的获取与锁定。由于数据库自带的系统性能視图V$SESSION中并没有记录准确的IP地址信息,只记录了计算机名、系统用户名等模糊信息,不能实现精确定位,所以此类参数无法使用。

通过研究发现,可利用DBMS_APPLICATION_INFO包中的SET_CLIENT_INFO方法获取到准确来访IP。采用库级触发器与DBMS_APPLICATION_INFO结合的方式将IP地址回写到系统V$SESSION视图中,从而实现对每个来访进程的IP获取,这也为整体方案的实施奠定了基础。

在所有Oracle进程中分为后台服务进程、服务器共享访问进程、用户客户端访问进程三大类,我们此次研究的对象只针对后两类访问进程进行讨论。

构建完整的程序架构体系(敏感信息使用*代替):

*_LOGON_IP_CONTROL:主控制单元。数据库级触发器,主要负责用户IP的获取与回写操作以及用户非正常访问行为的识别与隔离功能。

*_SESSION_COUNT_LIST:用户并发数统计功能。系统级视图,主要对IP进行分组统计,为主控制单元提供并发数的判定依据。

*_SESSION_INFO:用户进程详细信息。系统级视图,主要提供详细的用户登录访问信息,为主控制单元及日志功能提供信息来源。

*_LOGIN_BWL:黑白名单控制模块。实体表,主要用来对用户实施分级管理,是主控制单元执行控制行为的关键依据。

*_LOGIN_LOG:监控日志模块。实体表,主要用来记录主控制单元的各项操作痕迹以及用户行为的留痕。具备分级日志功能,可根据实际需要切换日志记录的粗细粒度。

管控策略设定的合理性将直接决定着该方法的实际效果。如果策略设定过于严格,则有可能对正常用户访问造成影响,降低数据库访问的稳定性。如果策略设定的过于松散,则有可能无法准确识别非正常访问行为,更无法对其进行管控,服务器运行风险得不到有效控制。只有充分考虑不同日期、不同时间段以及不同负载压力下,用户访问量的变化情况,进行综合考虑,并允许对不同IP进行灵活的阈值设定,才能达到预期的管控效果。

4.3双维度联合管控的必要性

通过以上两套管控方案均可以对数据库的访问行为进行有效管控,但每个方案都有管理侧重点,也有管理盲区。通过分析发现,两套方案存在很强的互补性,所以将两套方案融合才能形成合力,实现横向维度上基于数据库用户级别的管控、纵向维度上基于单机IP级别的管控,双维度的联合实现了更为精细、精确、精准的数据库管理。

5 优势与效果

5.1有利于对资源实施顶层监管

对于用户而言,数据库资源对其是透明的,容易在无意间造成资源浪费,服务器需要为无效连接支付更多资源保障,无疑对数据库运行会带来影响,同时也会抢占其他用户的正常访问,所以“双维度靶向管控”手段是实施顶层监管的利器。

5.2有助于安全风险采取规避措施

对于程序而言,或多或少都会存在一定的BUG。而且某些隐性的BUG只有在特定条件下才会被触发,场景还原比较困难,问题的定位就会更加模糊。此时为了确保数据库有能力对隐性BUG风险进行安全规避,利用好“双维度靶向管控”手段是关键,缩小风险用户的资源支配量,将风险禁锢在较小的范围内,实现隐性风险的受控、可控。

5.3 有益于稳定运行提供技术保障

“双维度靶向管控”适用于事前预防、事中处置及事后追溯的介入性全周期管理。按照多套数据库服务器每天访问总数万次的粗略估算,半年来至少监测守护了近两万次的访问量,累计阻隔非正常访问五千余次。

在当前数据需求多变、访问压力逐年递增的趋势下,我厂数据库系统始终保持着健康有序的良性发展,数据库在线时率保持在99%以上,为全厂提供着稳定、高效的数据访问服务,并形成了良好的秩序环境。

6 总结

本文详细阐述了“数据库双维度靶向管控”方法的研究与实施思路和具体做法,都是经过长期探索试验、工作实践总结而出,并在长期的数据库管理过程中不断修正完善的,现已形成了较为完整的管控体系,成为提升数据库管理质量的有效手段。该方法不仅适用于本地环境,对云数据中心管理也值得推广应用。由于云资源管理更加规范严格,所以实施此项措施有利于在云环境下完成数据库的精细化管理。

参考文献:

[1] 姜姗,任靖娟,高志宇.基于聚类优化的大型网络数据库挖掘系统设计[J].现代电子技术,2020,43(6):175-177,182.

[2] 黄志,李涛,宋瑶,等.基于Json的小型异构数据库同步策略研究[J].气象研究与应用,2020,41(1):48-53.

[3] 杨国清.关系数据库中树形结构的矩阵算法研究[J].计算机时代,2020(3):50-52,56.

[4] 史吉超.浅谈施工企业成本数据库建设[J].智能城市,2020,6(5):75-76.

[5] 杨春丽.计算机网络数据库安全管理技术的优化分析[J].河北农机,2020(3):44.

【通联编辑:唐一东】

猜你喜欢

靶向管控服务器
EyeCGas OGI在泄漏管控工作中的应用
如何判断靶向治疗耐药
多端联动、全时管控的高速路产保通管控平台
MUC1靶向性载紫杉醇超声造影剂的制备及体外靶向实验
毛必静:靶向治疗,你了解多少?
通信控制服务器(CCS)维护终端的设计与实现
信用证洗钱风险识别及管控
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御