/*
创建存储过程
*/
create or replace procedure delete_systemlog_before
(
v_before in number
)
is
begin
delete from KONG.systemlog where KONG.systemlog.datetime < current_timestamp - NUMTODSINTERVAL ( v_before , 'MONTH' );
commit;
end delete_systemlog_before;用system用户登录,执行后提示用户权限不足错误!
当grant create any table to system;执行后,再执行上面的“创建存储过程”提示一样的错误;
继续输入grant delete any table to system;后执行“创建存储过程”通过,无误!
这个时候再revoke create any table from system;执行后“创建存储过程”,通过,无误!
这个时候问题就就出现了:为什么system用户没有delete权限的时候“创建存储过程”执行不能通过,而有没有create权限都是一样的?
创建存储过程
*/
create or replace procedure delete_systemlog_before
(
v_before in number
)
is
begin
delete from KONG.systemlog where KONG.systemlog.datetime < current_timestamp - NUMTODSINTERVAL ( v_before , 'MONTH' );
commit;
end delete_systemlog_before;用system用户登录,执行后提示用户权限不足错误!
当grant create any table to system;执行后,再执行上面的“创建存储过程”提示一样的错误;
继续输入grant delete any table to system;后执行“创建存储过程”通过,无误!
这个时候再revoke create any table from system;执行后“创建存储过程”,通过,无误!
这个时候问题就就出现了:为什么system用户没有delete权限的时候“创建存储过程”执行不能通过,而有没有create权限都是一样的?
有没有create没有关系啊存储过程要显示授权
那为什么revoke create any procedure from system 后还是能创建存储过程?
执行revoke select any table from system 后为什么创建存储过程还能执行通过?
和
revoke create any procedure from system
这两个执行后都一样,存储过程都能通过!
能成牛顿那更好(*^__^*) 嘻嘻……
权限的分配是用到什么分配什么,不要多给。
revoke resource from system
*第 1 行出现错误:
ORA-01951: ROLE 'RESOURCE' 未授予 'SYSTEM'
和那个应该没关系
再用SQL> select * from session_privs;查看当前用户的权限
仍然能看到当前用户有delete any table和create any table 的权限???
是oracle的系统出错了吗??
快崩溃了
revoke create any procedure from system; 这个是取消用户创建存储过程权限的sql吗?
为什么都revoke了,创建过程还能执行成功?