用户、角色、权限是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 人员必看。
权限管理分为系统权限和实体权限两大类: **系统权限**: - **系统权限分类**:DBA权限代表所有系统权限,RESOURCE权限允许创建数据库对象,而CONNECT权限仅提供登录权限。 - **授权**:只能由DBA用户(如sys或...
Oracle数据库的用户角色及权限管理是数据库管理员(DBA)日常工作中不可或缺的部分,它涉及到数据库的安全性和访问控制。本文将详细阐述Oracle中的用户、角色和权限的概念以及如何进行管理。 首先,Oracle数据库中...
### Oracle用户、权限、角色管理深度解析 在Oracle数据库的管理中,用户、权限和角色的管理是确保数据安全和高效使用的关键环节。本文将详细阐述Oracle中的用户管理、权限设置,以及角色管理的重要概念和操作流程。...
Oracle用户权限角色设置,用来在新建的数据库中添加新的用户,并为其设置权限。
在Oracle中,权限和角色的概念是为用户提供访问控制机制,允许管理员精细地控制用户对数据库对象的访问权限,同时简化权限的分配过程。 1. 权限(Privileges):权限是Oracle中允许用户执行特定操作的能力。例如,...
授予权限和查看特定角色权限 最后,如果需要授予权限给特定用户,例如将`CONNECT`, `RESOURCE`, `CREATE SESSION`, 和 `CREATE VIEW`权限授予名为`TEST`的用户,可以使用如下命令: ``` GRANT CONNECT, RESOURCE,...
在本文中,我们将使用 PLSQL 创建 Oracle 数据库用户并设置权限,包括创建用户、设置权限和创建表。 一、创建用户 在 PLSQL Developer 中,首先需要连接到 Oracle 数据库。在连接到数据库时,需要输入数据库名称、...
- **ALL_USERS**: 这个视图包含了当前用户可见的所有用户的信息,通常包括当前用户和其他显式授予访问权限的用户。 ```sql SELECT * FROM ALL_USERS; ``` - **USER_USERS**: 这个视图仅显示当前用户的详细信息。 ...
Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,
Oracle中的权限主要分为系统权限和对象权限两种类型。 - **系统权限**是指对整个数据库的操作权限,如创建会话(`CREATE SESSION`)、创建表(`CREATE TABLE`)等。 - **对象权限**是指对特定数据库对象(如表、视图)...
DBA角色拥有最高权限,几乎拥有所有的系统权限和对象权限。CONNECT角色通常授予最终用户,它包括了最基本的权限,例如建立会话、创建序列、创建视图等。RESOURCE角色则预留给开发人员,它允许用户创建数据库中的各种...
通过以上介绍,我们可以看到Oracle数据库提供了丰富的权限管理机制,包括用户管理、角色管理和对象权限管理等。合理利用这些机制可以帮助我们更好地控制数据库的访问,确保数据的安全性。此外,还可以根据实际需求...
### Oracle用户与权限管理详解 Oracle数据库作为一款广泛应用于企业级环境中的关系型数据库管理系统,其用户管理和权限分配机制是确保数据安全性与访问控制的关键环节。以下是对Oracle中用户、权限与角色管理的深入...
oracle笔记控制用户权限及练习,控制用户权限,授权,收回权限等操作,有具体的代码案例!
在Oracle数据库管理中,了解如何查看用户、权限和角色对于维护数据库的安全性和功能至关重要。以下是对给定文件中提到的命令和视图的详细解析,旨在深入理解Oracle中用户、权限和角色的管理。 ### 1. 查看所有用户 ...
使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。
这一主题涵盖了多个子领域,包括Oracle的安全机制、用户账号管理、权限管理、角色管理和概要文件。以下是对这些知识点的详细解释: **Oracle安全机制** Oracle数据库提供了一套完整的安全措施来保护数据,主要包含...
- **建立用户级的安全保证**:通过用户口令和角色机制来实现,即为每个用户建立角色,并将角色分配给用户,从而简化权限管理和分配。 - **系统特权管理与控制**:Oracle提供了80多种系统特权,包括建立表空间、建立...