• oracle权限管理(笔记)


     

    登陆:

           普通用户登陆用户名/密码 例如: chai/chailiu

           管理员登陆:     用户名/密码 as sysdba

    设置显示宽度:

           Set linesize 800;

    ******************************************************************************

    创建表空间:

    Create tablespace mytablespace      --表空间名

    datafile ‘c:/oracle/mytablespace.dbf’  --指定存放路径

    size 10m                                           –指定表空间大小

    autoextend on;                                 --自动增长 

    删除表空间(前提是表空间中无数据):

           drop tablespace mytablespace

    创建用户并指定表空间:

    Create user zhangsan            –创建用户

    Identified by  123                --指定密码

    Default tablespace mytablespace  --指定表空间

    Temporary tablespace temp      --指定临时表空间

    ******************************************************************************

    为角色赋予权限(管理员身份[sys])关键字(grant):

    第一套(grant 权限 to 用户):

           --授予用户zhangsan取得session的权限

                  Grant create session to zhangsan  

           --授予用户zhangsan创建表的权限,如果用户想要创建表必须取得此权限

    Grant create table to zhangsan 

    --授予用户ulimited tablespace权限:一个用户要想创建表,只拥有create table权限是不够的,还必须拥有使用表空间的权限

                  Grant unlimited tablespace to zhangsan

    第二套):

           --授予用户lisi取得连接的权限,拥有此权限就可以连接到数据库了

                  Grant connect to lisi

          --授予用户lisi获得资源的权限,用户拥有此权限就可以使用表空间并且可以创建表

                  Grant resource to lisi

    角色权限收回,关键字(revoke)( (revoke 权限 from 用户):

           --撤销用户zhangsan创建表的权限

                  Revoke create table from zhangsan

           --撤销用户zhangsan取得session的权限

                  Revoke create session from zhangsan

    级联删除,关键字(cascade):

           Drop user zhangsan cascade

          当对一个用户进行删除操作时,如果该用户使用了表空间,则不能直接删除,需要先删除当前用户所创建的所有表,然后才能删除当前用户;

     

    用户间权限授予:

                  --查询[其他用户][当前表字段]的操作权限

    用户zhangsan创建tb_student

                  create table tb_student(

    stu_id int primary key,

    stu_name varchar(20)

    );

     

    用户lisi创建tb_user

    create table tb_user(

    user_id int primary key,

    user_name varchar(20)

    );

    授权操作(grant CRUD操作 on 表名 to 用户名)

    撤销权限操作(revoke CRUD操作 on 表名 from 用户名)

           --用户zhangsan授予用户lisi插入值的权限

                  Grant insert on tb_student to lisi;--对应操作àinsert into zhangsan.tb_student values(…);

           --用户zhangsan授予用户lisi查询表的权限

                  Grant select on tb_student to lisi;--对应操作àselect * from zhangsan.tb_student;

    --用户zhangsan授予用户lisi 删除表内容的权限

           Grant delete on tb_student to lisi;--对应操作àdelete from zhangsan.tb_student where stu_id=?

    --用户zhangsan授予用户lisi修改表内容的权限

           Grant update on tb_student to lisi;-对应操作àupdater zhangsan.tb_student set stu_name=? where stu_id=?

     

    权限的传递(系统权限)

    Grant create session to 用户 with admin option:

    权限的传递(用户权限)

    Grant create session to 用户 with grant option;

    当管理员授予给一个用户某个权限(执行如上语句),那么被授权的用户可以将此权限再传递给另一个用户(也可以使用如上语句进行无限往下传递)

     

    角色的创建以及角色对用户的赋予:

           创建一个角色:

                         Create role manager ---创建一个经理角色

                  为角色赋予权限:

                         Grant connect to manger

                         Grant resource to manger

           创建一个用户

                         Create user chailiu   --创建用户

    identified by chailiu     --指定密码

    default tablespace mytablespace; --分配表空间

           将角色授予用户

                         Grant manger to chailiu

     

    表的复制(备份表,tb_user为模板创建一张同样的表)

    Create table tb_user2 as select * from tb_user;

     

    用户的锁定和解锁

    Alter user 用户名 account lock;

    Alter user 用户名 account unlock;

  • 相关阅读:
    自动映射失效的解决办法
    D方法 自动完成
    怎样处理包含的动态模板
    后台登陆功能的实现 SESSION
    输入框 最简单的样式
    php 添加数据库的几种方法
    php 连接数据库
    array、isset、三元运算符、find()
    foreach、count、explode(对无限级分类的语法注释-显示无限级效果)
    两种常用的启动和关闭MySQL服务
  • 原文地址:https://www.cnblogs.com/jggz/p/2958761.html
Copyright © 2020-2023  润新知