Oracle操作管理之用户和角色
1.用户管理
(1)建立用户(数据库验证) CREATE USER smith IDENTIFIED BY smith_pwd DEFAULTTABLESPACE users TEMPORARY TABLESPACE temp QUOTA 5m ON users;
(2)修改用户ALTER USER smith QUOTA 0 ON SYSTEM;
(3)删除用户DROP USER smith; DROP USER smith CASCADE;
(4)显示用户信息
DBA_USERS
DBA_TS_QUOTAS
2.系统权限
系统权限 |
作用 |
CREATE SESSION |
连接到数据库 |
CREATE TABLE |
建表 |
CREATE TABLESPACE |
建立表空间 |
CREATE VIEW |
建立视图 |
CREATE SEQUENCE |
建立序列 |
CREATE USER |
建立用户 |
系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。(新建用户没有任何权限)
(1)授予系统权限
GRANT CREATE SESSION,CREATE TABLE TO smith; GRANT CREATE SESSION TO smith WITH ADMIN OPTION;
选项:ADMIN OPTION 使该用户具有转授系统权限的权限。
(2)显示系统权限
查看所有系统权限:
system_privilege_map
显示用户所具有的系统权限:
dba_sys_privis
显示当前用户所具有的系统权限:
user_sys_privis
显示当前会话所具有的系统权限:
session_privis
(3)收回系统权限
REVOKE CREATE TABLE FROM smith; REVOKE CREATE SESSION FROM smith;
3.角色:是一组相关权限的命名集合,使用角色最主要的目的是简化权限管理。
•预定义角色。
ØCONNECT 自动建立,包含以下权限:ALTER SESSION、CREATE CLUSTER、CREATE DATABASELINK、CREATE SEQUENCE、CREATE SESSION、CREATE SYNONYM、CREATE TABLE、CREATE VIEW 。
RESOURCE 自动建立,包含以下权限:CREATE CLUSTER、CREATE PROCEDURE、CREATESEQUENCE、CREATE TABLE、CREATE TRIGGR 。
Ø显示角色信息,
§ROLE_SYS_PRIVS
§ROLE_TAB_PRIVS
§ROLE_ROLE_PRIVS
§SESSION_ROLES
§USER_ROLE_PRIVS
§DBA_ROLES
4.Oracle用户角色
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
create user user01 identified by u01;
该命令还可以用来设置其他权限,详细情况参见自学资料。要改变一个口令,可以使用alter user命令:
alter user user01 identified by usr01;
当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示:
如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字CASCADE,可删除用户所有的对象,然后再删除用户。下面的例子用来删除用户与其对象:
Qracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECT、RESOURCE和DBA。
DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。
grant connect, resource to user01;
revoke connect, resource from user01;
撤消一个用户的所有权限,并不意味着从Oracle中删除了这个用户,也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。其他要访问这些表的用户可以象以前那样地访问这些表。
一旦创建了一个role,用户就可以给他授权。给role授权的grant命令的语法与对对用户的语法相同。在给role授权时,在grant命令的to子句中要使用role的名称,如下所示:
grant select on CLASS to STUDENT;
现在,拥有STUDENT角色的所有用户都具有对CLASS表的select权限。
Oracle角色、权限的一些常用视图http://space.itpub.net/12778571/viewspace-504123
ORACLE中数据字典视图分为3大类, 用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。
USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
(这里的*可以为TABLES, INDEXES, OBJECTS, USERS等)。
比如:只知道scott用户的密码,需要查看一下scott的一些信息
1、查scott用户的创建时间、用户状态、使用的默认表空间、临时表空间等信息
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
注:“ADM”表示这个用户是否可以把该具有的角色赋予给其他的用户
另:没有all_role_privs这个视图
另:select * from dba_role_privs(所有数据库用户具有哪些角色,这个视图只有dba角色的权限才可以查询)
SQL> select * from session_privs;
SQL>select * from user_sys_privs;
另:没有all_sys_privs视图
另:select * from dba_sys_privs;(所有数据库用户、角色所用于的系统权限)
5、查看scott用户中,都哪些用户把对象授予给scott用户呢(读取其他用户对象的权限)
SQL>select * from user_tab_privs;
另:select * from all_tab_privs; select * from dba_tab_privs; 有空再琢磨琢磨
6、查看scott用户中拥有的resource角色都具有什么权限呢
SQL> select * from role_sys_privs where role='RESOURCE';
------------------------------ ---------------------------------------- ---
SQL>select * from user_tables;
另:select * from all_tables; 其他用户所拥有的表
另:select * from dba_tables;数据库中所有用户的表
8、查看scott用户已经使用多大的空间,允许使用的最大空间是多少
SQL> select tablespace_name,bytes,max_bytes from user_ts_quotas;
另:select * from dba_ts_quotas;(所有的数据库用户在每个表空间已使用的空间,最大空间)
SQL>grant select on emp to mzl;
SQL>select * from user_tab_privs_made
SQL>grant update(job) on emp to mzl;
注:查看数据库中所有的角色select * form. dba_roles;
转载于:https://www.cnblogs.com/fyq891014/p/3294738.html
Oracle操作管理之用户和角色相关推荐
- Oracle基本安全之用户、角色和权限操作
学习Oracle离不开用户.角色和权限这三个概念,下面首先解释一下这三个概念: 用户:对数据库的访问需要以适当的身份通过验证,这就是用户的作用:每个Oracle用户都有自己的用户名和密码,并且拥有他们 ...
- oracle 对象管理 01_用户及权限
2019独角兽企业重金招聘Python工程师标准>>> 一.用户管理 1.创建用户(可带用户的profile文件,对用户的约束信息) CREATE USER username ...
- oracle 将包赋权给用户,oracle数据库如何创建用户和角色,并给其赋权?
一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...
- oracle查看角色内容,oracle创建,查看用户和角色,用户角色赋权
一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...
- oracle 授权访问条空间,oracle创建用户和角色、管理授权以及表空间操作
show user 显示当前用户 connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份 Oracle登录身份有三种: norm ...
- bartender的安全策略不允许指定的用户执行此操作_MongoDB用户和角色解释系列(上)...
1.介绍 本文讨论保护MongoDB数据库所需的访问控制.具体来说,我们可以使用这些特性来确保只有经过授权的用户才能访问数据库.每个MongoDB用户应该只能访问他们在组织中所扮演的角色所需要的数据, ...
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
本文转自:https://www.cnblogs.com/bjh1117/p/6605037.html, 侵删. 前提:本机已经安装了Oracle11g数据库 需求:使用PL SQL数据库连接工具操作 ...
- oracle中角色和用户权限,Oracle用户、角色、权限管理
用户在会话的权利上,应该有其他操作的权利:Oracle的用户和口令不区分大小写,真是让人大跌眼镜:Oralce中,所有用户必须明确被 create or replace type address as ...
- Oracle数据库用户管理之二---权限授权去权(用户和角色)
Oracle数据库用户管理之二---权限授权去权(用户和角色) 书接上回,https://blog.csdn.net/alwaysbefine/ ...
最新文章
- idea查看类和方法的结构图
- 在Eclipse中使用Git
- 纹理窗口Qt+OpenGL之纹理贴图
- 搞笑创意海报灵感|终于知道设计该怎么做了!
- java 重定向到某个页面并弹出消息_前端面试100问之浏览器从输入URL到页面展示发生了什么...
- 气泡shader_仿蚂蚁森林气泡
- 【工作日志】2013-02-01
- 逆变H桥IGBT单管驱动+保护
- SVN版本控制介绍与使用(超详细版)
- 家庭网络访问另一台计算机没权限,访问局域网电脑提示没有权限怎么办
- fb2 android,FBReader PDF plugin app
- wamp5 开启 ssl
- 2009年最新虚拟主机提供商排名榜
- viewpage无限轮播
- 我的spfa (= =)!
- vue展示日历 考勤展示_vue实现日历组件
- 国外工业互联网安全现状分析(政策;标准;厂商;产品)
- H5创建一个简单的自动幻灯片
- 西游记中孙悟空的家业历史
- Dagger2是什么鬼
热门文章
- Java基础:String类支持几种构造函数?
- maven之打包插件(maven-assembly-plugin,maven-shade-plugin与maven-assembly-plugin)
- Ratingbar UseGuide
- LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
- 103.二叉树的锯齿形层次遍历:DFS解法
- 手动处理MNIST手写数据集的逻辑斯蒂回归算法实践
- MFCC里面的log energy和matlab实现
- Tensor的填充与复制
- linux 停止正在执行的shell 程序
- C语言程序设计:现代方法 中文高清PDF版下载