Orcale_sqlplus 基本指令操作之权限管理

适合小白学习

用户(A)(B)
授权(grant)   撤销(revoke)

给用户赋予权限
create user A identified by 123456;       //创建用户A 密码123456
给用户授予权限
grant create session to A;
grant connect,resource to A;
 执行上面的sql语句后用户包括的权限:
    CONNECT角色: --是授予最终用户的典型权利,最基本的
        ALTER SESSION --修改会话
        CREATE CLUSTER --建立聚簇
        CREATE DATABASE LINK --建立数据库链接
        CREATE SEQUENCE --建立序列
        CREATE SESSION --建立会话
        CREATE SYNONYM --建立同义词
        CREATE VIEW --建立视图
    RESOURCE角色: --是授予开发人员的
        CREATE CLUSTER --建立聚簇
        CREATE PROCEDURE --建立过程
        CREATE SEQUENCE --建立序列
        CREATE TABLE --建表
        CREATE TRIGGER --建立触发器
        CREATE TYPE --建立类型

查看:
show user;                       //查看当前登录用户
select * from all_users;   //查看所有用户

创建:
create user A identified by 123456;       //创建用户A 密码123456

授权——系统权限: 
grant create session to A;              //授予A用户创建session的权限,即登陆权限 (必须授予,登录使用)
grant create table to A;                  //授予A用户创建表的权限
grant unlimited tablespace to A;    //授予A用户使用表空间的权限(想创建表,必须具有使用表空间权限)
grant drop any table to A;             //授予删除表的权限
grant insert any table to A;            //插入表的权限
grant update any table to A;          //修改表的权限
grant create view to A;                  //创建视图权限
grant create session public;             //把创建session的权限,授予所有的用户;
撤销权限(基本语法同grant,关键字为revoke):

查看:
我们使用A用户登录,查看它具有的系统权限;
select * from user_sys_privs;           //查看当前用户所有系统权限
select * from user_tab_privs;          //查看所用用户对表的权限

oracle中对象是彼此分开的,默认情况下,不能相互访问数据,但是可以通过授予对象权限的方式,让不同用户之间的相互访问;
我们使用A用户创建的表Atable ,然后在没有给B授权的情况下,让B查询Atable;(没有权限)
select * from A.Atable;        //提示出现错误
我们让A用户把权限授予B用户,同时也可以撤销授予其他用户的权限,授予的权限还可以具体到表的某一列上;
grant select on Atable to B;          //授权(查询)权限,select可替换为insert/update/insert<id>即(插入/修改/插入id)权限
revoke insert on Atable to B;         //撤销插入权限,同上

我们可以查看对象所具备的权限;(以B为例)
set linesize 300;
select * from user_tab_privs;

权限传递:
在默认情况下,权限之间是不可以相互传递的;但是当我们加上admin option 之后就能进行传递;
grant alter any table to A with admin option;          //系统用户操作授权
A也具备授予B,alert any table的权限;
grant alter any table to B;         //A授权给B

角色:
角色即权限的集合,可以把一个角色授予给用户
create role myrole;                       //创建角色
grant create session to myrole;    //将创建session的权限授予myrole
grant myrole to A;                        //授予A用户myrole的角色
drop role myrole;                         //删除角色
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值