一描述:
在实际环境中我们可能有这样一种需求,就是使用用户A建立用户B的表。但我们又不能授予A create any table的权限(因为这样A用户就可以在所有用户下建立表),ORACLE似乎也没有更细粒度的权限可以授予给A用户。在这种情况下,TOM大叔告诉我们可以使用代理用户,实验过程见下文。
二环境
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
[oracle@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
三实验过程
SQL> create user a identified by a;
User created.
SQL> SQL> grant create session, create procedure,create table to a;