CN104111876A - 一种基于Oracle资源计划的动态资源管理装置及方法 - Google Patents
一种基于Oracle资源计划的动态资源管理装置及方法 Download PDFInfo
- Publication number
- CN104111876A CN104111876A CN201410329048.7A CN201410329048A CN104111876A CN 104111876 A CN104111876 A CN 104111876A CN 201410329048 A CN201410329048 A CN 201410329048A CN 104111876 A CN104111876 A CN 104111876A
- Authority
- CN
- China
- Prior art keywords
- cpu
- time
- priority users
- cpu usage
- oracle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供的一种基于Oracle资源计划的动态资源管理装置及方法,其中装置,包括:CPU定时监测模块,用于使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;CPU使用率计算模块,用于计算一个预定时间周期内高优先级用户的CPU使用率;以及N个预定时间周期内高优先级用户的平均CPU使用率;资源计划更新模块,用于在CPU使用率计算模块计算得到高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。本发明可以提高系统整体资源利用率。
Description
技术领域
本发明涉及一种数据库运维领域,尤其涉及一种基于Oracle资源计划的动态资源管理装置方法。
背景技术
随着信息技术的不断发展,海量数据的处理逐渐成为企业信息发展的重要瓶颈。通过增加硬件借以提高计算机处理性能的传统做法存在着投资成本高的缺点,并且过多的设备必然导致运维成本增加。计算机集群技术的成熟应用,通过将廉价的设备连接起来,从而提高整体并行处理能力。目前,数据库服务器也多采取多台小型机或PC服务器组建集群,多个数据库实例共享同一集群资源。然后,当多个数据库在同一集群同时运行,当资源发生不足时,会发生争用现象。许多计算机系统都实现了为每个计算机用户组根据自己的需要使用不同标准的服务级别。如果系统整体上的资源压力很大,则可能无法为所有用户提供期望的服务级别。
目前,操作系统和数据库层面均可以制定系统和数据库资源的分配计划,以此实现资源管理,保证高优先级的用户优先占用资源。
在操作系统层面,操作系统自身会为各种任务分配资源。事务处理监视器能够确保高优先级作业获取所需资源,实现高优先级优先调度。但是,如果使用操作系统来分配数据库服务器资源,将面临过多的资源开销、低效的调度、资源分配不合理和无法管理数据库特有资源的问题。
在数据库层面,Oracle的资源管理器(Oracle Database Resource Manager,以下简称DBRM)将操作系统中的资源管理优点引入到了所有支持Oracle的平台,也就把资源管理从操作系统层面转移到数据库应用层面,同时可以管理数据库特有的资源和服务器资源。除此之外,Oracle应用是便携并且跨平台的,从而实现了平台无关性,适合对各类数据库应用进行资源管理。因此针对Oracle应用,适合采用Oracle DBRM进行资源管理。
DBRM进行资源管理的核心是资源计划,而现有的Oracle资源计划存在以下两个问题:
1、Oracle的资源计划设置不灵活,一个资源计划仅能设置一种资源分配方式。由于用户对系统资源的需求是动态变化,资源计划无法根据实时需求进行自适应调整,从而避免资源的浪费。
2、Oracle数据库并不提供CPU使用情况接口,仅提供单个会话CPU的使用量。因此,无法收集以用户为单位收集其CPU的使用情况。
3、当系统资源不足,需人工登录系统查看系统负载情况,通过停止不重要的进程或手工调整资源计划的方式来解决,增加了运维成本。
发明内容
为解决现有技术中存在的技术问题,本发明提供一种基于Oracle资源计划的动态资源管理装置及方法。
其中,本发明提供的一种基于Oracle资源计划的动态资源管理装置,包括:
CPU定时监测模块,用于使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;
CPU使用率计算模块,用于根据所述CPU定时监测模块的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;
资源计划更新模块,用于在CPU使用率计算模块计算得到所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
其中,所述一个预定时间周期为15秒。
其中,所述CPU使用率计算模块计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
其中,所述N=3。
本发明提供的一种基于Oracle资源计划的动态资源管理方法,包括:
使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;
根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;
在所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
其中,所述一个预定时间周期为15秒。
其中,所述根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
其中,所述N=3。
实施本发明具有如下有益效果:
本发明基于动态资源管理实现资源计划的动态更新,能够保证在资源争用的情况下,高优先级用户占用足够的CPU资源,确保高优先级用户的数据库请求顺利完成,同时也使得其他用户获得合理的CPU资源,提高系统整体资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于Oracle资源计划的动态资源管理装置的结构示意图。
图2为本发明提供的基于Oracle资源计划的动态资源管理装置的方法实施例一的流程示意图。
图3为本发明提供的基于Oracle资源计划的动态资源管理装置的方法实施例二的流程示意图。
具体实施方式
参见图1,本发明提供的一种基于Oracle资源计划的动态资源管理装置,包括:
本发明提供的一种基于Oracle资源计划的动态资源管理装置,包括:
CPU定时监测模块10,用于使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;
CPU使用率计算模块11,用于根据所述CPU定时监测模块10的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;
资源计划更新模块12,用于在CPU使用率计算模块11计算得到所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
其中,所述一个预定时间周期为15秒。
其中,所述CPU使用率计算模块11计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
其中,所述N=3。即在CPU定时监测模块10连续监测3个15秒周期的高优先级用户CPU使用率,且CPU使用率计算模块11计算得到这3个周期内,高优先级用户的平均CPU使用率上升超过原资源计划值的75%或下降低于原资源计划值的50%,资源计划更新模块12即修改DBRM资源计划,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%,相应其他用户的计划值也做修改。
参见图2,本发明提供的一种基于Oracle资源计划的动态资源管理方法实施例一,包括:
步骤100,使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;其中,所述一个预定时间周期为15秒。
步骤101,根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;其中,所述N=3。
步骤102,在所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
其中,所述根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
参见图3,本发明提供的一种基于Oracle资源计划的动态资源管理方法实施例二,包括:
步骤200,监测CPU任务启动,每隔15秒运行一次;
具体的,Oracle基于时间的任务调度是定时执行一段PL/SQL匿名块、存储过程、函数、包或者是操作系统的可执行脚本和外部程序,本发明中使用Oracle基于时间的任务调度实现每隔15秒监测一次高优先级用户的CPU使用率,具体使用Oracle的dbms_scheduler包实现。
步骤201,监测CPU,计算高优先级用户的CPU使用率百分比;
具体的,Oracle没有一个直接方法可以获取会话CPU使用率,本发明实现了计算Oracle会话CPU使用率模块,通过分别计算15秒时间周期内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒周期内的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
计算15秒时间周期内高优先级用户会话CPU时间CPU_session的SQL如下:
SQL>select cpu from v$sessmetric a,v$session b where a.session_id=b.sid andb.username='VIP'
计算任意时间点CPU累计值CPU_total_tx的SQL如下:
SQL>select sum(VALUE)from v$osstat where stat_name='IDLE_TIME'orstat_name='BUSY_TIME'
步骤202,判断是否采集到3个周期的高优先级用户的CPU使用率百分比;若是,转入步骤203;若否,返回执行步骤200;
步骤203,计算3个周期内高优先级用户平均站用CPU使用率百分比;
步骤204,判断所述高优先级用户的平均CPU使用率是否上升超过原资源计划值的75%或者下降低于原资源计划值的50%;若是转入步骤205;若否,返回执行步骤200;
步骤205,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
实施本发明具有如下有益效果:
本发明实现了Oracle资源计划自适应的动态资源管理。在DBRM实现的固定资源计划基础上,通过使用Oracle时间的作业调度,定期收集高优先级用户会话的实时CPU使用情况,并依据自定义的资源计划分配算法,实现资源计划的CPU使用率计划值随高优先级用户实际使用率的自适应动态更新。这样在保证了高优先级用户优先使用系统资源的同时,减少了资源浪费,提高了Oracle系统资源利用率,降低了运维成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种基于Oracle资源计划的动态资源管理装置,其特征在于,包括:
CPU定时监测模块,用于使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;
CPU使用率计算模块,用于根据所述CPU定时监测模块的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;
资源计划更新模块,用于在CPU使用率计算模块计算得到所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
2.如权利要求1所述的基于Oracle资源计划的动态资源管理装置,其特征在于,所述一个预定时间周期为15秒。
3.如权利要求2所述的基于Oracle资源计划的动态资源管理装置,其特征在于,所述CPU使用率计算模块计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
4.如权利要求3所述的基于Oracle资源计划的动态资源管理装置,其特征在于,所述N=3。
5.一种基于Oracle资源计划的动态资源管理方法,其特征在于,包括:
使用Oracle基于时间的任务调度,每隔一个预定时间周期运行一次,监测高优先级用户的CPU使用率;
根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率;以及N个预定时间周期内所述高优先级用户的平均CPU使用率;
在所述高优先级用户的平均CPU使用率上升超过原资源计划值的75%或者下降低于原资源计划值的50%时,更新高优先级用户的资源计划值,以使当前高优先级用户CPU使用率为新资源计划值的60%。
6.如权利要求5所述的基于Oracle资源计划的动态资源管理方法,其特征在于,所述一个预定时间周期为15秒。
7.如权利要求6所述的基于Oracle资源计划的动态资源管理方法,其特征在于,所述根据所述高优先级用户的CPU使用率的监测结果,计算一个预定时间周期内所述高优先级用户的CPU使用率,具体为:
分别计算所述高优先级用户的15秒内的会话CPU时间CPU_session和系统CPU时间累计值,计算得到15秒内的所述高优先级用户的Oracle会话CPU使用率CPU_ratio,计算公式如下:
其中,CPU_total_t2表示15秒周期结束时系统CPU时间累计值,CPU_total_t1表示15秒周期开始时系统CPU时间累计值。
8.如权利要求7所述的基于Oracle资源计划的动态资源管理方法,其特征在于,所述N=3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329048.7A CN104111876A (zh) | 2014-07-10 | 2014-07-10 | 一种基于Oracle资源计划的动态资源管理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329048.7A CN104111876A (zh) | 2014-07-10 | 2014-07-10 | 一种基于Oracle资源计划的动态资源管理装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104111876A true CN104111876A (zh) | 2014-10-22 |
Family
ID=51708674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410329048.7A Pending CN104111876A (zh) | 2014-07-10 | 2014-07-10 | 一种基于Oracle资源计划的动态资源管理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111876A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017133421A1 (zh) * | 2016-02-05 | 2017-08-10 | 华为技术有限公司 | 一种多租户资源共享的方法及装置 |
CN107818093A (zh) * | 2016-09-12 | 2018-03-20 | 华为技术有限公司 | 一种sql脚本的定位方法、装置及系统 |
CN108563504A (zh) * | 2018-02-24 | 2018-09-21 | 国家计算机网络与信息安全管理中心 | 一种资源管控方法和装置 |
CN109002377A (zh) * | 2018-07-26 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种处理器检测方法、处理器检测装置以及计算机设备 |
CN109769020A (zh) * | 2019-01-09 | 2019-05-17 | 网宿科技股份有限公司 | Cdn集群加速服务资源管理方法及装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387971A (zh) * | 2008-09-26 | 2009-03-18 | 中兴通讯股份有限公司 | 一种嵌入式软件的任务调整方法和装置 |
CN101533362A (zh) * | 2009-04-15 | 2009-09-16 | 南京联创科技股份有限公司 | 进程间cpu资源平衡调度方法 |
CN102654841A (zh) * | 2011-03-02 | 2012-09-05 | 中国电信股份有限公司 | 细粒度分配虚拟机计算资源的方法和设备 |
CN103729254A (zh) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | 一种虚拟服务器Virtual CPU资源监测及动态分配方法 |
-
2014
- 2014-07-10 CN CN201410329048.7A patent/CN104111876A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387971A (zh) * | 2008-09-26 | 2009-03-18 | 中兴通讯股份有限公司 | 一种嵌入式软件的任务调整方法和装置 |
CN101533362A (zh) * | 2009-04-15 | 2009-09-16 | 南京联创科技股份有限公司 | 进程间cpu资源平衡调度方法 |
CN102654841A (zh) * | 2011-03-02 | 2012-09-05 | 中国电信股份有限公司 | 细粒度分配虚拟机计算资源的方法和设备 |
CN103729254A (zh) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | 一种虚拟服务器Virtual CPU资源监测及动态分配方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017133421A1 (zh) * | 2016-02-05 | 2017-08-10 | 华为技术有限公司 | 一种多租户资源共享的方法及装置 |
CN107818093A (zh) * | 2016-09-12 | 2018-03-20 | 华为技术有限公司 | 一种sql脚本的定位方法、装置及系统 |
CN108563504A (zh) * | 2018-02-24 | 2018-09-21 | 国家计算机网络与信息安全管理中心 | 一种资源管控方法和装置 |
CN109002377A (zh) * | 2018-07-26 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种处理器检测方法、处理器检测装置以及计算机设备 |
CN109769020A (zh) * | 2019-01-09 | 2019-05-17 | 网宿科技股份有限公司 | Cdn集群加速服务资源管理方法及装置、电子设备和存储介质 |
CN109769020B (zh) * | 2019-01-09 | 2021-09-24 | 网宿科技股份有限公司 | Cdn集群加速服务资源管理方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111876A (zh) | 一种基于Oracle资源计划的动态资源管理装置及方法 | |
TWI697787B (zh) | 自適應資源分配方法及裝置 | |
CN105893148B (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
CN106681835B (zh) | 资源分配的方法和资源管理器 | |
CN103677999A (zh) | 计算环境内的资源的管理 | |
CN106326003A (zh) | 一种作业调度和计算资源分配方法 | |
CN102711139B (zh) | 一种数据流量统计方法及终端 | |
CN110599148B (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN107861796B (zh) | 一种支持云数据中心能耗优化的虚拟机调度方法 | |
CN104023042B (zh) | 云平台资源调度方法 | |
CN103700041A (zh) | 基于云计算的智能电网负荷预测管理平台 | |
CN102043675A (zh) | 一种基于任务处理请求任务量大小的线程池管理方法 | |
CN105893158A (zh) | 私有云条件下的大数据混合调度模型 | |
CN105975049B (zh) | 一种任务同步偶发任务低能耗调度方法 | |
CN102508717B (zh) | 一种应用于多核处理器的内存调度方法及装置 | |
CN102855293A (zh) | 一种电动汽车及充换电设施系统海量数据处理方法 | |
CN107316124B (zh) | 大数据环境下大规模事务型作业调度与处理通用系统 | |
CN102629220A (zh) | 一种动态任务分配管理方法 | |
CN102917014A (zh) | 资源调度方法及装置 | |
CN105320565B (zh) | 一种针对多种应用软件的计算机资源调度方法 | |
CN103049326B (zh) | 在作业管理与调度系统中管理作业程序的方法和系统 | |
CN104063282A (zh) | IaaS云可变规模资源池管理方法、装置和服务器 | |
CN103325012A (zh) | 一种适用于电网安全校核的并行计算动态任务分配方法 | |
CN103501509B (zh) | 一种均衡无线网络控制器负载的方法及装置 | |
CN104243179A (zh) | 一种灵活的计费策略方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141022 |