`

Oracle之用户、特权和角色

 
阅读更多

本文主要包括:

· 介绍创建用户

· 了解如何使用特权来确保用户能够在数据库中执行任务

· 介绍两种特权类型:系统特权和对象特权

· 介绍系统特权怎样允许执行操作,例如执行 DDL 语句

· 介绍对象特权怎样允许执行操作,例如执行 DML 语句

· 介绍如何将特权组合在一起形成角色

一、 用户

数据库使用表空间来存储对象,其中可以包含表、类型和 PL/SQL 代码等

表空间存储在数据文件 (datafile) 中

1. 创建用户

语法:

CREATE USER user_name IDENTIFIED BY password

[DEFAULT TABLESPACE default_tablespace]

[TEMPORARY TABLESPACE temporary_tablespace];

可以从 user_users 查询默认表空间和默认临时表空间

2. 修改用户密码

ALTER USER user_name IDENTIFIED BY password;

PASSWORD 可以用来修改当前登录用户的密码

3. 删除用户

DROP USER user_name;

注:如果要删除的用户模式中包含任何表或其他项,就必须在 DROP USER

语句中,在要删除的用户名后面加上关键字 CASCADE

二、 系统特权

系统特权(system privilege)允许用户在数据库中执行特定的操作,比如执行 DDL 语句

常用的系统特权如下表

\"></p>
<p style=

6. 检查授予角色的对象特权

通过查询 role_tab_privs 可以检查已经授予角色哪些对象特权

7. 使用已授予角色的特权

对于无密码保护的角色,通过角色将特权授予用户之后,用户连接到数据库后就

可以立即使用这种特权了;

对于密码保护的角色,用户必须输入角色密码才能使用这个角色

SET ROLE role_name IDENTIFIED BY role_password;

8. 启用和禁用角色

可以禁用角色,ALTER ROLE 语句可以用来对角色进行修改,使其变为非默认角色

范例:以 system 用户身份连接到数据库,并对 john 用户进行修改,使 hr_manager 不再是默认角色

CONN system/oracle

ALTER USER john DEFAULT ROLE ALL EXCEPT hr_manager;

范例:使用 SET ROLE 命令启用 hr_manager 角色

SET ROLE hr_manager;

范例:将 hr_manager 角色设置为默认角色,它在退出登录后仍然保留

CONN system/oracle

ALTER USER john DEFAULT ROLE hr_manager;

范例:可以将角色设置为 NONE ,这表示没有角色

CONN john/brown

SET ROLE NONE;

范例:将角色设置为除 hr_manager 之外的任何角色

SET ROLE ALL EXCEPT hr_manager;

9. 撤销角色

REVOKE 语句可以用来撤销角色

REVOKE role_name FROM user_name;

10. 从角色中撤销特权

REVOKE 语句可以用来从角色中撤销某种特权

REVOKE ALL ON table_name FROM role_name;

11. 删除角色

DROP ROLE 语句可以用来删除角色

DROP ROLE role_name;

分享到:
评论

相关推荐

    oracle用户权限、角色管理详解

    Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    韩顺平oracle学习笔记

    oracle用户管理; oracle表管理 Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus...

    oracle 10g问题总结

     查看当前用户的角色  select * from user_role_privs  查看当前用户的系统权限和表级权限  select * from user_sys_privs  select * from user_tab_privs  查看用户下所有的表  select * from user_...

    最全的oracle常用命令大全.txt

    要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect internal SVRMGR&gt;startup SVRMGR&gt;quit b、关闭ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect...

    Oracle数据字典表查询

    Oracle数据字典表查询 用户 角色 表空间权限 用户特权 序列号 索引 视图 存储过程 约束条件

    phpPrivilegeOrg:为多个组织创建组织、特权和角色。 为组织中的组织和用户分配权限和角色。 身份验证基于 Tank Auth

    它的目标是为您编程特权、角色和组织,因此您无需再次重做或进行细微修改即可满足您的需求。 身份验证基于 Tank Auth。服务器要求建议使用 PHP 5.4 或更高版本。 它也应该适用于 5.2.4,mysql,CodeIgniter 3 但...

    Oracle数据库的用户管理

    oracle安装会自动的生成sys用户和system用户  (1)sys用户是超级用户,具有高权限,具有sysdba角色,有create database的权限。该用户默认的密码是manager  (2)system用户是管理操作员,权限也很大,具有...

    SQLMap完成安全测试

    支持枚举用户、密码哈希、特权、角色、数据库、表和列。 自动识别密码哈希格式,支持基于字典的攻击破解。 支持完整转储数据库表,根据用户的选择转储一定范围内的条目或特定列。用户还可以选择只从每列中转储指定...

    orcale常用命令

    要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;sqlplus SQL&gt;connect internal SQL&gt;startup SQL&gt;quit b、关闭ORACLE系统 oracle&gt;sqlplus SQL&gt;connect internal ...

    SocialNW:EJBJPAJSFPrimefaces

    角色(管理员/用户)特权。 搜索用户。 能够更改用户设置。 可以添加/删除朋友。 能够在您自己和其他用户页面(图像,音频)上添加/删除消息。 能够添加/删除消息注释。 画廊与您的图片。 密码加密SHA-256。 在...

Global site tag (gtag.js) - Google Analytics