权限可以分为:
1、系统:系统规定用户使用数据库的权限。
2、用户:某种权限用户对其它用户的表或视图的存取权限。
系统:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有RESOURCE权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有CONNECT权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
DBA_SYS_PRIVS描述授予用户和角色的系统权限。此视图不显示USERNAME列
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
比如我要查看用户 motianlun的拥有的权限:
SQL> select * from dba_sys_privs where grantee='motianlun';
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
系统权限授权命令:
系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)
授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]…;
注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。




