一种基于ORACLE数据库的对象备份方法及装置制造方法及图纸

技术编号:13779834 阅读:31 留言:0更新日期:2016-10-04 13:21
本发明专利技术公开了一种基于ORACLE数据库的对象备份方法及装置。一种基于ORACLE数据库的对象备份方法,包括以下步骤:监测针对对象的操作动作;当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;获取并保存目标对象的会话信息及对象定义。应用本发明专利技术实施例所提供的技术方案,可以自动完成对象备份,节省了人工备份所需花费的人力成本,不易出错。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种基于ORACLE数据库的对象备份方法及装置
技术介绍
在使用ORACLE作为后台数据库的业务系统中,为提高业务系统灵活性、降低应用开发难度,多利用PL/SQL(Procedural Language/SQL,过程化SQL语言)实现业务流程。对于一个业务系统而言,在团队协同开发、或者进行后期运维过程中,可能都会对存储过程的各对象,如过程PROCEDURE、函数FUNCTION等进行操作,对象定义可能会发生变化,这就需要对对象进行备份。目前多是采用人工备份方式,会耗费较多的人力成本,而且容易出错。
技术实现思路
为解决上述技术问题,本专利技术提供一种基于ORACLE数据库的对象备份方法及装置。一种基于ORACLE数据库的对象备份方法,包括:监测针对对象的操作动作;当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;获取并保存所述目标对象的会话信息及对象定义。在本专利技术的一种具体实施方式中,在所述确定该操作动作所针对的目标对象之后,所述获取并保存所述目标对象的会话信息及对象定义之前,所述方法还包括:判断所述目标对象的类型是否为预设对象类型;如果是,则执行所述获取并保存所述目标对象的会话信息及对象定义的步骤;否则,重复执行所述监测针对对象的操作动作的步骤。在本专利技术的一种具体实施方式中,所述监测针对对象的操作动作,包括:利用数据库触发器监测针对对象的操作动作。在本专利技术的一种具体实施方式中,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。在本专利技术的一种具体实施方式中,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。一种基于ORACLE数据库的对象备份装置,包括:监测模块,用于监测针对对象的操作动作;确定模块,用于当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;备份模块,用于获取并保存所述目标对象的会话信息及对象定义。在本专利技术的一种具体实施方式中,所述装置还包括:判断模块,用于在所述确定该操作动作所针对的目标对象之后,判断所述目标对象的类型是否为预设对象类型,如果是,则触发所述备份模块,如果否,则触发所述监测模块。在本专利技术的一种具体实施方式中,所述监测模块,具体用于:利用数据库触发器监测针对对象的操作动作。在本专利技术的一种具体实施方式中,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。在本专利技术的一种具体实施方式中,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。应用本专利技术实施例所提供的技术方案,在监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象,获取并保存该目标对象的会话信息及对象定义,自动完成了对象备份,节省了人工备份所需花费的人力成本,不易出错。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中基于ORACLE数据库的对象备份方法的一种实施流程图;图2为本专利技术实施例中基于ORACLE数据库的对象备份方法的另一种实施流程图;图3为本专利技术实施例中基于ORACLE数据库的对象备份装置的一种结构示意图。具体实施方式本专利技术的核心是提供一种基于ORACLE数据库的对象备份方法,可以监测针对对象的操作动作,当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象,获取并保存目标对象的会话信息及对象定义,实现自动对ORACLE数据库的对象进行备份的目的,节省人力成本,不容易出错。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1所示,为本专利技术实施例所提供的基于ORACLE数据库的对象备份方法的一种实施流程图。该方法可以包括以下步骤:S110:监测针对对象的操作动作。在ORACLE数据库中,有很多针对对象的操作动作,如修改ALTER动作、创建CREATE动作、删除DROP动作、插入INSERT动作等。可以理解的是,不同操作动作可以对对象进行不同操作。在本专利技术实施例中,可以实时监测针对对象的操作动作。具体的,可以利用数据库触发器监测针对对象的操作动作。在实际应用中,可以创建数据库触发器,如before触发器,或者after触发器,在触发器中监测针对对象的操作动作。S120:当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象。如前所述,不同操作动作可以对对象进行不同操作。有的操作动作可以对对象进行实质操作,如修改ALTER动作可以修改表,增加、删除指定表中的某行或某列,创建CREATE动作可以创建表,删除DROP动作可以删除表等。在本专利技术实施例中,可以预先设定可以对对象进行实质操作的操作动作,当监测到针对对象的操作动作为预设的操作动作时,可以进一步确定该操作动作所针对的目标对象。预设的操作动作可以为修改ALTER动作、创建CREATE动作或删除DORP动作。S130:获取并保存目标对象的会话信息及对象定义。在步骤S120确定目标对象后,一方面可以获取并保存目标对象的会话信息。具体的,可以在触发器中获取目标对象的会话信息,如登录用户、IP地址、主机名、当前系统时间等。会话收集语句可以参考以下:USERENV(‘sessionid’),表示获得会话ID;SYS_CONTEXT(‘USERENV’,‘IP_ADDRESS’),表示获取登录IP地址。另一方面,可以获取目标对象的对象定义。具体的,可以在系统表中,如all_source表中查询目标对象的对象定义。在本专利技术实施例中,如果利用的数据库触发器是before触发器,
则可以在监测到针对对象的操作动作为预设的操作动作,且对该对象进行该操作动作之前,进行该对象的会话信息及对象定义等的收集。如果利用的数据库触发器是after触发器,则可以在监测到针对对象的操作动作为预设的操作动作,且对该对象进行该操作动作之后,进行该对象的会话信息及对象定义等的收集。获取到目标对象的会话信息及对象定义后,可以保存这些信息。具体的,可以将这些信息保存到预先创建的记录表中。这样,在对业务系统进行团队协同开发、或者进行后期运维过程中,每个技术人员都可以准确获取各对象更新前、更新后的对象定义,且根据保存的对象的会话信息,可以追踪该对象的更新过程,如何时何人对对象进行了何种操作等。如果后期发现对象修改有误,可以根据这些信息查找原因。应用本专利技术实施例所提供的方法,在监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象,获取并保存该目标对象的会话信息及对象定本文档来自技高网
...

【技术保护点】
一种基于ORACLE数据库的对象备份方法,其特征在于,包括:监测针对对象的操作动作;当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;获取并保存所述目标对象的会话信息及对象定义。

【技术特征摘要】
1.一种基于ORACLE数据库的对象备份方法,其特征在于,包括:监测针对对象的操作动作;当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;获取并保存所述目标对象的会话信息及对象定义。2.根据权利要求1所述的方法,其特征在于,在所述确定该操作动作所针对的目标对象之后,所述获取并保存所述目标对象的会话信息及对象定义之前,所述方法还包括:判断所述目标对象的类型是否为预设对象类型;如果是,则执行所述获取并保存所述目标对象的会话信息及对象定义的步骤;否则,重复执行所述监测针对对象的操作动作的步骤。3.根据权利要求2所述的方法,其特征在于,所述监测针对对象的操作动作,包括:利用数据库触发器监测针对对象的操作动作。4.根据权利要求1至3任一项所述的方法,其特征在于,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。5.根据权利要求2或3所述的方法,其特征在于,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发...

【专利技术属性】
技术研发人员:刘福广
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1