[发明专利]一种自主可控数据库闪回删除的方法和系统在审
申请号: | 202110632847.1 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113342841A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 燕兴余;喻翠微;李朋 | 申请(专利权)人: | 北京许继电气有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/28;G06F8/61;G06F9/445;G06F11/14 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 吕秀丽 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自主 可控 数据库 删除 方法 系统 | ||
1.一种自主可控数据库闪回删除的方法,包括:
获取用户闪回删除请求,并对该闪回删除请求进行解析以获取其中的数据操控语言DML和事务处理语言DPL;通过对DML和DPL按照属性进行分类以将DML和DPL操作以及对应的原始数据进行存储;
若所述DML和DPL操作为误操作,通过flashback进行数据恢复。
2.根据权利要求1所述的自主可控数据库闪回删除的方法,所述方法还包括:
将c语言编译的安装程序flashback以插件形式安装部署在所述自主可控数据库。
3.根据权利要求1所述的自主可控数据库闪回删除的方法,所述通过flashback进行数据恢复,包括:
通过闪回功能模块的函数dissql()对DML、DPL语句进行语法解和分流;针对DML与DPL语句,由consql()函数生成备份SQL语句,将原始未修改数据以数组形式备份至fbdata表,且该fbdata标至少包括以下字段:事务id、修改时间、修改用户、原始数据的数组;
备份完成后将原SQL语句记录至闪回日志/pgdata/data/flashback.log,同时将该语句抛入查询编译器执行,并将执行结果反馈至用户;其中所述分析及备份操作对用户透明不可见;
当用户发现误操作后,通过flashback.log确认操作内容、时间及相关用户后,通过flashback语句对误操作进行基于时间点的恢复,或数据抽取。
4.根据权利要求3所述的自主可控数据库闪回删除的方法,所述通过flashback.log确认操作内容、时间及相关用户后,通过flashback语句对误操作进行基于时间点的恢复,或数据抽取,包括:
通过
flashback delete/update/drop…from fbdata where user=’username’and traid=’****’and wrtime=’**’;语法进行操作。
5.根据权利要求4所述的自主可控数据库闪回删除的方法,其中,通过修改用户user、事务id、修改时间wrtime对操作数据进行匹配,以确保所执行操作的正确性。
6.根据权利要求3所述的自主可控数据库闪回删除的方法,所述方法还包括:
在闪回操作执行前,通过consql()函数生成备份当前数据、闪回修改前数据的SQL语句;
将当前数据以数组形式通过备份SQL备份至fbdata表,确保当前数据可恢复,备份完成后将闪回SQL语句记录至闪回日志flashback.log,
将该闪回语句抛入查询编译器执行,并将执行结果反馈至用户,告知用户flashback操作成功。
7.根据权利要求3所述的自主可控数据库闪回删除的方法,所述方法还包括:
通过闪回功能模块的函数dissql()对用户请求SQL语句进行分流;
将非DML语句和非DPL语句直接抛入查询编译器,由查询编译器进行优化处理后执行,并将结果反馈至用户。
8.一种自主可控数据库闪回删除的系统,包括:
获取模块,用于获取用户闪回删除请求,并对该闪回删除请求进行解析以获取其中的数据操控语言DML和事务处理语言DPL;通过对DML和DPL按照属性进行分类以将DML和DPL操作以及对应的原始数据进行存储;
恢复模块,用于当所述DML和DPL操作为误操作,通过flashback进行数据恢复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京许继电气有限公司,未经北京许继电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110632847.1/1.html,转载请声明来源钻瓜专利网。