CN113468167B - 一种数据库高水位回收方法、装置及电子设备 - Google Patents
一种数据库高水位回收方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113468167B CN113468167B CN202010247392.7A CN202010247392A CN113468167B CN 113468167 B CN113468167 B CN 113468167B CN 202010247392 A CN202010247392 A CN 202010247392A CN 113468167 B CN113468167 B CN 113468167B
- Authority
- CN
- China
- Prior art keywords
- database
- water level
- high water
- level recovery
- preset
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种数据库高水位回收方法、装置及电子设备,涉及数据库维护领域。其中,通过从预设的数据表中读取预设时长内的数据库块的空间使用率,数据表中保存有数据库中的至少一个数据库块在指定时刻的空间使用率;如果基于预设时长内的数据库块的空间使用率分析得到数据库满足第一高水位回收条件时,对数据库进行高水位回收处理。
Description
技术领域
本申请涉及数据库运维领域,具体而言,涉及一种数据库高水位回收方法、装置及电子设备。
背景技术
在数据库存储中,高水位线(High-warter mark,HWM)随着频繁插入的数据量的增多而上涨,如果操作人员采用delete语句删除数据,数据虽然被删除了,但是高水位线仍保持在数据删除前的水位不会降低,严重影响基于高水位线进行数据块扫描的Select语句的查询效率,进而影响整个应用系统的处理性能。
发明内容
对于上述问题,本申请实施例提供了一种数据库高水位回收方法、装置及电子设备,具体如下。
第一方面,本申请实施例提供一种数据库高水位回收方法,包括:
从预设的数据表中读取预设时长内的数据库块的空间使用率,所述数据表中保存有所述数据库中的至少一个数据库块在指定时刻的空间使用率;
如果基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件时,对所述数据库进行高水位回收处理。
进一步,作为一种可能的实现方式,基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件的步骤,包括:
在所述预设时长内包括多个指定时刻时,检测各所述指定时刻对应的空间使用率是否大于第一预设阈值;
如果大于第一预设阈值的空间使用率的数量达到第二预设阈值时,判定所述数据库满足第一高水位回收条件。
进一步,作为一种可能的实现方式,所述空间使用率LV通过下述公式计算得到:
LV=FULL_BYTES/TOTAL_BYTES;其中,FULL_BYTES为所述数据库中的理论数据空间,TOTAL_BYTES为所述数据库中的实际总占用空间。
进一步,作为一种可能的实现方式,所述对所述数据库进行高水位回收处理的步骤,包括:
利用Oracle数据库中的MOVE ONLINE功能对指定表对象进行碎片整理,以实现数据库的高水位回收。
进一步,作为一种可能的实现方式,在所述从预设的数据表中读取预设时长内的数据库块的空间使用率的步骤之前,所述方法还包括:
对数据库中的各指定表对象进行碎片分析,得到与所述指定表对象对应的数据库块的空间使用率;
将分析得到所述空间使用率的当前时刻作为指定时刻,以及将所述指定时刻与所述空间使用率关联保存在预设的数据表中。
进一步,作为一种可能的实现方式,所述方法还包括:
从所述数据表中读取预设时长内的所述数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量;
在所述未使用空间的空间大小以及所述具有预设大小的未使用空间的数据库块的数量满足第二高水位回收条件时,再执行所述对所述数据库进行高水位回收处理的步骤。
进一步,作为一种可能的实现方式,所述方法还包括:
在检测到当前时段为空闲时段时,执行所述从预设的数据表中读取预设时长内的数据库块的空间使用率的步骤。
第二方面,本申请实施例提供一种数据库高水位回收装置,包括:
数据读取模块,用于从预设的数据表中读取预设时长内的数据库块的空间使用率,所述数据表中保存有所述数据库中的至少一个数据库块在指定时刻的空间使用率;
高水位回收模块,用于在基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件时,对所述数据库进行高水位回收处理。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;
与所述处理器连接的至少一个存储器;
其中,所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质存储有计算机指令,所述计算机指令使所述计算机执行如上所述的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
基于记录在预设的数据表中的空间使用率实现对数据库是否进行高水位回收流程的判断,能够实现数据库高水位回收的高效化、自动化执行,避免了现有技术中通过人工干预造成的高水位回收不及时、回收结果不准确等问题的发生。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据库高水位回收方法的流程示意图。
图2为本申请实施例提供的数据库高水位回收方法的另一流程示意图。
图3为本申请实施例提供的数据库高水位回收装置的框图。
图4为本申请实施例提供的电子设备的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以Oracle数据库为例,经研究发现,现有Oracle数据库在进行高水位线查询处理时,主要依赖于并不实时更新的统计信息,进而基于该统计信息并结合数据字典dba_tables里的BLOCKS、AVG_ROW_LEN、NUM_ROWS字段以及DB_BLOCK_SIZE参数值来计算理论空间使用情况和实际空间使用情况,进而得到数据库的空间使用率,再根据空间使用率判断是否需要做数据库的高水位回收,例如:
理论需要空间:AVG_ROW_LEN*NUM_ROWS/1024/1024/0.9
实际占用空间:BLOCKS*DB_BLOCK_SIZE/1024/1024
空间使用率=理论需要空间/实际占用空间*100%
其中,对于需要高水位线回收的数据库表,可采用TRUNCATE、SHRINK、MOVE等操作把HWM给清空置0来提高数据库查询效率。
但是,前述方案在实施时仍然存在如下问题:
(1)前述的高水位表查询依赖于非实时更新的数据库统计信息,如运维人员需对数据库统计信息进行集中分析后再跟踪处理,不能及时、准确、自动地响应高水位表带来的系统查询性能问题。
(2)前述的通过集中式处理高水位回收操作,对应用系统的可用性影响较大,处理耗时较长,且需要申请割接窗口、拟定割接计划。例如,需要在业务低峰期由运维人员人工干预处理,导致高水位回收效率低,更无法满足准确性要求。
对于现有Oracle数据库在进行高水位回收时存在的前述问题,本实施例给出一种数据库高水位回收方法、装置及电子设备,以解决前述技术问题中的至少一个,下面结合附图对本实施例给出的技术方案进行阐述。
实施例一
如图1所示,为本申请实施例提供的数据库高水位回收方法的流程示意图,该数据库高水位回收方法可以由,但不限于电子设备执行,具体可由电子设备中的硬件或/和软件执行。可选地,电子设备可以为,但不限于智能手机、电脑、服务器、可穿戴设备等终端。需要说明的是,本实施例给出的电子设备值可运行有,但不限于Oracle数据库,如Oracle12c等。
下面请参照图1,本申请给出的数据库高水位回收方法至少可以包括如下步骤。
S11,从预设的数据表中读取预设时长内的数据库块的空间使用率。
其中,预设时长可以是一天、两天、一周等,本实施例对此不做限制。数据表中保存有数据库中的至少一个数据库块在指定时刻的空间使用率,该指定时刻可以为用户预先设置的,例如,假设空间使用率是按照预设时间间隔对数据库中的指定表对象进行分析得到,那么,指定时刻为预设时间间隔对应的时间点,例如假设预设时间间隔为1小时,那么指定时刻可以为1:20、2:20、3:20……
另外,数据表可以预先配置并保存在电子设备或数据库中,且数据表的实际形式可根据需求进行灵活设定,例如,作为一种可能的实现方式,数据表可以,但不限于下表1所示。
表1
字段名 | 注释 | 分析结果 |
SEGMENT_OWNER | 对象拥有者 | |
SEGMENT_NAME | 对象名称 | |
SEGMENT_TYPE | 对象类型 | |
PARTITION_NAME | 分区名(如果存在) | |
TOTAL_BYTES | 实际总占用空间 | |
FULL_BYTES | 理论数据空间 | |
UNUSED_BYTES | 未使用空间 | |
LV | 空间使用率 | |
UNFORMATTED_BYTES | 未格式化字节总数 | |
FS1_BYTES | 具有至少0%到25%可用空间的块数 | |
FS2_BYTES | 具有至少25%到50%可用空间的块数 | |
FS3_BYTES | 具有至少50%到75%可用空间的块数 | |
FS4_BYTES | 具有至少75%到100%可用空间的块数 | |
SHOW_TIME | 分析时间 |
结合表1,在进行空间使用率的读取时,可基于表1所示的SHOW_TIME字段(分析时间)获取预设时长内的分析结果(空间使用率)。
示例性地,作为一种可能的实现方式,空间使用率LV可通过公式计算得到:LV=FULL_BYTES/TOTAL_BYTES。其中,FULL_BYTES为数据库中的理论数据空间,TOTAL_BYTES为数据库中的实际总占用空间。
进一步,作为一种可能的实现方式,在S11之前,本实施例给出的数据库高水位回收方法还可包括图2所示的S13和S14。
S13,对数据库中的各指定表对象进行碎片分析,得到与指定表对象对应的数据库块的空间使用率。
其中,可以,但不限于使用Oracle12c中自带的程序包sys.dbms_space的space_usage函数和unused_space函数对指定表对象进行碎片分析,以动态获取数据库块实时空间使用率情况。其中,指定表对象可以为数据库中的全量数据库表,也可以是保存在一数据库块上的数据库表等,具体可根据用户预先指定的参数值等确定得到,本实施例对此不做限制。
S14,将分析得到空间使用率的当前时刻作为指定时刻,以及将指定时刻与空间使用率关联保存在预设的数据表中。
S14中的数据表可以如前述表1所示,那么,在对指定时刻和空间使用率进行关联保存时,可将其写入表1所示的位置处,如指定时刻写入SHOW_TIME字段对应的位置处,本实施例对此不做限制。
进一步,在实际实施时,为了避免由于数据库高水位回收对应用系统等运行过程的影响,本实施例给出的数据库高水位回收流程可在空闲时段进行。例如,本实施例在执行S11之前,可通过检测当前时段的数据处理量或数据库的访问量(如数据写入、数据读取等)状态,以判断当前时段是否为空闲时段,若是空闲时段,则执行S11和S12中给出的数据库高水位回收流程;反之,则不执行数据库高水位回收流程(即休眠状态)。
此外,在一些实现方式中,还可以通过响应用户预先设置的数据库高水位回收流程执行时间(如根据不同不同行业的业务忙闲特点进行个性化设置)来实现数据库高水位回收流程的开启控制。例如,可设置晚上23:00-02:00这一时间段执行前述的数据库高水位回收流程,本实施例对此不作限制。
S12,如果基于预设时长内的数据库块的空间使用率分析得到数据库满足第一高水位回收条件时,对数据库进行高水位回收处理。
其中,根据第一高水位回收条件的不同,S12的实现方式有所不同,本实施例在此不做限制。例如,在一些实现方式中,如果预设时长内包括多个指定时刻,第一高水位回收条件可以是各指定时刻对应的空间使用率中超过第一预设阈值的空间使用率的数量达到第二预设阈值,那么,基于此,S12可通过下述步骤S121和步骤S122实现,内容如下。
S121,检测各指定时刻对应的空间使用率是否大于第一预设阈值;
S122,如果大于第一预设阈值的空间使用率的数量达到第二预设阈值时,判定数据库满足第一高水位回收条件。
其中,第一预设阈值、第二预设阈值的大小可根据需求进行设定,如第一预设阈值可以为70%、80%等,第二预设阈值可以为90%、95%等,本实施例对此不做限制。
又例如,如果预设时长内包括多个指定时刻,第一高水位回收条件还可以是各指定时刻对应的空间使用率的平均空间使用率是否超过第一预设阈值,那么,基于此,S12的实现过程可以包括:计算多个指定时刻分别对应的空间使用率的平均空间使用率,如果平均空间使用率大于第一预设阈值,则判定数据库满足第一高水位回收条件。
进一步,在一些实现方式中,S12中所述的对数据库进行高水位回收处理的过程可以是,但不限于:利用Oracle数据库中的MOVE ONLINE功能对指定表对象进行碎片整理,以实现数据库的高水位回收。其中,由于Oracle数据库12C中的MOVE ONLINE功能具有自动重建索引的能力,因此,在对表对象进行碎片整理时,能够避免索引失效带来的性能问题,提高数据库高水位回收结果的可靠性。
在前述S11和S12中给出的数据库高水位回收方法中,基于记录在数据表中的空间使用率实现是否进行高水位回收流程的判断,能够实现数据库高水位回收的高效化、自动化执行,极大地提升了数据库高水位表发现的及时性以及处理及时性,减小由此对应用系统SQL查询性能影响时长。同时,还有效避免了现有技术中通过人工干预造成的高水位回收不及时、回收结果不准确等问题的发生。
此外,本实施例还能够实现数据库高水位回收的在线(online)处理,有效减少了生产系统等的割接频次,确保系统24小时的可用性,极大地减少传统运维人员的人工干预,降本增效,提升数据库运维效能。
进一步,为了提高数据库高水位回收的准确率,本实施例给出的数据库高水位回收方法还可包括S15和S16。
S15,从数据表中读取预设时长内的数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量;
S16,在未使用空间的空间大小以及具有预设大小的未使用空间的数据库块的数量满足第二高水位回收条件时,再执行对数据库进行高水位回收处理的步骤。
其中,在S15和S16中,第二高水位回收条件可根据需求进行设定,例如,第二高水位回收条件为数据库的未使用空间大于第三预设阈值(预设大小),各数据库块中的未使用空间小于第四预设阈值的数量占总数据块数量的比例大于第五预设阈值,则判定满足第二高水位回收条件。前述的第三预设阈值、第四预设阈值、第五预设阈值的小可根据实际需求进行设定,本实施例对此不作限制。
示例性地,假设数据库中包括A、B、C、D共四个数据库块,经分析得知数据库中未使用空间大小为M,而每个数据库块中的未使用空间分别为M1、M2、M3、M4,其中,M大于第三预设阈值,M1、M4分别小于第四预设阈值,各数据库块中的未使用空间大于第四预设阈值的数量占总数据块数量的比例大于第五预设阈值,可判定满足第二高水位回收条件,进而可执行S12中的对数据库进行高水位回收处理的步骤。
需要说明的是,数据表可如前述表1所示,可基于UNUSED_BYTES字段、FS1_BYTES字段、FS1_BYTES字段等实现数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量的读取。另外,S15中的数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量也可以基于当前时刻对指定表对象的碎片分析得到本实施例对此不做限制。
基于前述描述可以看出,本实施例在前述S11至S12给出的数据库高水位回收方法的基础上,综合考虑了S15至S16中的第二高水位回收条件的判定,能够进一步提高数据库中高水位回收结果的可靠性。
实施例二
图3是根据一示例性实施例示出的一种数据库高水位回收装置100的框图,该数据库高水位回收装置100可应用于电子设备。参照图3,数据库高水位回收装置100包括数据读取模块110和高水位回收模块120。
数据读取模块110,用于从预设的数据表中读取预设时长内的数据库块的空间使用率,数据表中保存有数据库中的至少一个数据库块在指定时刻的空间使用率。其中,空间使用率LV通过下述公式计算得到:LV=FULL_BYTES/TOTAL_BYTES;其中,FULL_BYTES为数据库中的理论数据空间,TOTAL_BYTES为数据库中的实际总占用空间。
可选地,在一些实现方式中,数据读取模块110具体可用于在检测到当前时段为空闲时段时,执行从预设的数据表中读取预设时长内的数据库块的空间使用率的步骤。
高水位回收模块120,用于在基于预设时长内的数据库块的空间使用率分析得到数据库满足第一高水位回收条件时,对数据库进行高水位回收处理。
可选地,在一些实现方式中,高水位回收模块120可以包括:
数值检测子模块,用于在预设时长内包括多个指定时刻时,检测各指定时刻对应的空间使用率是否大于第一预设阈值;
结果判定子模块,用于在大于预设阈值的空间使用率的数量达到第二预设阈值时,判定数据库满足第一高水位回收条件。
在另一些实现方式中,高水位回收模块120可以利用但不限于Oracle数据库中的MOVE ONLINE功能对指定表对象进行碎片整理,以实现数据库的高水位回收。
进一步,作为一种可能的实现方式,本实施例给出的数据库高水位回收装置还可包括:
第一分析模块,用于对数据库中的各指定表对象进行碎片分析,得到与指定表对象对应的数据库块的空间使用率;
分析结果保存模块。用于将分析得到空间使用率的当前时刻作为指定时刻,以及将指定时刻与空间使用率关联保存在预设的数据表中。
进一步,作为另一种可能的实现方式,本实施例给出的数据库高水位回收装置还可包括:
第二分析模块,用于在对数据库中的各指定表对象进行碎片分析时,计算数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量;
条件判断模块,用于在未使用空间的空间大小以及具有预设大小的未使用空间的数据库块的数量满足第二高水位回收条件时,再调用高水位回收模块120执行对数据库进行高水位回收处理的步骤。
关于本实施例中的装置100,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。例如,关于数据读取模块110的详细描述可参照前述实施例一中对S11的描述、关于高水位回收模块120的详细描述可参照前述实施例一中对S12的描述等。
实施例三
请参阅图4,为根据一实施例性实施例提供的一种电子设备10的框图,该电子设备10可至少包括处理器11,用于存储处理器11可执行指令的存储器12。其中,处理器11被配置为执行指令,以实现如上述实施例中的数据库高水位回收方法的全部步骤或部分步骤。
处理器11、存储器12之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,处理器11用于读/写存储器中存储的数据或程序,并执行相应地功能。
存储器12用于存储程序或者数据,如存储处理器110可执行指令。该存储器12可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read OnlyMemory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
进一步,作为一种可能的实现方式,电子设备10还可包括电源组件、多媒体组件、音频组件、输入/输出(I/O)接口、传感器组件以及通信组件等。
电源组件为电子设备10的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源、以及其他与为电子设备10生成、管理和分配电力相关联的组件。
多媒体组件包括在电子设备10和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件包括一个前置摄像头和/或后置摄像头。当电子设备10处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当电子设备10处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
I/O接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件包括一个或多个传感器,用于为电子设备10提供各个方面的状态评估。例如,传感器组件可以检测到电子设备10的打开/关闭状态,组件的相对定位,例如组件为电子设备10的显示器和小键盘,传感器组件还可以检测电子设备10或电子设备10一个组件的位置改变,用户与电子设备10接触的存在或不存在电子设备10方位或加速/减速和电子设备10的温度变化。传感器组件可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件被配置为便于电子设备10和其他设备之间有线或无线方式的通信。电子设备10可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备10可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
应当理解的是,图4所示的结构仅为电子设备10的结构示意图,该电子设备10还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
实施例四
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器12,上述指令可由电子设备10的处理器11执行以完成上述数据库高水位回收方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (9)
1.一种数据库高水位回收方法,其特征在于,包括:
从预设的数据表中读取预设时长内的数据库块的空间使用率,所述数据表中保存有所述数据库中的至少一个数据库块在指定时刻的空间使用率;
如果基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件时,对所述数据库进行高水位回收处理;
其中,所述基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件的步骤,包括:
在所述预设时长内包括多个指定时刻时,检测各所述指定时刻对应的空间使用率是否大于第一预设阈值;
如果大于第一预设阈值的空间使用率的数量达到第二预设阈值,判定所述数据库满足第一高水位回收条件。
2.根据权利要求1所述的数据库高水位回收方法,其特征在于,所述空间使用率LV通过下述公式计算得到:
LV=FULL_BYTES/TOTAL_BYTES;其中,FULL_BYTES为所述数据库中的理论数据空间,TOTAL_BYTES为所述数据库中的实际总占用空间。
3.根据权利要求1所述的数据库高水位回收方法,其特征在于,所述对所述数据库进行高水位回收处理的步骤,包括:
利用Oracle数据库中的MOVE ONLINE功能对指定表对象进行碎片整理,以实现数据库的高水位回收。
4.根据权利要求1所述的数据库高水位回收方法,其特征在于,在所述从预设的数据表中读取预设时长内的数据库块的空间使用率的步骤之前,所述方法还包括:
对数据库中的各指定表对象进行碎片分析,得到与所述指定表对象对应的数据库块的空间使用率;
将分析得到所述空间使用率的当前时刻作为指定时刻,以及将所述指定时刻与所述空间使用率关联保存在预设的数据表中。
5.根据权利要求1所述的数据库高水位回收方法,其特征在于,所述方法还包括:
从所述数据表中读取预设时长内的所述数据库的未使用空间的空间大小,以及具有预设大小的未使用空间的数据库块的数量;
在所述未使用空间的空间大小以及所述具有预设大小的未使用空间的数据库块的数量满足第二高水位回收条件时,再执行所述对所述数据库进行高水位回收处理的步骤。
6.根据权利要求1所述的数据库高水位回收方法,其特征在于,所述方法还包括:
在检测到当前时段为空闲时段时,执行所述从预设的数据表中读取预设时长内的数据库块的空间使用率的步骤。
7.一种数据库高水位回收装置,其特征在于,包括:
数据读取模块,用于从预设的数据表中读取预设时长内的数据库块的空间使用率,所述数据表中保存有所述数据库中的至少一个数据库块在指定时刻的空间使用率;
高水位回收模块,用于在基于所述预设时长内的数据库块的空间使用率分析得到所述数据库满足第一高水位回收条件时,对所述数据库进行高水位回收处理;
其中,所述高水位回收模块包括数值检测子模块以及结果判定子模块;
所述数值检测子模块,用于在预设时长内包括多个指定时刻时,检测各指定时刻对应的空间使用率是否大于第一预设阈值;
所述结果判定子模块,用于在大于预设阈值的空间使用率的数量达到第二预设阈值时,判定数据库满足第一高水位回收条件。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
与所述处理器连接的至少一个存储器;
其中,所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,所述计算机指令使所述计算机执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247392.7A CN113468167B (zh) | 2020-03-31 | 2020-03-31 | 一种数据库高水位回收方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247392.7A CN113468167B (zh) | 2020-03-31 | 2020-03-31 | 一种数据库高水位回收方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468167A CN113468167A (zh) | 2021-10-01 |
CN113468167B true CN113468167B (zh) | 2023-04-11 |
Family
ID=77865873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010247392.7A Active CN113468167B (zh) | 2020-03-31 | 2020-03-31 | 一种数据库高水位回收方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468167B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005208002A (ja) * | 2004-01-26 | 2005-08-04 | Nomura Fooshiizu:Kk | 高潮の予測方法及び予測プログラム |
CN107729504A (zh) * | 2017-10-23 | 2018-02-23 | 武汉楚鼎信息技术有限公司 | 一种处理大数据对象的方法及系统 |
CN110287183A (zh) * | 2019-05-23 | 2019-09-27 | 中国平安人寿保险股份有限公司 | 数据库表水位的处理方法、装置、计算机设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004093384A1 (en) * | 2003-04-04 | 2004-10-28 | Computer Associates Think, Inc. | Method and system for discovery of remote agents |
US20070288526A1 (en) * | 2006-06-08 | 2007-12-13 | Emc Corporation | Method and apparatus for processing a database replica |
CN101493842A (zh) * | 2009-02-20 | 2009-07-29 | 中兴通讯股份有限公司 | Oracle数据库中大批量删除数据的方法 |
CN103488728A (zh) * | 2013-09-17 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种业务系统中进程数量的动态伸缩调整方法及装置 |
CN104714984A (zh) * | 2013-12-17 | 2015-06-17 | 中国移动通信集团湖南有限公司 | 一种数据库优化的方法和装置 |
-
2020
- 2020-03-31 CN CN202010247392.7A patent/CN113468167B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005208002A (ja) * | 2004-01-26 | 2005-08-04 | Nomura Fooshiizu:Kk | 高潮の予測方法及び予測プログラム |
CN107729504A (zh) * | 2017-10-23 | 2018-02-23 | 武汉楚鼎信息技术有限公司 | 一种处理大数据对象的方法及系统 |
CN110287183A (zh) * | 2019-05-23 | 2019-09-27 | 中国平安人寿保险股份有限公司 | 数据库表水位的处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113468167A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9014720B2 (en) | Methods and devices for prioritizing message threads | |
CN107368470A (zh) | 一种提取企业内部组织架构信息的方法和装置 | |
CN111046040A (zh) | 确定索引的方法、装置、电子设备及存储介质 | |
CN114925092A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US11797218B2 (en) | Method and device for detecting slow node and computer-readable storage medium | |
CN114356891A (zh) | 数据迁移方法、设备、存储介质及程序产品 | |
CN113468167B (zh) | 一种数据库高水位回收方法、装置及电子设备 | |
CN111726402B (zh) | 用户行为数据处理方法、装置、电子设备及存储介质 | |
WO2023207520A1 (zh) | 信息关联方法、装置、设备、存储介质及产品 | |
CN116955356A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN115422203A (zh) | 区块链分布式系统的数据管理方法、装置、设备及介质 | |
CN106339470B (zh) | 文件处理方法及装置 | |
CN110472026B (zh) | 文本信息处理方法及系统、可读存储介质及终端设备 | |
CN113344367A (zh) | 设备负荷调整方法、装置、设备、存储介质及产品 | |
CN111898100A (zh) | 代码泄露溯源的方法、装置及终端设备 | |
CN110866003B (zh) | 索引值数目的估算方法和装置以及电子设备 | |
CN113110814B (zh) | 一种屏幕显示数据处理的方法、装置及存储介质 | |
CN115237925A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN114710401B (zh) | 异常定位方法和装置 | |
CN115114029A (zh) | 异常文件定位方法、装置、电子设备及存储介质 | |
CN118132543A (zh) | 数据处理方法、装置、终端设备及介质 | |
CN115905200A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116562999A (zh) | 金融制品资产类别确定方法、设备及存储介质 | |
CN116737682A (zh) | 基于交易数据的日志处理方法、装置、设备及存储介质 | |
CN116414802A (zh) | 数据库状态的监控方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |