sap系统前台数据与后台表之间_数据治理之SAP软件非生产数据清除方法
我們知道SAP系統軟件往往在使用多年后,底層數據庫中的數據會變得相當龐大。在使用的過程中會產生一部分非生產(業務)數據,這些數據的存在基本無任何意義,不會影響系統正常運行,更不會影響公司業務正常運營。
近幾年,隨著企業數字化轉型的迫切,企業常年積累的大量數據蘊藏著巨大的經濟價值,業務數據化、數據業務化,通過數據分析和挖掘,挖掘出數據資產更多價值。
本文介紹SAP系統之Oracle數據庫中LOB類型表空間釋放方法,通過特殊手段清理掉,然后經過重組后可釋放出大量空間,以減緩數據庫增長帶來的性能和備份方面的壓力。同時,縮小數據治理的范圍,提升數據治理的工作效率。
對某公司SAP系統中每月數據庫增長量最大的數據庫表進行分析時,發現近半年來增長量排列前10的表中,有兩個LOB類型的表以每月將近3G的速度增長,占到每月數據增長量的20%~25%左右,經分析發現該表所存放的內容并不是業務數據(或生產數據),可通過SAP提供的標準程序進行清理,然后再對LOB表進行重組。
注:Oracle LOB類型表:即LARGE OBJECT表大對象表,該表存放可以是視頻、文檔、特殊文件等1G以上的大對象,該表通常作為某個Oracle普通的表的某個字段存在(該普通表的實際字段存儲指向LOB類型表的指針),因此命名均由系統生成,僅憑名稱無法判斷該表用途。
由于SAP生產系統數據量超過600G,近半年公司ERP運維部對數據庫增長進行嚴密的追終,經分析,系統中有2個LOB表增長量極大,如圖:?
數據增長量排列前三的表中有2個都是LOB類型表:
“SYS_LOB0000402122C00007$$”和“SYS_LOB0000398297C00007$$”
在數據庫中的大小分別為?
兩個表加起來將近占用了50個G的數據空間。
具體處理過程
1.分析LOB表
由于LOB類型表其實存放的是某個oracle普通表的一個字段,所以必須先定位該LOB表屬于哪個普通表的什么字段:
2.對LOB表所屬表分析對SOFFCONT1和SE16N_CD_DATA分析,主要分析數據條目、表大小以及表的功能,使用SE11或SE16分析條目數:經過對表的條目數和大小進行分析,發現,這些表條目數都在百萬級,意味著如果需要清理,其可清理空間很大。具體分析表大小,如圖:由于這些表的存儲方式采用LOB方式,本表中只存放對LOB表的指針,因此本表大小并不大。只需做LOB的重組即可,不需要將本表重組。分析表作用:經分析SOFFCONT1主要記錄SAP工作流相關掛接文檔,在本系統中,工作流會自動生成文檔提醒用戶工作流的操作內容,由于工作流上線時間已有2年,系統中存放了大量自動生成的工作流提醒文檔,該文檔存放在CLUSTD字段,經分析可將已過期的文檔刪除,但是需要業務部門的認可。經分析SE16N_CD_DATA是記錄所有通過SE16N維護表內容操作文檔的。其中VALUE字段存放系統自動生成的變更記錄文檔,由于該表從未清理過,因此SAP上線3年來所有的變更記錄均在此表內,因此導致數據量巨大,經分析該表保留3個月內的數據即可。具體數據清理方式由于需要清理的表是SAP標準表,所以絕對不允許使用數據庫命令清理,需要通過SAP提供的標準程序進行,可通過SAP官方網站查找相關note,根據note966854可找到相關程序清理表SOFFCONT1,根據note1263844,可清理表SE16N_CD_DATA,清理掉這兩個表的多余數據,可大大減少對應LOB表的數據量。重組LOB表當減少LOB表中數據量之后LOB表不會立刻釋放,必須進行LOB表進行重組,重組LOB表的方式的步驟如下,以SE16N_CD_DATA為例:在原表上創建一個與現有表字對應LOB表類型相同的臨時表ALTER TABLE SAPSR3.SE16N_CD_DATA ADD (VALUE_TEMP CLOB);將現有LOB表的數據拷貝進臨時表UPDATE SAPSR3.SE16N_CD_DATA set VALUE_TEMP = VALUE;刪除原LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA DROP COLUMN VALUE;重新創建原LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA ADD (VALUE CLOB);將表中數據從臨時LOB表中,再拷貝回新創建的LOB表UPDATE SAPSR3.SE16N_CD_DATA SET VALUE = VALUE_TEMP;刪除掉臨時LOB表ALTER TABLE SAPSR3.SE16N_CD_DATA DROP COLUMN VALUE_TEMP;清理結果以SE16N_CD_DATA為例該表的LOB表“SYS_LOB0000398297C00007$$”,重組前其大小為:如圖經過清理重組后:空間釋放了91%左右。由于SAP系統數據庫表龐大,表之間關系復雜,在分析數據庫表增長量時,遇到增長速度過快LOB類型表時,需要根據本文提供的步驟,先定位該LOB關聯的普通表,再分析該表的作用,然后判斷是否可清理,最后去查找標準的清理方式,由于SAP是十分成熟的應用系統,其系統日志、記錄等相當完善,但是使用一段時間后,都需要制定策略去定期刪除,以此保證數據庫的空間增長不會太快。最后總結1.在使用SAP標準程序刪除包含LOB表的標準表時,由于長期沒有清理,會因為LOB表中數據量過大,會導致在刪除時系統資源不足,需要酌情調整系統參數,然后再進行刪除。2.在重組LOB表時所創建的臨時表,會因為數據沖突而導致用戶前臺操作失敗,因此在重組LOB表時,必須確認當時其標準表無任何前臺用戶使用,因此建議在非工作時間完成此任務。在完成重組后,必須將臨時表立即刪除。廣而告之:截至目前,SAP中國顧問云之家微信群(純SAP顧問)已滿。現增加SAP中國顧問霧之家微信群(純SAP顧問),云之家群和精英顧問群在將近4年的管理中,幾乎未出現過亂發游戲、廣告、招聘等學習無關的垃圾信息,希望更多的顧問朋友加入進來與大家就SAP軟件相關進行純交流、學習。進群直接聯系大圣(微信號:potatocorn),非誠勿擾!!
分享是一種精神
每一個ERPer都有自己獨特的思考和感悟!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ?? ? ? ??---SAP齊天大圣
總結
以上是生活随笔為你收集整理的sap系统前台数据与后台表之间_数据治理之SAP软件非生产数据清除方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python手写板_Python3使用P
- 下一篇: sift论文_卷积神经网络设计相关论文