CN113220694A - 数据表的处理方法、装置、服务器及存储介质 - Google Patents
数据表的处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113220694A CN113220694A CN202110615960.9A CN202110615960A CN113220694A CN 113220694 A CN113220694 A CN 113220694A CN 202110615960 A CN202110615960 A CN 202110615960A CN 113220694 A CN113220694 A CN 113220694A
- Authority
- CN
- China
- Prior art keywords
- database
- data table
- parameters
- recovery
- data
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/23—Updating
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据表的处理方法、装置、服务器及存储介质,通过根据调度周期生成对数据表的回收处理请求,该回收处理请求包括数据库的参数和数据表的参数,调度周期是预先配置的或者是根据数据表回收日志确定的周期,之后根据从配置文件中获取的表空间回收SQL执行脚本,数据库的参数以及数据表的参数,进行数据表回收处理。该技术方案中,从调度周期出发,通过预设的配置文件,实现了对数据库中数据表空间的回收以及相关回收信息的记录,并避免了现有技术在回收数据表空间时,可能出现的数据库CPU、内存冲高,及回滚数据的存放空间不足等问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据表的处理方法、装置、服务器及存储介质。
背景技术
随着网络信息的不断发展,伴随着数据量的逐渐增多,为了不影响网络应用下各个系统的运行效率,就需要定期对存储数据的数据库进行数据删除操作,在删除数据后,实际的表空间并不释放,仍会占用数据库的内存,降低数据库相应的系统运行效率。
在现有技术中,在系统中存储有空间状态表,当该表记录的内存空间不足以增加新的数据表项时,便会对数据库中的数据表空间进行释放操作。
然而,在实际应用过程中,只有系统的内存空间不足以增加新的数据表项时,才会进行数据表空间的释放操作,当一次回收的数据表空间个数过多时,可能导致数据库中央处理器(Central Processing Unit,CPU)、内存冲高及回滚数据的存放空间不足等问题发生。
发明内容
本申请实施例提供一种数据表的处理方法、装置、服务器及存储介质,用以解决现有技术中表空间释放操作时存在数据库CPU、内存冲高等问题。
第一方面,本申请实施例提供一种数据表的处理方法,包括:
根据调度周期生成对数据表的回收处理请求,所述回收处理请求包括数据库的参数和数据表的参数,所述调度周期是预先配置的或者是根据数据表回收日志确定的周期;
根据从配置文件中获取的表空间回收结构化查询语言SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,所述表空间回收SQL执行脚本是根据表空间回收SQL脚本和所述数据表的参数确定的。
在第一方面一种可能的设计中,所述方法还包括:
在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在所述数据表回收日志中。
在第一方面另一种可能的设计中,所述方法还包括:
从预设的配置文件中获取所述表空间回收SQL执行脚本;其中,所述配置文件包括:所述空间使用率SQL脚本,多个数据库的参数,每个数据库中的数据表的参数,以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本。
在该种可能的设计中,所述根据从配置文件中获取的表空间回收SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,包括:
确定所述数据库的参数中是否包括所述数据库的别名;
若所述数据库的参数中包括所述数据库的别名,则对所述别名对应的数据库中所述数据表的参数对应的数据表进行回收处理;
若所述数据库的参数中不包括所述数据库的别名,则对默认数据库中所述数据表的参数对应的数据表进行回收处理;
其中,所述数据表的参数包括所述数据表的别名。
可选的,所述配置文件还包括每个数据库对应的权限信息,所述权限信息包括用户名和密文,则所述方法还包括:
根据目标数据库对应的权限信息,进入所述目标数据库;其中,所述目标数据库为所述数据库的别名对应的数据库或者所述默认数据库。
第二方面,本申请实施例提供一种数据表的处理装置,包括:生成模块和处理模块;
所述生成模块,用于根据调度周期生成对数据表的回收处理请求,所述回收处理请求包括数据库的参数和数据表的参数,所述调度周期是预先配置的或者是根据数据表回收日志确定的周期;
所述处理模块,用于根据从配置文件中获取的表空间回收结构化查询语言SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,所述表空间回收SQL执行脚本是根据表空间回收SQL脚本和所述数据表的参数确定的。
在第二方面一种可能的设计中,所述处理模块,还用于在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在所述数据表回收日志中。
在第二方面另一种可能的设计中,所述处理模块,还用于:
从预设的配置文件中获取所述表空间回收SQL执行脚本;其中,所述配置文件包括:所述空间使用率SQL脚本,多个数据库的参数,每个数据库中的数据表的参数,以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本。
在该种可能的设计中,所述处理模块,具体用于:
确定所述数据库的参数中是否包括所述数据库的别名;
若所述数据库的参数中包括所述数据库的别名,则对所述别名对应的数据库中所述数据表的参数对应的数据表进行回收处理;
若所述数据库的参数中不包括所述数据库的别名,则对默认数据库中所述数据表的参数对应的数据表进行回收处理;
其中,所述数据表的参数包括所述数据表的别名。
可选的,所述配置文件还包括每个数据库对应的权限信息,所述权限信息包括用户名和密文,所述处理模块,还用于根据目标数据库对应的权限信息,进入所述目标数据库;其中,所述目标数据库为所述数据库的别名对应的数据库或者所述默认数据库。
第三方面,本申请实施例提供一种服务器,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述计算机执行指令,使得所述服务器执行如上述第一方面及各种可能的设计中所述的数据表的处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的数据表的处理方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的数据表的处理方法。
本申请实施例提供的数据表的处理方法、装置、服务器及存储介质,通过根据调度周期生成对数据表的回收处理请求,该回收处理请求包括数据库的参数和数据表的参数,调度周期是预先配置的或者是根据数据表回收日志确定的周期,然后根据从配置文件中获取的表空间回收SQL执行脚本,数据库的参数以及数据表的参数,进行数据表回收处理。该技术方案中,从调度周期出发,避免了现有技术在回收数据表空间时,数据库CPU、内存冲高,及回滚数据的存放空间不足等问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的数据表的处理方法的应用场景示意图;
图2为本申请实施例提供的数据表的处理方法实施例一的流程示意图;
图3为本申请实施例提供的数据表的处理方法实施例二的流程示意图;
图4为本申请实施例提供的数据表的处理装置的结构示意图;
图5为本申请实施例提供的服务器的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本申请的实施例之前,首先对本申请涉及的专业名词进行解释说明:
数据表空间:数据库的逻辑划分,一个表空间只能属于一个数据库,所有的数据库对象都存放在指定的表空间中;
作业:一个批量任务通常称为一个作业;
高水位线(High Water Mark,HWM):数据库段管理中的一个重要概念,即在段空间中已经使用和没有使用的分解线;
undo空间:在oracle数据库中,用于存放回滚数据的空间;
Shell脚本:可以在linux操作系统中运行的一些命令的集合;
Awk:linux及unix环境中现有的数据处理引擎,或者说是一种专门处理字符串的语言;
结构化查询语言(Structured Query Language,SQL):一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
Sqlplus:oracle数据库提供的一种用户接口,类似于操作系统的命令行,用户可以通过在sqlplus中输入命令来向数据库发送命令,数据库也将处理结果通过sqlplus呈现给用户,即在sqlplus下执行sql脚本等。
进一步地,对本申请涉及的技术背景进行详细说明:
随着业务的发展,数据量的不断增加,需要定期对数据库进行清理,对oracle数据库进行常规的删除操作后,但实际上数据表空间并不释放,随着数据表结构增多,手动维护工作量过大,迫切需要灵活的对数据库的数据表空间进行回收。
在现有技术中,在CPU的内存中设置有三态内容寻址存储器(ternary contentaddressable memory,TCAM)的空间状态表,该空间状态表记录了TCAM的剩余空间不足以添加新的数据表项时,触发TCAM空间回收,即只有真正需要TCAM数据表空间时,才进行数据表空间的回收操作,不能通过灵活的配置进行指定数据库的指定数据表空间回收。
此外,当需要回收的数据表个数过多,数据表空间过大时,同时进行多张数据表空间的收回会导致数据库CPU、内存冲高(内存占用过高)及undo空间(存放回滚数据的空间)不足等问题。
在上述现有技术存在的问题基础上,图1为本申请实施例提供的数据表的处理方法的应用场景示意图,用以解决上述技术问题。如图1所示,该应用场景示意图包括:服务器10和数据库集合11,其中,数据库集合11包括多个数据库(例如,数据库1、数据库2和数据库3)。
其中,上述数据库可以是oracle数据库。
可选的,数据库集合11中的各个数据库可以作为服务器10的内部存储器;也可以是外部存储器(图1所示的位置关系仅作举例,例如,数据库集合11位于服务器10外部);也可以是一部分数据库是服务器10的内部存储器,另一部分数据库是服务器10的外部存储器。
在一种可能的实现中,服务器10根据任一次调度下发的数据表的空间回收处理指令,该指令用于指示对数据库集合11中的数据库1进行相应的数据表的空间回收处理,该调度的设置与清理频次相关,由下述实施例详述,随后,服务器10与数据库1建立访问关系,服务器10对数据库1中的数据表进行空间回收操作,以实现对数据表空间的回收。
应理解:数据库1仅作举例,在任一次空间回收处理指令中,还可以包括对多个数据库进行数据表的空间回收处理。
本申请针对上述技术问题,发明人的技术构思过程如下:发明人发现,可以根据数据库中生成的数据表的占用率及生成时间周期,设置数据表的清理频次,就可以避免现有技术同时对多个数据表进行清理时,可能造成的数据库CPU、内存冲高(内存占用过高)及undo空间不足等问题。
下面以图1所示的应用场景示意图,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的数据表的处理方法实施例一的流程示意图。如图2所示,数据表的处理方法可以包括如下步骤:
步骤21、根据调度周期生成对数据表的回收处理请求。
其中,回收处理请求包括数据库的参数和数据表的参数,调度周期是预先配置的或者是根据数据表回收日志确定的周期。
在本方案中,执行主体可以是基于linux操作系统的服务器。
在本步骤中,在与数据库相关的系统联机或批量作业的过程中,数据库为了保证空间能够存储新的数据,会按条件执行删除delete操作,将不用的数据删除,而与这些旧数据相关的数据表空间不会被释放,为了回收这些数空间,就需要下发回收处理请求,用于回收数据表空间。
其中,调度周期生成可以是用户预先设置的对数据表进行处理的时间周期,即处理频次,可以是5天/次、30天/次等;也可以是根据数据表回收日志(记录有每个时间段的数据表空间占有率,此处举例,由下述步骤详述)确定的时间周期。
进一步地,在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在数据表回收日志(例如,log日志)中。
具体的,数据表回收日志中记录的数据,可用于设置调度周期,也可用于技术人员实时掌握数据库中数据表的占用率等。
在一种可能的实现中,根据数据表回收日志中记录的最近1次的数据表回收信息,例如,30天为一个周期进行数据表清理,其清理前后,数据表空间占有率分别为35%和5%,则可以判断出30天内,数据表空间占有率上升30%,为了避免数据表空间占有率过高,或/和30内上升过快,可以将调度周期更改为20天。
步骤22、根据从配置文件中获取的表空间回收SQL执行脚本,数据库的参数以及数据表的参数,进行数据表回收处理。
在本步骤中,配置文件可以是.profile配置文件,在该配置文件中,配置有表空间回收SQL执行脚本和空间使用率SQL脚本。
其中,表空间回收SQL执行脚本是根据表空间回收SQL脚本和数据表的参数确定的,也即表空间回收SQL脚本是固定的且只有一个,根据数据表的参数(数据表的别名)的不同,而映射成不同的表空间回收SQL执行脚本,在实际应用时,根据表空间回收SQL执行脚本,对相应的数据表进行表空间回收处理。
可选的,空间使用率SQL脚本的别名可以统一用英文大写字母命名如“RATE_SPACEUSE.sql”;表空间回收SQL脚本可接收数据库、数据表名作为参数传入,形成表空间回收SQL执行脚本,可以用英文大写字母命名如“SHRINK_TABLE.sql”,固定在某一路径下(在进行回收时,执行相应程序时,上述的两个脚本可被找到),作为示例,内容如下:
ALTER TABLE${TABLE_NAME}ENABLE ROW MOVEMENT;
ALTER TABLE${TABLE_NAME}SHRINK SPACE CASCADE;
ALTER TABLE${TABLE_NAME}DISABLE ROW MOVEMENT。
在一种可能的实现中,在配置文件中,配置有调度参数,包括:日期、应用身份标识号(Identity Document,ID)、作业链ID和作业ID,在程序实现中,日期、应用ID、作业链ID和作业ID之间可以使用空格分隔,而这四个参数可作为固定输入项,字段长度固定,此外,还包括第5个参数:数据库相关参数,具体包括:上述设置的空间使用率SQL脚本、多个数据库的参数、每个数据库中的数据表的参数以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本,以特殊字符,例如“,”进行分隔。
可选的,从预设的配置文件中获取表空间回收SQL执行脚本、数据库的参数以及数据表的参数,进行数据表回收处理。
其中,获取表空间回收SQL执行脚本、数据库的参数以及数据表的参数的方式可以是:使用awk命令对配置文件中数据库相关参数解析之后得到。
该进行回收处理过程可以包括如下步骤:
第1步、确定数据库的参数中是否包括数据库的别名。
在对配置文件进行预设时,技术人员可以将数据库的参数作为可选项,也即,数据库的参数中可以包括数据库的别名,在该次回收处理请求下发后,指定需要进行数据表回收对应的数据库;也可以不包括数据库的别名,对需要进行清理数据表对应的数据库进行默认指定。
例如,在该服务器进行清理的数据库仅有1个时,可以采用数据库默认的方式,即数据库的参数中可以不包括数据库的别名。
第2步、若数据库的参数中包括数据库的别名,则对别名对应的数据库中数据表的参数对应的数据表进行回收处理。
在一种可能的实现中,在数据库的参数中包括数据库的别名时,使用sqlpuls连接数据库的别名对应的数据库,调用空间使用率SQL脚本“RATE_SPACEUSE.sql”计算数据表回收前的空间使用率,并将返回结果存入数据表回收日志对应的文件中,再调用表空间回收SQL脚本“SHRINK_TABLE.sql”,并传入数据表的参数(数据表的别名)执行数据库表空间回收操作,最后再通过“RATE_SPACEUSE.sql”计算回收后的数据库对应的空间使用率,并将返回结果存入数据表回收日志对应的文件中。
其中,设定数据表回收日志对应的文件的路径及命名方式时,一般可以采用“SHRINK_TABLE_${TABLE_NAME}_${DATE}.log”的方式存储,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在所述数据表回收日志中。
第3步、若数据库的参数中不包括数据库的别名,则对默认数据库中数据表的参数对应的数据表进行回收处理。
该步骤与上述步骤“第2步”的区别在于使用sqlpuls连接的是默认数据库,其数据表的回收处理过程和记录过程类似,此处不再赘述。
进一步地,该过程在对数据表空间进行回收处理时,降低HWM,并回收相应的索引。
值得注意的是:配置文件还包括:每个数据库对应的权限信息,权限信息包括用户名和密文。
具体的,在该配置文件中,配置有数据库表空间资源回收的数据库的地址、用户名、密码(可配置多个),密码以密文形式存储,用于在对数据库中的数据表控件进行回收前,获得数据库的访问权限,以便于后续对数据库中数据表的清理操作。
具体的,针对每个数据库对应的权限信息,可利用shell脚本及awk、sed命令编写对应的数据库密码加解密程序,例如“DSecuEncrypt.sh”。
在配置文件还包括每个数据库对应的权限信息的基础上,根据目标数据库对应的权限信息,进入目标数据库;其中,目标数据库为数据库的别名对应的数据库或者默认数据库。
从配置文件中解析出目标数据库对应的权限信息和数据库的别名,并根据该权限信息,在目标数据库中执行对应的数据表空间回收任务。
本申请提供的数据表的处理方法,通过根据调度周期生成对数据表的回收处理请求,回收处理请求包括数据库的参数和数据表的参数,调度周期是预先配置的或者是根据数据表回收日志确定的周期,然后根据从配置文件中获取的表空间回收SQL执行脚本,数据库的参数以及数据表的参数,进行数据表回收处理。该技术方案中,从调度周期出发,通过预设的配置文件,实现了对数据库中数据表的回收以及相关回收信息的记录,并避免了现有技术在回收数据表空间时,可能出现的数据库CPU、内存冲高,及回滚数据的存放空间不足等问题。
在上述实施例的基础上,图3为本申请实施例提供的数据表的处理方法实施例二的流程示意图。如图3所示,数据表的处理方法可以包括如下步骤:
第1步、开始;
第2步、从配置文件中获取调度参数和数据库相关参数;
其中,调度参数包括:日期、应用ID、作业链ID和作业ID。
第3步、判断调度参数和数据库相关参数是否完整,若是,则执行第4步;若否,则执行第17步;
其中,此步骤具体的操作是:判断日期、应用ID、作业链ID、作业ID和数据库相关参数的个数是否等于5个。
第4步、使用awk解析数据库相关参数;
其中,数据库相关参数包括:空间使用率SQL脚本、表空间回收SQL执行脚本、数据库的参数和数据表的参数。
应理解:由于数据库的参数作为可选项,数据库相关参数可以不包括有数据库的参数。
第5步、判断数据库的参数是否存在,若是,则执行第6步,并执行第8步;若否,则执行第7步;
第6步、根据数据库的参数,匹配相应的数据库,并执行第8步;
第7步、匹配默认的数据库;
第8步、对数据库的密文进行解密;
第9步、连接数据库;
其中,连接数据库的方式可以通过sqlpuls实现。
第10步、设置数据表回收日志名和路径;
第11步、记录数据表回收处理开始时间和数据表回收前的使用率;
第12步、利用表空间回收SQL执行脚本对数据表进行空间回收;
第13步、判断回收是否成功,若是,则执行第14步;若否,则执行第17步;
第14步、记录数据表回收处理结束时间和数据表回收后的使用率;
第15步、返回数据表回收日志;
第16步、正常结束;
第17步、异常退出。
本申请实施例提供的数据表的处理方法,通过从配置文件中获取调度参数和数据库相关参数,再确定调度参数和数据库相关参数完整时,使用awk解析数据库相关参数,得到空间使用率SQL脚本、表空间回收SQL执行脚本、数据库的参数(可选)和数据表的参数,根据数据库的参数,确定需要清理的数据库,并对该数据库的密文进行解密,进一步地,利用sqlpuls连接数据库,设置数据表回收日志名和路径,并记录数据表回收处理开始时间和数据表回收前的使用率,之后利用表空间回收SQL执行脚本对数据表进行空间回收,在回收完成后,记录数据表回收处理结束时间和数据表回收后的使用率,最后返回数据表回收日志。该技术方案中,从预先设置的配置文件出发,实现了对数据表空间的回收,并不断更新数据表回收日志,为上述调度周期的设置提供了参考依据,避免了可能存在的一次回收的数据表空间个数过多的问题。
在上述数据表的处理方法实施例的基础上,图4为本申请实施例提供的数据表的处理装置的结构示意图。如图4所示,该数据表的处理装置包括:生成模块41和处理模块42;
生成模块41,用于根据调度周期生成对数据表的回收处理请求,回收处理请求包括数据库的参数和数据表的参数,调度周期是预先配置的或者是根据数据表回收日志确定的周期;
处理模块42,用于根据从配置文件中获取的表空间回收结构化查询语言SQL执行脚本,数据库的参数以及数据表的参数,进行数据表回收处理,表空间回收SQL执行脚本是根据表空间回收SQL脚本和数据表的参数确定的。
在本申请实施例一种可能的设计中,处理模块42,还用于在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在数据表回收日志中。
在本申请实施例另一种可能的设计中,处理模块42,还用于:
从预设的配置文件中获取表空间回收SQL执行脚本;其中,配置文件包括:空间使用率SQL脚本,多个数据库的参数,每个数据库中的数据表的参数,以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本。
在该种可能的设计中,处理模块42,具体用于:
确定数据库的参数中是否包括数据库的别名;
若数据库的参数中包括数据库的别名,则对别名对应的数据库中数据表的参数对应的数据表进行回收处理;
若数据库的参数中不包括数据库的别名,则对默认数据库中数据表的参数对应的数据表进行回收处理;
其中,数据表的参数包括数据表的别名。
可选的,配置文件还包括每个数据库对应的权限信息,权限信息包括用户名和密文,则处理模块42,还用于根据目标数据库对应的权限信息,进入目标数据库;其中,目标数据库为数据库的别名对应的数据库或者默认数据库。
本申请实施例提供的数据表的处理装置,可用于执行上述实施例中数据表的处理方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图5为本申请实施例提供的服务器的结构示意图。如图5所示,该服务器可以包括:处理器50、存储器51及存储在该存储器51上并可在处理器50上运行的计算机程序指令。
处理器50执行存储器51存储的计算机执行指令,使得处理器50执行上述实施例中的方案。处理器50可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器51通过系统总线与处理器50连接并完成相互间的通信,存储器51用于存储计算机程序指令。
在一种可能的实现中,该服务器还可以包括:显示器,该显示器用于显示数据表回收日志、以及上述数据抽取方法实施例中涉及的可显示的相关内容。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的服务器,可用于执行上述实施例中数据表的处理方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中数据表的处理方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在服务器上运行时,使得服务器执行上述实施例中数据表的处理方法的技术方案。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于执行上述实施例中数据表的处理方法的技术方案。
上述的计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用服务器能够存取的任何可用介质。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种数据表的处理方法,其特征在于,包括:
根据调度周期生成对数据表的回收处理请求,所述回收处理请求包括数据库的参数和数据表的参数,所述调度周期是预先配置的或者是根据数据表回收日志确定的周期;
根据从配置文件中获取的表空间回收结构化查询语言SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,所述表空间回收SQL执行脚本是根据表空间回收SQL脚本和所述数据表的参数确定的。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在所述数据表回收日志中。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
从预设的配置文件中获取所述表空间回收SQL执行脚本;其中,所述配置文件包括:所述空间使用率SQL脚本,多个数据库的参数,每个数据库中的数据表的参数,以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本。
4.根据权利要求3所述的方法,其特征在于,所述根据从配置文件中获取的表空间回收SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,包括:
确定所述数据库的参数中是否包括所述数据库的别名;
若所述数据库的参数中包括所述数据库的别名,则对所述别名对应的数据库中所述数据表的参数对应的数据表进行回收处理;
若所述数据库的参数中不包括所述数据库的别名,则对默认数据库中所述数据表的参数对应的数据表进行回收处理;
其中,所述数据表的参数包括所述数据表的别名。
5.根据权利要求4所述的方法,其特征在于,所述配置文件还包括每个数据库对应的权限信息,所述权限信息包括用户名和密文,则所述方法还包括:
根据目标数据库对应的权限信息,进入所述目标数据库;其中,所述目标数据库为所述数据库的别名对应的数据库或者所述默认数据库。
6.一种数据表的处理装置,其特征在于,包括:生成模块和处理模块;
所述生成模块,用于根据调度周期生成对数据表的回收处理请求,所述回收处理请求包括数据库的参数和数据表的参数,所述调度周期是预先配置的或者是根据数据表回收日志确定的周期;
所述处理模块,用于根据从配置文件中获取的表空间回收SQL执行脚本,所述数据库的参数以及所述数据表的参数,进行数据表回收处理,所述表空间回收SQL执行脚本是根据表空间回收SQL脚本和所述数据表的参数确定的。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于在进行数据表回收处理时,将数据表回收处理开始时间,数据表回收处理结束时间,数据表回收前的使用率以及数据表回收后的使用率,记录在所述数据表回收日志中。
8.根据权利要求6或7所述的装置,其特征在于,所述处理模块,还用于:
从预设的配置文件中获取所述表空间回收SQL执行脚本;其中,所述配置文件包括:所述空间使用率SQL脚本,多个数据库的参数,每个数据库中的数据表的参数,以及每个数据库中的数据表的参数对应的表空间回收SQL执行脚本。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,具体用于:
确定所述数据库的参数中是否包括所述数据库的别名;
若所述数据库的参数中包括所述数据库的别名,则对所述别名对应的数据库中所述数据表的参数对应的数据表进行回收处理;
若所述数据库的参数中不包括所述数据库的别名,则对默认数据库中所述数据表的参数对应的数据表进行回收处理;
其中,所述数据表的参数包括所述数据表的别名。
10.根据权利要求9所述的装置,其特征在于,所述配置文件还包括每个数据库对应的权限信息,所述权限信息包括用户名和密文,所述处理模块,还用于根据目标数据库对应的权限信息,进入所述目标数据库;其中,所述目标数据库为所述数据库的别名对应的数据库或者所述默认数据库。
11.一种服务器,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,其特征在于,所述处理器执行所述计算机程序指令时实现如上述权利要求1至5任一项所述的数据表的处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述权利要求1至5任一项所述的数据表的处理方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如上述权利要求1至5任一项所述的数据表的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110615960.9A CN113220694A (zh) | 2021-06-02 | 2021-06-02 | 数据表的处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110615960.9A CN113220694A (zh) | 2021-06-02 | 2021-06-02 | 数据表的处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220694A true CN113220694A (zh) | 2021-08-06 |
Family
ID=77082453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110615960.9A Pending CN113220694A (zh) | 2021-06-02 | 2021-06-02 | 数据表的处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220694A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140594A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种数据库空间自动扩展的方法及管理模块 |
CN112256670A (zh) * | 2020-10-10 | 2021-01-22 | 中国农业银行股份有限公司河北省分行 | 数据迁移方法、终端设备及可读存储介质 |
US20210124757A1 (en) * | 2017-06-25 | 2021-04-29 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
-
2021
- 2021-06-02 CN CN202110615960.9A patent/CN113220694A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140594A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种数据库空间自动扩展的方法及管理模块 |
US20210124757A1 (en) * | 2017-06-25 | 2021-04-29 | Ping An Technology (Shenzhen) Co., Ltd. | Multi-task scheduling method and system, application server and computer-readable storage medium |
CN112256670A (zh) * | 2020-10-10 | 2021-01-22 | 中国农业银行股份有限公司河北省分行 | 数据迁移方法、终端设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
POWERCODER: "SQL Server中,用来收缩每个数据库文件的SQL脚本", pages 1 - 2, Retrieved from the Internet <URL:https://www.cnblogs.com/OpenCoder/ p/12807510.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025528B2 (en) | Managing transformations of snapshots in a storage system | |
US6073129A (en) | Method and apparatus for improving the performance of a database management system through a central cache mechanism | |
US6826604B2 (en) | Input/output device information management system for multi-computer system | |
US9529881B2 (en) | Difference determination in a database environment | |
US6105033A (en) | Method and apparatus for detecting and removing obsolete cache entries for enhancing cache system operation | |
EP4029191B1 (en) | Supporting blockchain collections in a database | |
US20160224797A1 (en) | Creating Secure Virtual Databases Storing Masked Data | |
US11500836B2 (en) | Systems and methods of creation and deletion of tenants within a database | |
CN112969996A (zh) | 跟踪数据库数据的中间变化 | |
US8667010B2 (en) | Database table partitioning allowing overlaps used in full text query | |
CN108875077B (zh) | 数据库的列存储方法、装置、服务器及存储介质 | |
CN110084486B (zh) | 一种资源管理方法及装置 | |
US5481703A (en) | Database restructuring system for detecting functionally dependent relations and converting them into third normal form | |
JP6982049B2 (ja) | インデックスを管理するための方法、装置、設備及び記憶媒体 | |
CN108573019B (zh) | 一种数据迁移方法、装置、电子设备及可读存储介质 | |
US20200097581A1 (en) | Systems and methods of managing manifest refresh in a database | |
US7752399B2 (en) | Exclusion control method and information processing apparatus | |
CN113220694A (zh) | 数据表的处理方法、装置、服务器及存储介质 | |
US11132330B2 (en) | Self-archiving database | |
US11941032B2 (en) | Key name generation method and apparatus and non-transitory computer-readable storage medium | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
CN113032495B (zh) | 基于数据仓库的多层数据存储系统、处理方法、及服务器 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
US11455358B2 (en) | Data spaces for multi-tenant computing | |
CN111222833A (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 |