FAQ(83):### Cause: java.sql.SQLException: The table 't_account_change_6' is full

版权声明: https://blog.csdn.net/qq_29166327/article/details/82258927

2018年8月31日

1、日志:

### Cause: java.sql.SQLException: The table 't_account_change_6' is full
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1114]; The table 't_account_change_6' is full; nested exception is java.sql.SQLException: The table 't_account_change_6' is full
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)
        at com.sun.proxy.$Proxy14.insert(Unknown Source)
        at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:279)
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:56)
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
        at com.sun.proxy.$Proxy23.insertSelective(Unknown Source)
        at com.xs.fun.admin.sql.dao.AccountChangeDao.insert(AccountChangeDao.java:36)
        at com.xs.fun.admin.timer.RoleChangeStatisticTimer.roleChangeStatisticTimer(RoleChangeStatisticTimer.java:165)
        at sun.reflect.GeneratedMethodAccessor758.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
        at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:257)
        ... 3 more
Caused by: java.sql.SQLException: The table 't_account_change_6' is full
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
        at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:989)
        at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:46)
        at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
        at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
        at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
        at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
        at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
        at com.sun.proxy.$Proxy58.update(Unknown Source)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
        at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434)
        ... 15 more

2、解决方法:

1)mysql的数据表满了;后经确认,是服务器的硬盘容量满了(为什么耗尽?要从日志或者其他磁盘开销特别大的地方找问题);

2)解决方法:增大数据表的size;后面确认是服务器的硬盘满了之后,将tomcat打印的日志删除;

3)继续跟踪,发现是tomcat打印的日志文件占用了54%的磁盘空间,日志清理完成后,重启flume,数据持久化正常了;
 

3、经验:

1)df 查看服务器磁盘状况

2)使用logrotate定时清理日志

参考:https://www.cnblogs.com/kevingrace/p/6307298.html

猜你喜欢

转载自blog.csdn.net/qq_29166327/article/details/82258927