一种坏块修复方法及装置制造方法及图纸

技术编号:19215586 阅读:39 留言:0更新日期:2018-10-20 06:40
本发明专利技术实施例公开了一种坏块修复方法及装置,包括:创建数据库的全备份脚本;根据获得的全备份脚本创建数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复数据库中的坏块。从本发明专利技术实施例可见,由于根据获得的坏块修复脚本进行了数据库中坏块的修复,因此实现了在数据库实例出现异常前对数据库中的坏块进行修复,从而在一定程度上保证了数据库的正常访问,提高了用户体验。

【技术实现步骤摘要】
一种坏块修复方法及装置
本专利技术涉及数据库
,尤其涉及一种坏块修复方法及装置。
技术介绍
坏块是指在数据库的一个或多个数据块内出现内容混乱的现象,由于正常的数据块都有固定的合法内容格式,坏块的出现,导致数据库进程无法正常解析数据块的内容,进而使数据库进程报错乃至挂起,并级联导致整个数据库实例出现异常。相关技术中,当数据库实例出现异常时,数据库维护人员才对数据库进行坏块排查进而修复,这样时效性差,往往会造成数据库正常访问无法进行,从而降低用户体验。
技术实现思路
为了解决上述技术问题,本专利技术提供一种坏块修复方法,能够在一定程度上保证能够对数据库进行正常访问,提高用户体验。为了达到本专利技术目的,本专利技术提供了一种坏块修复方法,包括:创建数据库的全备份脚本;根据获得的全备份脚本创建所述数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复所述数据库中的坏块。所述根据获得的坏块修复脚本修复数据库中的坏块,包括:定期执行所述坏块修复脚本替换所述数据库中增添的数据块,以修复所述数据库中的坏块。所述根据获得的坏块修复脚本修复数据库中的坏块,包括:定期执行所述坏块修复脚本替换所述数据库中增添的数据块,以修复所述数据库中的坏块。如果不能够确定所述坏块发生的位置,还包括:判断所述数据库是否存在备份;如果所述数据库存在备份,将所述数据库中所有数据块导出,并将所述备份中所有数据块导入所述数据库,以修复所述坏块。所述根据坏块发生的位置修复坏块,包括:如果所述坏块发生的位置是索引,获取发生所述坏块的索引;获取与获得的索引对应的数据表;删除获得的索引,并根据获得的数据表重新建立索引,以修复所述坏块。如果所述坏块发生的位置是数据表,还包括:获取发生所述坏块的数据表;根据预先建立的数据表与数据表的关联关系判断是否存在与发生所述坏块的数据表相关联的数据表;如果存在与所述与发生坏块的数据表相关联的数据表,获取所述与发生坏块的数据表相关联的数据表作为第一数据表;删除所述发生坏块的数据表,并根据所述第一数据表重新生成能够替代所述发生坏块的数据表的数据表,以修复所述坏块。如果不存在所述与发生坏块的数据表相关联的数据表,还包括:将所述发生坏块的数据表中除所述坏块以外其他所有数据块保存在预先建立的第二数据表中;删除所述存在坏块的数据表,并将所述第二数据表的名称修改为所述存在坏块的数据表的名称,以修复所述坏块。本专利技术还提供了一种坏块修复装置,包括:创建模块,用于创建数据库的全备份脚本;所述创建模块,还用于根据获得的全备份脚本创建所述数据库的增量备份脚本;所述创建模块,还用于根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;修复模块,用于根据获得的坏块修复脚本修复所述数据库中的坏块。本专利技术还提供了一种坏块修复装置,包括:处理器和存储器,其中,存储器中存储有以下可被处理器执行的指令:创建数据库的全备份脚本;根据获得的全备份脚本创建所述数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复所述数据库中的坏块。本专利技术还提供了一种计算机可读存储介质,所述存储介质上存储有计算机可执行指令,所述计算机可执行指令用于执行以下步骤:创建数据库的全备份脚本;根据获得的全备份脚本创建所述数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复所述数据库中的坏块。与现有技术相比,本专利技术至少包括:创建数据库的全备份脚本;根据获得的全备份脚本创建数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复数据库中的坏块。从本专利技术提供的技术方案可见,由于根据获得的坏块修复脚本进行了数据库中坏块的修复,因此实现了在数据库实例出现异常前对数据库中的坏块进行修复,从而在一定程度上保证了数据库的正常访问,提高了用户体验。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例提供的一种坏块修复方法的流程示意图;图2为本专利技术实施例提供的一种坏块修复装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本专利技术实施例提供一种坏块修复方法,如图1所示,该方法包括:步骤101、创建数据库的全备份脚本。具体的,数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库,关系型数据库包括:Oracle、Mysql、Sybase、DBII,非关系型数据库包括:Hbase、Mongodb、Redis。Oracle的特点:支持多用户、大事务量的高性能事务处理;数据安全性和完整性控制;支持分布式数据库和分布处理;基于客户端/服务器技术。Oracle的应用场景:大型企事业单位。Mysql的特点:开源,体积小,速度快。Mysql的应用场景:中小型全球广域网(WorldWideWeb,web)网站。Sybase的特点:基于客户/服务器体系结构;是一种高性能、可编程数据库。Sybase的应用场景:较多使用在电信行业。DBII的特点:DBII提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和结构化查询语言(StructuredQueryLanguage,SQL)命令。DBII的应用场景:适用于数据仓库、在线事物处理、大型应用系统,在企业级的应用最为广泛。具有较好的可伸缩性,可支持从大型机到单用户环境,应用于第二代操作系统(OperatingSystem/2,OS/2)、Windows等平台下。Hbase的特点:属于列存储数据库。HBase是谷歌google的Bigtable的开源实现,建立在分布式文件系统(HadoopDistributedFileSystem,HDFS)上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。Hbase的应用场景:通常用来应对分布式存储海量数据;适用于偏好BigTable,并且需要对大数据进行随机、实时访问的场合。Mongodb的特点:属于文档型数据库。可以存储比较复杂的数据类型。高性能、易部署、易使用。支持动态查询。支持完全索引,包含内部对象。使用高效的二进制数据存储,包括大型对象(如视频等)。Mongodb的应用场景:广泛应用于各种大型门户网站和专业网站,大大降低了企业运营成本。Redis的特点:属于键值存储数据库。性能高,扩展性强。易部署、高并发。Redis的应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。具体的,以oracle为例,创建数据库的全备份脚本可以本文档来自技高网...

【技术保护点】
1.一种坏块修复方法,其特征在于,包括:创建数据库的全备份脚本;根据获得的全备份脚本创建所述数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复所述数据库中的坏块。

【技术特征摘要】
1.一种坏块修复方法,其特征在于,包括:创建数据库的全备份脚本;根据获得的全备份脚本创建所述数据库的增量备份脚本;根据预设备份工具和获得的增量备份脚本创建坏块修复脚本;根据获得的坏块修复脚本修复所述数据库中的坏块。2.根据权利要求1所述的坏块修复方法,其特征在于,所述根据获得的坏块修复脚本修复数据库中的坏块,包括:定期执行所述坏块修复脚本替换所述数据库中增添的数据块,以修复所述数据库中的坏块。3.根据权利要求1所述的坏块修复方法,其特征在于,所述根据获得的坏块修复脚本修复数据库中的坏块之后,还包括:定期检测所述数据库中是否存在坏块;如果确定存在所述坏块,判断是否能够确定所述坏块发生的位置;如果能够确定所述坏块发生的位置,根据所述坏块发生的位置修复所述坏块。4.根据权利要求3所述的坏块修复方法,其特征在于,如果不能够确定所述坏块发生的位置,还包括:判断所述数据库是否存在备份;如果所述数据库存在备份,将所述数据库中所有数据块导出,并将所述备份中所有数据块导入所述数据库,以修复所述坏块。5.根据权利要求3所述的坏块修复方法,其特征在于,所述根据坏块发生的位置修复坏块,包括:如果所述坏块发生的位置是索引,获取发生所述坏块的索引;获取与获得的索引对应的数据表;删除获得的索引,并根据获得的数据表重新建立索引,以修复所述坏块。6.根据权利要求5所述的坏块修复方法,其特征在于,如果所述坏块发生的位置是数据表,还包括:获取发生所述坏块的数据表;根据预先建立的数据表与数据表的关联关系判断是否存在与发生所述坏块的数据表相关联的数据表;如果存在...

【专利技术属性】
技术研发人员:王佳乐孙庚刘珏
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1