今天一同事发现在8i下,用sys用户登录,不能将用户A的对象权限直接授予用户B,如下语句会报没有限限的错:
Grant Select On UserA.Table1 to UserB
后来,找了一个9i的数据库测试,发现没有报错.
于是去查文档:Oracle Administrator's Guide,发现这项功能确实是9i以上的版本才增加的.
通过查询权限视图,可以看到这种方式授权后,授权人仍然是UserA,相关于Sys转授.
8i的该文档上记录了需要先用UserA将Grant Option的权限给Sys后才能由Sys转授.
先用UserA连接
Grant Select On Table1 to Sys With Grant Option;
然后,再用Sys连接
Grant Select On UserA.Table1 to UserB;