解决ORA-16000: database open for read-only access问题

针对系统查询按钮点击时报错的问题,通过分析线上日志及traceid定位到数据库只读权限错误,并成功修复。

运营提了一个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操作失效了,需要在主库上编译一下就可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值