Oracle系统权限与对象权限
查询已授予的对象权限(即某个用户对哪些表对哪些用户开放了对象权限) sql> conn scott/scott sql> select * from user_tab_privs_made; --下面是scott用户开放的对象权限
查询列上开放的对象权限 sql> select * from user_col_privs_made; ? 查询已接受的对象特权(即某个用户被授予了哪些表上的哪些对象特权) sql> select * from user_tab_privs_recd;
查询用户已接受列的对象权限 sql> select * from user_col_privs_recd;
收回对象权限 使用revoke 语句收回权限 使用with grant option 子句所分配的权限同样被收回 revoke {privilege [,privilege...]|all} --on object --from {user[,user...]|role|public} -- [cascade constraints];--收回权限 ? cascade constraints 为处理引用完整性时需要 ?对于要回收查询/修改列的权限,可以直接怼表级进行回收,不需要到具体列。 SQL> conn /as sysdba; Connected. SQL> revoke select on scott.emp from test; Revoke succeeded. SQL> revoke update(sal,mgr) on scott.emp from test; revoke update(sal,mgr) on scott.emp from test * ERROR at line 1: ORA-01750: UPDATE/REFERENCES may only be REVOKEd from the whole table,not by column SQL> revoke update on scott.emp from test; Revoke succeeded.
其它 检查dba权限的用户 select * from dba_role_privs where granted_role=‘dba‘;
查看用户具有的系统权限: select * from session_privs;
总结 使用create user语句创建用户,alter user语句修改用户,其语法大致相同 drop user username [cascade] 会删除用户所拥有的所有对象及数据。 系统权限允许用户在数据库中执行特定的操作,如执行ddl语句。 with admin option 使得该用户具有将自身获得的权限授予其它用户的功能。 但收回系统权限时,不会从其它帐户级联取消曾被授予的相同权限。 对象权限允许用户对数据库对象执行特定的操作,如执行dml语句。 with grant option 使得该用户具有将自身获得的对象权限授予其它用户的功能 但收回对象权限时,会从其它帐户级联取消曾被授予的相同权限。 系统权限与对象权限授予时的语法差异为对象权限使用了on object_name 子句。 public 为所有的用户 all:对象权限中的所有对象权限 (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |