oracle数据库如何创建用户和角色,并给其赋权?
一、创建用户并赋予权限
1、创建用户
create user wangxiangyu identified by wangxiangyu;
2、赋权
grant dba to wangxiangyu;
grant create session to wangxiangyu; --会话权限(没有该权限无法登录)
3、查看已经赋予用户的系统权限
select * from user_sys_privs;
二、创建角色
角色,即权限的集合,可以把一个角色授予给用户
1、创建角色
create role myrole;
2、赋权
grant create session to myrole;--将创建session的权限授予给角色myrole
3、赋角色给用户
grant myrole to zhangsan;--授予zhangsan用户myrole的角色
4、删除角色
drop role myrole;
查看所有用户
select * from dba_users;
select * from all_users;
select * from user_users;
alter user user_name account lock; 锁住用户
alter user user_name account unlock; 解锁用户
查询当前用户所拥有的权限
select * from session_privs;
查看用户被赋予的系统权限(直接赋值给用户或角色的系统权限)
select * from dba_sys_privs where grantee = 'RESOURCE';
select * from user_sys_privs;
注:USER_SYS_PRIVS 视图列出已经授予用户的系统权限。
它的列包括Username、Privilege和 Admin_Option(设置为YES 或NO 的一个标志,用来指出是否用with admin option 授予权限),直接授予用户的所有系统权限都可以通过该视图显示,通过角色授予用户的系统权限不能在此视图中显示。
查看所有角色
select * from dba_roles;
查看用户所拥有的角色
select * from session_roles order by role;--返回当前用户被授予的全部角色, 包括嵌套授权的角色
select * from dba_role_privs;
select * from user_role_privs;
查看当前用户角色所包含的权限
select * from role_sys_privs where role = 'CONNECT';
查看用户对象权限
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from v$pwfile_users;
查看用户与默认表空间的关系
select username, default_tablespace from dba_users where username='SCOTT';
查看当前用户的表
select * from user_tables;
可视化赋权:
1、使用ins用户建表
2、使用mobapp用户(管理员)将ins用户的某个表赋权给odso用户
users——>ins,选中要赋权的表赋权(右键,编辑,权限)
等同于:grant select, insert, update, delete on ins.tb_cablecheck_equ_odso to odso;
3、使用odso用户登录,增删改查该表测试
命令赋权:
赋予权限:grant ... to ...
撤销权限:revoke ... from ...
登陆
grant create session to zhangsan;
使用表空间
grant unlimited tablespace to zhangsan;
创建表
grant create table to zhangsan;
删除表
grant drop table to zhangsan;
grant drop on table_name to user_name;
插入表
grant insert table to zhangsan;
grant insert on table_name to user_name;
grant insert(id) on table_name to user_name;
更新表数据
grant update table to zhangsan;
grant update on table_name to user_name;
grant update(id) on table_name to user_name;
修改表结构
grant alter table on table_name to user_name;
查询表
grant select on table_name to user_name;
创建过程
grant create any procedure to username;
执行过程
grant execute any procedure to username;
grant execute on ins.p_trun_link_odso to odso_insert;
授予所有权限(all)给所有用户(public)
grant all to public;
权限传递
即用户A将权限授予B,B可以将操作的权限再授予C,
命令如下:
grant alter table on table_name to user_name with admin option;
grant update on table_name to user_name with grant option; --转移更新权限
grant alter table on table_name to user_name with grant option;
oracle数据库如何创建用户和角色,并给其赋权?的更多相关文章
- oracle数据库如何创建用户并授予角色
目标:1. 创建角色test1_role, 授予 CREATE PROCEDURE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE T ...
- Oracle数据库之创建表空间与用户
Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...
- Oracle数据库如何创建DATABASE LINK?
Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客 http://blog.csdn.net/taowei20061 ...
- Spring-Security (学习记录三)--读取数据库中的用户和角色
目录 1.先将hibernate的环境整合进来 2.创建一个数据库security,执行security.sql 3.修改spring-security.xml,采用数据库的方式读取用户跟角色 4.u ...
- Oracle数据库之创建表结构
Oracle数据库之创建表结构 主键与外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键. 外键:关系型数 ...
- Oracle创建用户、角色、授权、建表
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
- [转载]Oracle创建用户、角色、授权、建表
出处:https://www.cnblogs.com/roger112/p/7685307.html oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system p ...
- oracle创建用户和角色、管理授权以及表空间操作
show user 显示当前用户connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份 Oracle登录身份有三种: norma ...
- Oracle创建用户、角色、授权、建表空间
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
随机推荐
- 0302-对IT行业的感思
在参考并分析了2014行业排名和IT行业的就业分析后,给我的第一体会就是:如今的IT行业,是一个机会与挑战并存的行业. 先说机会. 从行业排行相关资料不难看出,现在是一个信息与大数据引领一切的时代,电 ...
- 对常用软件的评价(TGP腾讯游戏平台)
1,首先说下界面,这款软件的界面有些类似于QQ的界面,登录方式和QQ的方式是一样的,可以简单的说是一款给游戏用的QQ,就是里面的用户变成了游戏 2,功能,简单的说就是将你常玩的游戏放于这游戏平台的表面 ...
- 使用Arduino驱动基于ST7533芯片的TFT屏
在合宙通信买了一个1.8寸的TFT屏,驱动芯片是ST7533,本来打算使用Air800直接驱动,但由于其他原因,放弃了.于是尝试使用arduino驱动,为了屏幕刷新速度更快,采用硬件SPI. 硬件连接 ...
- week4
History:Commercialization and Growth course Explosive Growth of the Internet and Web The Year of the ...
- this 指向问题
你不懂JS: this 与对象原型 第二章: this豁然开朗! 在第一章中,我们摒弃了种种对this的误解,并且学习了this是一个完全根据调用点(函数是如何被调用的)而为每次函数调用建立的绑定. ...
- robotframework 赋予临时id
有的时候用rf执行ui自动化测试脚本的时候,一直提示找不到元素 (前提是没有id) 那么这个时候 我们可以随便赋予一个临时id Assign Id To Element xpath=//*[ ...
- P3114 [USACO15JAN]踩踏Stampede
题目链接 我一开始看错题了,看成每秒走\(c_i\)个单位了,于是样例答案就变成了3..害我调好久,还以为样例错了 对于每头奶牛,我们求出它经过\(y\)轴的时间段,然后离散化一下,将奶牛按照从低到高 ...
- Sum 南京网络赛J题
题意: 统计每个数的因子的对数,如果因子能被某个平方数整除,则不统计在内,每对因子有序 解析: 我们对某个数n进行质因子分解,如果某个质因子的指数大于2则 f(n) = 0, 例 N = X3 * M ...
- 【刷题】BZOJ 4391 [Usaco2015 dec]High Card Low Card
Description Bessie the cow is a huge fan of card games, which is quite surprising, given her lack of ...
- 动态dp 板子
动态dp 瞎扯两句吧 先从序列上理解,维护链的最大独立集. 考虑是从左边转移的,那么矩阵的转移唯一,直接放在线段树上就可以了. 放在树上的话,儿子都可以转移,把轻儿子的转移放在子链链头更新,然后每条链 ...