CN105975361A - 一种基于oracle数据库的对象备份方法及装置 - Google Patents
一种基于oracle数据库的对象备份方法及装置 Download PDFInfo
- Publication number
- CN105975361A CN105975361A CN201610270484.0A CN201610270484A CN105975361A CN 105975361 A CN105975361 A CN 105975361A CN 201610270484 A CN201610270484 A CN 201610270484A CN 105975361 A CN105975361 A CN 105975361A
- Authority
- CN
- China
- Prior art keywords
- operational motion
- monitoring
- type
- action
- destination object
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于ORACLE数据库的对象备份方法及装置。一种基于ORACLE数据库的对象备份方法,包括以下步骤:监测针对对象的操作动作;当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;获取并保存目标对象的会话信息及对象定义。应用本发明实施例所提供的技术方案,可以自动完成对象备份,节省了人工备份所需花费的人力成本,不易出错。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于ORACLE数据库的对象备份方法及装置。
背景技术
在使用ORACLE作为后台数据库的业务系统中,为提高业务系统灵活性、降低应用开发难度,多利用PL/SQL(ProceduralLanguage/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触发器,则可以在监测到针对对象的操作动作为预设的操作动作,且对该对象进行该操作动作之后,进行该对象的会话信息及对象定义等的收集。
获取到目标对象的会话信息及对象定义后,可以保存这些信息。
具体的,可以将这些信息保存到预先创建的记录表中。这样,在对业务系统进行团队协同开发、或者进行后期运维过程中,每个技术人员都可以准确获取各对象更新前、更新后的对象定义,且根据保存的对象的会话信息,可以追踪该对象的更新过程,如何时何人对对象进行了何种操作等。如果后期发现对象修改有误,可以根据这些信息查找原因。
应用本发明实施例所提供的方法,在监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象,获取并保存该目标对象的会话信息及对象定义,自动完成了对象备份,节省了人工备份所需花费的人力成本,不易出错。
参见图2所示,为本发明实施例所提供的基于ORACLE数据库的对象备份方法的另一种实施流程图。在图1所示实施例的步骤S120之后、步骤S130之前,该方法还可以包括以下步骤:
S140:判断目标对象的类型是否为预设对象类型,如果是,则执行步骤S130,否则,重复执行步骤S110。
可以理解的是,不同类型的对象的备份参考价值不同。在本发明实施例中,可以针对预设对象类型的对象进行备份,这样可以避免繁杂冗余信息过多,节省记录表的存储空间,当需要查找记录表中的信息时,还可以节省信息筛选时间。
在本发明实施例中,预设对象类型可以是过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。当然,还可以是其他对象类型,可以根据实际情况进行设定。
在步骤S120监测到针对对象的操作动作为预设的操作动作,确定该操作动作所针对的目标对象之后,可以判断该目标对象的类型是否为预设对象类型,如果是,则执行步骤S130获取并保存目标对象的会话信息及对象定义的操作,如果否,则对该目标对象可以不做备份处理,重复执行步骤S110监测针对对象的操作动作的步骤。
在本发明实施例中,以预设的操作动作为条件创建数据库触发器,当操作动作针对对象的对象类型为PROCEDURE、FUNCTION、PACKAGE、TRIGGER、TYPE等时,可以以系统表,如all_source为源,结合触发器中的会话信息,如登录用户、IP地址等信息,进行会话信息及对象定义的备份,实现对对象的自动备份追踪。
相应于上面的方法实施例,本发明实施例还提供了一种基于ORACLE数据库的对象备份装置。下面对本发明实施例提供的一种基于ORACLE数据库的对象备份装置进行介绍,下文描述的一种基于ORACLE数据库的对象备份装置与上文描述的一种基于ORACLE数据库的对象备份方法可相互对应参照。
图3为本发明实施例提供的一种基于ORACLE数据库的对象备份装置的结构示意图,该装置可以包括以下模块:
监测模块310,用于监测针对对象的操作动作;
确定模块320,用于当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;
备份模块330,用于获取并保存所述目标对象的会话信息及对象定义。
应用本发明实施例所提供的装置,在监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象,获取并保存该目标对象的会话信息及对象定义,自动完成了对象备份,节省了人工备份所需花费的人力成本,不易出错。
在本发明的一种具体实施方式中,所述装置还可以包括:
判断模块,用于在所述确定该操作动作所针对的目标对象之后,判断所述目标对象的类型是否为预设对象类型,如果是,则触发所述备份模块330,如果否,则触发所述监测模块310。
在本发明的一种具体实施方式中,所述监测模块310,可以具体用于:
利用数据库触发器监测针对对象的操作动作。
在本发明的一种具体实施方式中,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。
在本发明的一种具体实施方式中,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基于ORACLE数据库的对象备份方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于ORACLE数据库的对象备份方法,其特征在于,包括:
监测针对对象的操作动作;
当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;
获取并保存所述目标对象的会话信息及对象定义。
2.根据权利要求1所述的方法,其特征在于,在所述确定该操作动作所针对的目标对象之后,所述获取并保存所述目标对象的会话信息及对象定义之前,所述方法还包括:
判断所述目标对象的类型是否为预设对象类型;
如果是,则执行所述获取并保存所述目标对象的会话信息及对象定义的步骤;
否则,重复执行所述监测针对对象的操作动作的步骤。
3.根据权利要求2所述的方法,其特征在于,所述监测针对对象的操作动作,包括:
利用数据库触发器监测针对对象的操作动作。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。
5.根据权利要求2或3所述的方法,其特征在于,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。
6.一种基于ORACLE数据库的对象备份装置,其特征在于,包括:
监测模块,用于监测针对对象的操作动作;
确定模块,用于当监测到针对对象的操作动作为预设的操作动作时,确定该操作动作所针对的目标对象;
备份模块,用于获取并保存所述目标对象的会话信息及对象定义。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述确定该操作动作所针对的目标对象之后,判断所述目标对象的类型是否为预设对象类型,如果是,则触发所述备份模块,如果否,则触发所述监测模块。
8.根据权利要求7所述的装置,其特征在于,所述监测模块,具体用于:
利用数据库触发器监测针对对象的操作动作。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述预设的操作动作为修改ALTER动作、创建CREATE动作或删除DORP动作。
10.根据权利要求7或8所述的装置,其特征在于,所述预设对象类型为过程PROCEDURE、函数FUNCTION、包PACKAGE、触发器TRIGGER或类型TYPE。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270484.0A CN105975361A (zh) | 2016-04-27 | 2016-04-27 | 一种基于oracle数据库的对象备份方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270484.0A CN105975361A (zh) | 2016-04-27 | 2016-04-27 | 一种基于oracle数据库的对象备份方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105975361A true CN105975361A (zh) | 2016-09-28 |
Family
ID=56993600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610270484.0A Pending CN105975361A (zh) | 2016-04-27 | 2016-04-27 | 一种基于oracle数据库的对象备份方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975361A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572885A (zh) * | 2017-03-10 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种操作处理方法、装置及电子设备 |
CN111625857A (zh) * | 2020-04-17 | 2020-09-04 | 中国建设银行股份有限公司 | 基于oracle数据库的登录监控方法、系统、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508833A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 数据监控装置及方法 |
CN102855319A (zh) * | 2012-09-05 | 2013-01-02 | 国家电网公司 | Oracle数据库操作监控系统 |
CN103488474A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据对象监听装置和数据对象监听方法 |
CN104932965A (zh) * | 2014-03-18 | 2015-09-23 | 北京奇虎科技有限公司 | 对象实时监控方法和装置 |
-
2016
- 2016-04-27 CN CN201610270484.0A patent/CN105975361A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508833A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 数据监控装置及方法 |
CN102855319A (zh) * | 2012-09-05 | 2013-01-02 | 国家电网公司 | Oracle数据库操作监控系统 |
CN103488474A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据对象监听装置和数据对象监听方法 |
CN104932965A (zh) * | 2014-03-18 | 2015-09-23 | 北京奇虎科技有限公司 | 对象实时监控方法和装置 |
Non-Patent Citations (1)
Title |
---|
尹为民等: "《数据库原理与技术(oracle版)(第三版)》", 31 May 2014 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572885A (zh) * | 2017-03-10 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种操作处理方法、装置及电子设备 |
CN111625857A (zh) * | 2020-04-17 | 2020-09-04 | 中国建设银行股份有限公司 | 基于oracle数据库的登录监控方法、系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609188B (zh) | 基于GoldenGate的数据同步校验方法 | |
CN104346185B (zh) | 应用对象属性更新方法、装置及应用平台 | |
CN104580099B (zh) | 一种防火墙策略版本管理方法和系统 | |
US20080222215A1 (en) | Method for Deleting Virus Program and Method to Get Back the Data Destroyed by the Virus | |
CN105975361A (zh) | 一种基于oracle数据库的对象备份方法及装置 | |
CN106802895A (zh) | 用于修复数据库备库数据的方法和设备 | |
CN107608860A (zh) | 一种错误日志分类存储的方法、装置、设备 | |
CN103559098B (zh) | 智能卡测试号码控制方法、装置及系统 | |
CN108920725A (zh) | 一种对象存储的方法及对象存储网关 | |
CN106155838A (zh) | 一种数据库备份数据恢复方法及装置 | |
CN109753796A (zh) | 一种大数据计算机网络安全防护装置及使用方法 | |
CN103164649A (zh) | 进程行为分析方法及系统 | |
CN116467303B (zh) | 一种兵棋推演断点续裁方法、服务器及存储介质 | |
CN105207831B (zh) | 操作事件的检测方法和装置 | |
CN108900505A (zh) | 一种基于区块链技术的集群审计管控方法 | |
CN102982288B (zh) | 在便携式终端中执行数据的加密和解密的设备和方法 | |
CN102819570B (zh) | 一种数据访问方法、装置及系统 | |
CN104331348A (zh) | 一种还原fat32目录项的起始簇号恢复文件的方法 | |
CN106682177A (zh) | 服务记录信息的动态展示方法 | |
CN107193677A (zh) | 代码缺陷的通知方法及系统 | |
CN106254806A (zh) | 一种录像数据保护方法和装置 | |
CN104317675A (zh) | 应用的容灾处理方法和装置 | |
CN108762826A (zh) | 进程隐藏方法及计算机可读存储介质 | |
CN107545022A (zh) | 磁盘管理方法及装置 | |
CN103645967A (zh) | 一种只读快照回滚方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160928 |
|
RJ01 | Rejection of invention patent application after publication |