上机日志表T_LOG_APP占用数据库空间过大
1、问题描述
上机日志表T_LOG_APP占用数据库空间过大
2、业务场景(参考)
上机日志日志服务是EAS中用来记录用户操作历史,
上机日志记录某个用户在什么时间从哪台机器对哪个数据做了什么操作,是否成功执行等信息
但是由于长时间没有清理上机日志表T_LOG_APP会造成占用数据库过大导致性能问题
3、解决方案
如果不需要历史数据可以根据时间删除T_LOG_APP表中的数据
如果需要历史数据,可以协调DBA人员对T_LOG_APP进行以文件形式的备份,然后清理数据
4、操作步骤
1.根据时间清理T_LOG_APP:
举例如要保留2022年的数据
先把t_log_app中大于2022-01-01给备份出来到另一个表里,然后再truncate t_log_app清空表中的数据,再把备份数据弄回来
create table t_log_app_bak as select * from t_log_app where to_char(FOCCURTIME,'yyyy-MM-dd')>'2022-01-01'
truncate table t_log_app;
insert into t_log_app select * from t_log_app_bak;
2.上机日志数据量过大的情况:
基本处理流程:首先DBA把日志表数据备份-->直接把当前表重命名为历史表的名字(查看下历史表有没有数据,有数据看能否删掉) -->重新创建上机日志T_log_app
Create Table T_LOG_App ( FID VARCHAR(44) DEFAULT '' NOT NULL ,FUserID VARCHAR(80),FUserNumber NVARCHAR(80),FUserName NVARCHAR(80),FUserType_l1 NVARCHAR(255),FUserType_l2 NVARCHAR(255),FUserType_l3 NVARCHAR(255),FOccurTime DateTime,FClientIP NVARCHAR(80),FClientName NVARCHAR(80),FEntityId NVARCHAR(80),FCuID NVARCHAR(80),FCompanyName_l1 NVARCHAR(255),FCompanyName_l2 NVARCHAR(255),FCompanyName_l3 NVARCHAR(255),FEntityName NVARCHAR(80),FEntityAlias_l1 NVARCHAR(255),FEntityAlias_l2 NVARCHAR(255),FEntityAlias_l3 NVARCHAR(255),FMethodName NVARCHAR(80),FMethodAlias_l1 NVARCHAR(255),FMethodAlias_l2 NVARCHAR(255),FMethodAlias_l3 NVARCHAR(255),FInstanceId NVARCHAR(80),FInstanceNo NVARCHAR(80),FInstanceDetail CLOB(1024),FIsSuccessed INT,FItemName VARCHAR(44),FMethodDescription_l1 NVARCHAR(255),FMethodDescription_l2 NVARCHAR(255),FMethodDescription_l3 NVARCHAR(255),CONSTRAINT PK_AppLog PRIMARY KEY (FID));
5、注意
以上语句为参考语句,具体以现场DBA人员为准
上机日志表T_LOG_APP占用数据库空间过大
本文2024-09-22 20:08:57发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-111763.html