正文
登录PeopleTools 提示ora-00942表视图不存在 select xxx from sysadm.psoprdefn
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
起因:本来跟DBA说了把生产的库同步到CFG环境,还跟她说了,dev tst cfg在一台机器上,结果她还是把dev给覆盖了,幸好及时发现,一部分对象被删除了(序列,视图,有可能也有表)。
视图和一部分表被删了,就得重新建立,这时候AD工具是可以登录的,我就用工具把表和视图都插入到工程中,然后开始create+alter+create view时间还挺长的,PS有2w+的表,完成后就把AD退了。
再登录时候,出问题了,不过PIA可以正常访问。
AD 提示如图错误:
提示PSOPRDEFN表不存在。
我擦,难道这个表被删了?赶紧到数据库中查,发现在的。
然后再观察错误发现表名PSOPRDEFN前有SYSADM账号,突然想起来AD工具连接数据库不是通过SYSADM账号,是用的people,如图:
people账号一共需要访问3张表PSSTATUS PSOPRDEFN PSACCESSPRFL
因为我是把所有的表ALTER了,执行的数据库的DML操作,表如果被执行了DML操作,是需要重新赋权的。
grant select on SYSADM.PSSTATUS to PEOPLE;
grant select on SYSADM.PSOPRDEFN to PEOPLE;
grant select on SYSADM.PSACCESSPRFL to PEOPLE;
登录PLSQL执行上述语句,至此问题解决。
我的公众号: