一、创建用户并赋予权限

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数据库如何创建用户和角色,并给其赋权?的更多相关文章

  1. oracle数据库如何创建用户并授予角色

    目标:1.  创建角色test1_role,  授予 CREATE PROCEDURE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE T ...

  2. Oracle数据库之创建表空间与用户

    Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...

  3. Oracle数据库如何创建DATABASE LINK?

    Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客  http://blog.csdn.net/taowei20061 ...

  4. Spring-Security (学习记录三)--读取数据库中的用户和角色

    目录 1.先将hibernate的环境整合进来 2.创建一个数据库security,执行security.sql 3.修改spring-security.xml,采用数据库的方式读取用户跟角色 4.u ...

  5. Oracle数据库之创建表结构

    Oracle数据库之创建表结构 主键与外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键. 外键:关系型数 ...

  6. Oracle创建用户、角色、授权、建表

    oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

  7. [转载]Oracle创建用户、角色、授权、建表

    出处:https://www.cnblogs.com/roger112/p/7685307.html oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system p ...

  8. oracle创建用户和角色、管理授权以及表空间操作

    show user 显示当前用户connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份 Oracle登录身份有三种: norma ...

  9. Oracle创建用户、角色、授权、建表空间

    oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

随机推荐

  1. 个人作业3——个人总结AlPha阶段

    一.Alpha版本的总结 1.感受 Alpha版本已经结束了,回顾整个过程,我最大的遗憾就是项目完成得不是很理想,同时觉得自己做得不够多.不够好. 2.我做了哪些工作 数据库的连接,部分团队博客:部分 ...

  2. PAT 甲级 1106 Lowest Price in Supply Chain

    https://pintia.cn/problem-sets/994805342720868352/problems/994805362341822464 A supply chain is a ne ...

  3. UML实践详细经典教程

    面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...

  4. Ubuntu 14.04 将一个sh文件制作成类似于windows下的可以双击执行的快捷方式

    # 创建文件 touch test.desktop # 在test.desktop中写入如下内容 [Desktop Entry] Version=1.0 Type=Application Termin ...

  5. Java之流的分类

    Java I/O流分类:

  6. 【设计模式】—— 外观模式Facade

    前言:[模式总览]——————————by xingoo 模式意图 外观模式主要是为了为一组接口提供一个一致的界面.从而使得复杂的子系统与用户端分离解耦. 有点类似家庭常用的一键开关,只要按一个键,台 ...

  7. Luogu4768 NOI2018归程(最短路径+kruskal重构树)

    按海拔从大到小合并建出kruskal重构树,这样就能知道开车能到达哪些点,对这些点到1的最短路取min即可.最难的部分在于多组数据的初始化和数组大小的设置. #include<iostream& ...

  8. 洛谷P3227 切糕

    最小割模板. 题意:你要在一个三维点阵的每个竖条中删去一个点,使得删去的点权和最小. 且相邻(四联通)的两竖条之间删的点的z坐标之差的绝对值不超过D. 解: 首先把这些都串起来,点边转化,就变成最小割 ...

  9. Python 堆与堆排序

    堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法.学习堆排序前,先讲解下什么是数据结构中的二叉堆. 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树. 二叉堆满足 ...

  10. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...