Oracle資料庫中的public使用者的作用

來源:互聯網
上載者:User

public不是角色,你可以理解為所有資料庫使用者的集合。

如果某個許可權賦於了public,那麼所以資料庫的使用者都可以有這個許可權(當然有些使用者可能連connect的許可權都可以沒有)。

比如把一個對象t1給所有使用者有select 許可權
grant select on user1.t1 to public;
create public synonym t1 for t1;
那麼所有的public使用者都可以訪問該表t1

再比如說
grant dba to public;
那麼所有的使用者都有dba許可權了

看下面的例子
SQL> grant dba to public;
授權成功。

SQL> create user hh identified by hh123 default tablespace users;
使用者已建立

SQL> conn hh/hh123
已串連。
SQL> create table t1 (a int);
表已建立。
SQL> conn /as sysdba
已串連。
SQL> revoke dba from public;
撤銷成功。

SQL> conn hh/hh123
ERROR:
ORA-01045: user FANG lacks CREATE SESSION privilege; logon denied

該例中先給所有使用者授予了DBA的許可權,因此建立的hh使用者具有DBA許可權,可以登入;之後把所有使用者的DBA許可權撤銷,hh使用者就不能再登入了。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.