[发明专利]基于ORACLE数据库自动回收高水位的方法有效
| 申请号: | 202010209104.9 | 申请日: | 2020-03-23 |
| 公开(公告)号: | CN111400321B | 公开(公告)日: | 2023-05-26 |
| 发明(设计)人: | 程永新;孙玉颖 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/21;G06F16/245;G06F16/28 |
| 代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军 |
| 地址: | 201707 上海市青浦区外青*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 oracle 数据库 自动 回收 水位 方法 | ||
1.一种基于ORACLE数据库自动回收高水位的方法,其特征在于,包括如下步骤:
S1:将高水位回收脚本部署到数据库所在的主机上;
S2:通过高水位回收脚本从数据库所在的主机获取信息,确认主机处于允许进行高水位回收的状态;
S3:通过高水位回收脚本登录数据库,对数据库中的表进行高水位的回收;
S4:对进行高水位回收的表进行重建表索引,完成数据库的高水位回收;
所述步骤S2具体包括:
S21:高水位回收脚本从主机提取当前CPU使用率信息和当前时间信息,通过CPU使用率信息得到当前CPU空闲率;
S22:将当前CPU空闲率与设定的空闲率进行比较,确认当前CPU空闲率大于设定的空闲率;
S23:将当前时间与设定的低业务时间域进行比较,确认当前时间处于低业务时间域内;
S24:同时满足步骤S22和S23则允许进行高水位回收操作,否则,中断操作并输出日志。
2.如权利要求1所述的基于ORACLE数据库自动回收高水位的方法,其特征在于,所述步骤S3具体包括:
S31:通过sqlplus命令登录数据库;
S32:采用select命令,通过视图user_tables命令进行表查询,获取表信息,并将表信息导出;
S33:对导出的表信息进行比较,确认需要进行高水位回收的表;
S34:对需要进行高水位回收的表通过重建表、移动表和收表命令进行表重建,释放表空间,回收高水位。
3.如权利要求2所述的基于ORACLE数据库自动回收高水位的方法,其特征在于,所述步骤S32中将获取的表信息进行过滤后导出到已经保存的文本中;过滤后导出的的表信息包括表名、所属的schema、表行数、表块数、表初始化大小和表当前占用大小。
4.如权利要求3所述的基于ORACLE数据库自动回收高水位的方法,其特征在于,所述步骤S33具体包括:对导出的表行数、表块数、表初始化大小和表当前占用大小进行比较确认该表是否需要进行高水位回收;若表信息的比较结果存在以下情形中的一种,则说明该表需要进行高水位回收,具体包括:表行数为零且表当前占用大小大于表初始化大小;表行数与表块数的比值小于设定的比值,设定的比值为5。
5.如权利要求2所述的基于ORACLE数据库自动回收高水位的方法,其特征在于,所述步骤S34还包括在回收高水位后进行表查询获取高水位回收后的表行数,高水位回收后的表行数小于原表行数,确认该表的高水位回收成功。
6.如权利要求1所述的基于ORACLE数据库自动回收高水位的方法,其特征在于,所述步骤S4具体包括:通过index rebuild命令对高水位回收后的表重建表索引,完成所有表的高水位回收后输出日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010209104.9/1.html,转载请声明来源钻瓜专利网。





