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; |