用户、角色、权限是Oracle数据库进行权限控制的主要手段。
一、用户
1、用户分类
Oracle用户分为两类:
系统用户:具有系统管理权限的用户;
普通用户:
2、查看用户信息
视图dba_users存储了所有用户的基本信息。
SQL> desc dba_users Name Type Nullable Default Comments --------------------------- -------------- -------- ------- --------------------------------------- USERNAME VARCHAR2(30) Name of the user USER_ID NUMBER ID number of the user PASSWORD VARCHAR2(30) Y Encrypted password ACCOUNT_STATUS VARCHAR2(32) LOCK_DATE DATE Y EXPIRY_DATE DATE Y DEFAULT_TABLESPACE VARCHAR2(30) Default tablespace for data TEMPORARY_TABLESPACE VARCHAR2(30) Default tablespace for temporary tables CREATED DATE User creation date PROFILE VARCHAR2(30) User resource profile name INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30) Y User's initial consumer group EXTERNAL_NAME VARCHAR2(4000) Y User external name
--dba_users查询 select username,account_status,default_tablespace,temporary_tablespace from dba_users;
3、新建用户
--创建用户的语法 create user 用户名 identified by 密码 default tablespace 表空间
4、关于schema(模式)
schema是用户的附属对象,依赖于对象的存在而存在。一个用户在数据库中所拥有的所有对象的集合即为该用户的模式。可以通过视图dba_objects查看一个对象的拥有者。
5、系统用户 sys和system
sys用户角色为sysdba(数据库管理员),是数据库中权限最高的用户,可以进行任意操作不受限制;
system用户角色为sysoper(数据库操作员),权限仅次于sys用户。
sys用户只能在安装oracle数据库的服务器上使用:
sqlplus /@orcl as sysdba
启用system用户
alter user system account unlock;
alter user system identified by xxxx;
二、权限
权限分类
系统权限:Oracle内置的,与具体对象无关。
对象权限
1、获取系统权限信息
--获取系统权限信息 select * from dba_sys_privs;
2、分配系统权限
--将权限分配给grantee grant privilege to grantee; 例如: grant create sesssion to test; --admin option选项实现权限传播 grant create session to test with admin option; --test用户可以将create session权限赋予其他用户
3、回收系统权限
--回收权限 revoke privilege from grantee; --例如: revoke create session from test; --经由test用户传播出去的权限不会被失效
1、对象权限
select:用于查询表、视图和序列
insert:像表或视图中插入数据
update:更新表中数据
delete:删除表中数据
execute:函数、存储过程、程序包等的调用或执行
index:为表创建索引
references:为表创建外键
alter:修改表或者序列属性
2、查看对象权限
--查看一个用户针对某个数据表的权限,可以通过视图dba_tab_privs或user_tab_privs SQL> desc dba_tab_privs Name Type Nullable Default Comments ---------- ------------ -------- ------- ---------------------------------------- GRANTEE VARCHAR2(30) User to whom access was granted OWNER VARCHAR2(30) Owner of the object TABLE_NAME VARCHAR2(30) Name of the object GRANTOR VARCHAR2(30) Name of the user who performed the grant PRIVILEGE VARCHAR2(40) Table Privilege GRANTABLE VARCHAR2(3) Y Privilege is grantable HIERARCHY VARCHAR2(3) Y Privilege is with hierarchy option SQL>
3、分配对象权限
--分配对象权限 grant 权限 on 对象 to 用户 --权限传播 grant 权限 on 对象 to 用户 with grant option
4、回收对象权限
--回收对象权限 revoke 权限 on 对象 from 用户
三、角色
角色是权限的集合。一个角色可以包含多个权限。
1、查看系统中的角色
--查看系统中的角色 select * from dba_roles;
2、内置角色
DBA CONNECT RESOURCE(隐含了Unlimited tablespace)
四、应用
ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA. USER_*: 有关用户所拥有的对象信息,即用户自己创建的对象信息 ALL_*: 有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息 DBA_*: 有关整个数据库中对象的信息 (这里的*可以为TABLES,INDEXES,OBJECTS,USERS等。) 1、查看所有用户 select * from dba_user; select * from all_users; select * from user_users; 2、查看用户系统权限 select * from dba_sys_privs; select * from all_sys_privs; select * from user_sys_privs; 3、查看用户对象权限 select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 4、查看所有角色 select * from dba_roles; 5、查看用户所拥有的角色 select * from dba_role_privs; select * from user_role_privs; 6、查看当前用户的缺省表空间 select username,default_tablespace from user_users; 7、查看某个角色的具体权限 select * from role_sys_privs 如grant connect,resource,create session,create view to TEST; 8、查看RESOURCE具有那些权限 用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE" 9、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限) select * from V$PWFILE_USERS 10、查看当前用户所有的权限 Select * from session_privs
相关推荐
oracle 用户、权限和角色管理,oracle 人员必看。
Oracle用户权限角色设置,用来在新建的数据库中添加新的用户,并为其设置权限。
技术分享:Oracle用户角色及权限管理
Oracle用户、权限、角色管理
Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,
查看ORACLE用户具有哪些角色,某个角色有哪些权限等
使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。
前言:ORACLE 数据库系统预先定义了 CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、IMP_FULL_DATABASE
oracle笔记控制用户权限及练习,控制用户权限,授权,收回权限等操作,有具体的代码案例!
1查看所有用户 2查看用户或角色系统权限(直接赋值给用户或角色的系统权限) 3查看角色(只能查看登陆用户拥有的角色)所包含的权限 4查看用户对象权限: 5查看所有角色 6查看用户或角色所拥有的角色 7.查看哪些用户有...
oracle查看用户、权限、角色的命令和视图
oracle基础知识:用户、权限与角色的理解
alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 ...
oracle查询用户信息1.查看所有用户2.查看用户或角色系统权限3.查看角色4.查看用户对象权限5.查看所有角色
这是我上oralce课上老师的资料,ppt是老师自己做的,网上是没有的,在这共享,希望和大家一起来学习交流。
概要文件、用户权限和角色概要文件、用户权限和角色概要文件、用户权限和角色
oracle中表空间、权限、角色、用户的总结,其中包括表空间的建立,权限的配置,角色的生成和用户的挂接
oracle 用户 权限 角色的详细介绍,包含各种SQL语句
5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限): 6、查看角色(只能查看登陆用户拥有的角色)所包含的权限 7、查看用户对象权限: 8、查看所有角色: 9、查看用户或角色所拥有的角色: 10、...