[發明專利]用于Oracle數據庫Truncate操作的保護方法有效
| 申請號: | 201811073254.0 | 申請日: | 2018-09-14 |
| 公開(公告)號: | CN109241061B | 公開(公告)日: | 2022-02-11 |
| 發明(設計)人: | 程永新;孫玉穎;袁偉翔 | 申請(專利權)人: | 上海新炬網絡信息技術股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 上??坡蓪@硎聞账?特殊普通合伙) 31290 | 代理人: | 袁亞軍;金碎平 |
| 地址: | 201707 上海市青浦區外青*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 oracle 數據庫 truncate 操作 保護 方法 | ||
1.一種用于Oracle數據庫Truncate操作的保護方法,其特征在于,包括如下步驟:
S1)當Oracle數據庫發生Truncate操作時,設置觸發器;所述觸發器記錄被Truncate刪除的表名,并將記錄的信息保存到beforetruncate表中;
S2)定時掃描beforetruncate表,如果存在新刪除的表,則執行查詢dba_segments,找到該表的段頭塊;
S3)執行腳本將該表相關的data_object_id修改成Truncate以前的值,同時生成修改回去的逆向腳本;
S4)當達到預設的保護閾值之后,運行步驟S3中的逆向腳本,把標識再恢復成Truncate之后的情況,通過Oracle數據庫對需要回收的數據進行清理;
所述步驟S3包括:
S31)執行腳本將該表所有位圖塊和數據塊中的data_object_id修改成Truncate以前的值,同時生成修改回去的逆向腳本;
S32)修改數據字典OBJ$表,把data_object_id的值修改成Truncate以前的值,同時生成修改回去的逆向腳本。
2.如權利要求1所述的用于Oracle數據庫Truncate操作的保護方法,其特征在于,所述新刪除的表由一級位圖塊,二級位圖塊和三級位圖塊構成;三級位圖塊的表頭塊記錄了若干的L2位圖塊,第一個L2位圖塊為Segment Header,每個L2位圖塊又記錄了若干L1位圖塊,而L1位圖塊則記錄了真正的數據塊;所述S31將二級位圖塊、三級位圖塊以及第一個一級位圖塊中的data_object_id修改成Truncate以前的值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海新炬網絡信息技術股份有限公司,未經上海新炬網絡信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811073254.0/1.html,轉載請聲明來源鉆瓜專利網。





