对象、角色与权限管理

前言

DBA_* 描述的是数据库中的所有对象
ALL_* 描述的是当前用户有访问权限的所有对象
USER_* 描述的是当前用户所拥有的所有对象

系统权限

-- 查看所有角色
select * from dba_roles

-- 查看用户拥有的角色
select * from user_role_privs

--查看用户被授予的角色
select * from dba_role_privs where grantee='TEST';

-- 查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS

-- 查看用户拥有的系统权限
select * from user_sys_privs

对象权限

-- 查看用户拥有的对象权限
select * from user_tab_privs

用户管理

  • 创建用户
CREATE USER robinson IDENTIFIED BY robinson
  • 解锁用户
ALTER USER robinson ACCOUNT LOCK;
  • 删除用户
DROP USER username [CASCADE] 
CASECADE 连同用户创建的对象一并删除,如果该用户创建了对象,要加CASCADE删除,否则删除不掉
另外,不能删除当前正在与ORACLE服务器相连的用户。
  • 改变用户在表空间上的配额
ALTER USER username  QUOTA 0 ON system;
ALTER USER scott QUOTA UNLIMITED ON USERS;
ALTER USER dog QUOTA 30M ON system;
  • 查看用户表空间配额
SELECT USERNAME,TABLESPACE_NAME,MAX_BYTES/1024/1024 "Max MB"    
  • 查看用户所拥有的对象
SELECT owner,object_name, object_type FROM dba_objects WHERE owner= 'LXM';
或者
select * from user_objects  (此时处于LXM用户会话)

 

原文地址:https://www.cnblogs.com/yldf/p/7985631.html