oracle运行SQL报错ORA-01031: 权限不足

oracle运行SQL报错:ORA-01031: 权限不足

今天编译一个存储过程的时候,报错——ORA-01031: 权限不足,如下图:
在这里插入图片描述

原因:

本存储过程的用户为IFNRATEST,功能为insert数据到P2这个用户中的LOT_BK表。查看逻辑后,发现本存储过程的所属用户(INFRATEST用户)不具备存储过程中被操作表(LOT_BK表)的insert、select、update权限,导致权限不足。

create or replace PROCEDURE  "INFRATEST"."A_INSERT_LOT_BK" AS
begin
	insert into p2.lot_bk (table_name,table_num,table_status) vlaues ("test",1,"test");
	commit;
end;

解决办法:

1.给用户INFRATEST用户赋权:

grant insert,select,update on P2.LOT_BK to INFRATEST;
--P2是LOT_BK的所属用户,意思就是LOT_BK是被P2这个用户创建的,INFRATEST要是想要操作LOT_BK表,难么就要用P2用户赋予权限给INFRATEST才行。

在这里插入图片描述
2.赋权后再次重新编译,可以成功编译:
在这里插入图片描述
写到这里,从这个权限机制中,我想到《满城尽带黄金甲》中周润发说的那句话:天地万物,朕赐给你,才是你的;朕不给,你不能抢。哈哈哈。

最后打个鸡血吧:

断断续续的坚持也是坚持。累的半死不活还去学习,这就是坚持!共勉!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值