运营提了一个bug,在系统中进行点击查询按钮会报错,领导把这个问题给了我,也是java项目里改的第一个bug。
先在线上日志找错误原因,root.log竟然没有信息,看配置文件,发现日志输出到root.log11.xx ,至于怎么看配置文件,学到了linux下操作命令,cat和vim的区别,两个都是打开文件,cat预览不能修改,vim可对文件进行修改。
领导说controller不会出错,没懂,直接进到service,logutils.info会打印start,在日志里找,让运营操作,根据时间找到traceid,在log里找该traceid,发现报error,所以到error的日志里找这个traceid
### Cause: java.sql.SQLException: ORA-04045: errors during recompilation/revalidation of PAYADMHD.PPDT_VIEW
ORA-16000: database open for read-only access
bad SQL grammar []; nested exception is java.sql.SQLException: ORA-04045: errors during recompilation/revalidation of PAYADMHD.PPDT_VIEW
ORA-16000: database open for read-only access报错如上图,很明显是只读权限的问题。
找到了以为是登陆的帐号权限不够,问了dba,说就是当时对象由于DDL操作失效了,需要在主库上编译一下就可以。
针对系统查询按钮点击时报错的问题,通过分析线上日志及traceid定位到数据库只读权限错误,并成功修复。

3万+

被折叠的 条评论
为什么被折叠?



