苏敬 阮清 王龙
[摘 要] 针对当前设备数据采集数据库,数据吞吐量巨大,磁盘空间不足等问题, 文章从Oracle的体系结构开始,由原理到实践,论述了Oracle数据库备份的方式和实现,并对Oracle 删除数据后释放数据文件所占磁盘空间做了详细的分析。
[关键词] 数据库;数据备份;磁盘空间释放
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 17. 069
[中图分类号] TP311 [文献标识码] A [文章编号] 1673 - 0194(2018)17- 0175- 03
0 引 言
设备数据采集数据库是一种大型数据库,它是信息系统运行的基石,需要24小时不间断运行。设备数据采集每天对数据库进行大量的插入、更新等操作,这样,数据的物理存储介质(磁盘空间)就会被不断地占用,从而磁盘空间面临不足的问题。因此,需要及时对数据库进行备份,并删除数据,释放数据文件所占用的磁盘空间。本文将从这个方面展开研究,并给出实现的方案。
1 目的和意义
目前设备数据采集数据库存在以下问题:
(1)数据未备份。数据在意外操作失误等情况丢失后,无法恢复到事故前的状态,数据的安全性、完整性、一致性将得不到保障。会给企业带来无法预估的风险和损失。
(2)磁盘空间不足。数据库无法正常运行,导致后台数据丢失、信息系统瘫痪、工作停滞等不堪设想的后果。
(3)响应速度慢。数据库服务器主要是为用户提供查询、更新、索引等服务,硬盘的读取速度直接影响着用户得到数据的快慢,意味着服务器响应速度直接影响用户体验。
本文论述了如何对数据库进行备份,并释放数据库磁盘空间,用以提高设备数据采集数据库的稳定性和可靠性,保障信息系统高效地运行,解决系统瓶颈,节约信息系统开销,具有良好的应用价值。
2 数据库备份方案
2.1 备份方案介绍
在不影响生产的前提下,需保证数据的安全、稳定、持续性,采用Exp/Imp备份作为此次的备份方案。
2.2 备份方案实现
2.2.1 概念
Exp/Imp用于備份恢复和数据迁移,可以实施全库级、用户级、表级的数据备份和恢复。
对于数据量在G级或者G级以内的,强调高可用性,可以容忍少量数据丢失的数据库系统,Exp/Imp是可以尝试的逻辑备份方式。
处于客户端程序,但都可以在客户端和服务器使用。
export:从数据库中导出数据到dump文件中
import:从dump文件中导入数据到数据库中
dump文件:二进制格式的转储文件,不可手工编辑,可以跨OS/跨版本使用
2.2.2 使用场景
数据库之间传送数据如图1所示。
2.2.3 实现步骤
(1)在备份服务器上,建立访问设备数据采集数据库的远程PUBLIC DBLINK;
(2)给备份服务器的数据库用户建立目录,赋读写目录的权限;
(3)在设备数据采集数据库上预估导出单表需要的存储空间大小;
(4)在备份服务器上导出设备数据采集数据库的表备份;
(5)在备份服务器上导入从设备数据采集数据库的备份数据文件。
4 磁盘空间释放方案
4.1 删除数据(用临时表方式转移数据来释放磁盘大小)
(1)查询要保留表的数据量;
(2)建立临时表,创建时长跟数据量有关,创建表时要注意表空间大小是否需要扩充文件;
(3)查询临时表数据量是否等于要保留表的数据量;
(4)当其数据量相等时即可删除原表(truncate table);
(5)将临时表命名为原表名。
3.2 释放数据文件所占磁盘空间
随着数据的 insert,所使用段(Segment)的数据块(data block)也不断增加,这时候高水位(HWM)也随着上升。当数据被删除后(无论是 delete 还是 truncate table)虽然被占用的数据块(data block)已经相应减少,但是高水位(HWM)并不会随之下降。当高水位(HWM)下存在大量的空白数据块(data block)时,如果发生全表扫描(Full Table Scan, FTS)就会造成很多额外的 IO。因为全表扫描(FTS)的时候读取段(Segment)中的数据块(data block)会一直读取到高水位(HWM)才结束。高水位(HWM)就是段(Segment)中数据块(data block)有没有使用的分界线,所以全表扫描(FTS)所花费的时间不会因为数据的删除而减少。所以虽然删除数据了,但是数据文件却没有缩小。解决办法如下:
(1)查询数据文件已用大小;
(2)收缩表空间至正常尺寸(比已用大小大即可);
(3)建立大文件的数据表空间MESTAR_INDEX_BIG;
(4)查询原索引表空间MESTAR_INDEX的数据文件中最大的block_id对应的index;
(5)分析index并查询分析结果;
(6)重建索引到表空间MESTAR_INDEX_BIG;
(7)缩小表空间MESTAR_INDEX的数据文件大小,根据block_id算出来应设置大小;
(8)当MESTAR_INDEX内所有内容均转移到MESTAR_INDEX_BIG后删除表空间及其内容MESTAR_INDE。
释放磁盘空间共计520 G,如图2所示。
4 结 语
本文针对设备数据采集数据库的备份、数据磁盘空间释放开展了研究,采用Exp/Imp备份(逻辑备份)对数据库进行备份,并释放了数据文件所占磁盘空间,解决了设备数据采集数据库磁盘空间不足的问题, 提高了对信息系统的响应速度。
主要参考文献
[1]傅高峰,王龙,屈仁斌.SAP与MES系统集成研究与实现[J].中国管理信息化,2016,19(3):82-84.
[2]周正文,屈仁斌. 企业信息系统应用集成技术分析和实践[J].中国管理信息化,2016,19(3):75-77.
[3]高天.现代企业ERP系统建设及实施效益分析[J].中国管理信息化,2016,19(3):99-100.