DCL:grant revoke
1、创建用户
create user 用户名 identified by 密码;
2、修改用户密码
alter user 用户名 identified by 密码;
3、删除用户
drop user 用户名;
4、用户上锁、解锁
alter user 用户名account unlock/lock
5、用户首次登陆时提示修改密码
alter user 用户名 password expire;设置密码过期
授权grant
grant 权限 to 用户名;
登录权限 create session
见表权限 create table
表空间 unlimited tablespace
收回权限revoke
revoke 权限 from 用户名
权限分类
系统权限 user_sys_privs
create table
create session
对象权限
user_tab_privs
select,insert,update,delete on 表名 (这里select insert update delete 可用all代替)
(这个是对 一个用户 对另一个用户的表进行操作时 授予的 对象权限 必须在 当前表存在的用户下进行授权)
权限传递的问题
系统权限级联传递 grant 权限 to 用户名 with admin option;
对象权限级联传递 grant 权限 to 用户名 with grant option;
创建角色
role
create role 名字
grant create session to role名称
把权限添加到role 里 但是 unlimited tablespace 不能添加到 role里
grant role to 用户名
授权给所有用户
grant create session to public 这里 public 就是所有 新建的夜包括
----------------------------------查看表权限 然后增加---------------------------------------------------------
SQL> conn system/sa
已连接。
SQL> create user chai identified by sa; //创建 chai用户
用户已创建。
SQL> grant create session to chai; //增加登陆权限
授权成功。
SQL> grant create table to chai; //增加创建表权限
授权成功。
SQL> grant unlimited tablespace to chai; //增加不限制空间
授权成功。
SQL> conn chai/sa //登陆新创建用户
已连接。
SQL> create table emp(id int,name varchar2(20));//创建表
表已创建。
SQL> desc emp;
-------------------------------------------------------------------------------------------------------------------
SQL
DDL:create alter drop
DML:insert update delete select
TCL:commit rollback savepoint
DCL:grant revoke
1 建立用户
create user 用户名 identified by 密码;
2修改用户密码
alter user 用户名 identified by 密码;
3删除用户
drop user 用户名;
4用户上锁/解锁
alter user 用户名 account lock|unlock;
5用户首次登录时提示用户修改密码
alter user 用户名 password expire;
授权grant
grant 权限 to 用户名;
收回revoke
revoke 权限 from 用户名;
需要建立用户、建立表、增删改查
权限
CREATE SESSION
CREATE TABLE
权限分类:
系统权限 user_sys_privs
create table
create session
对象权限 user_tab_privs
select on 表名
grant all on 表名 to 用户名;
all(包含增删改查权限)
权限传递的问题
系统权限级联传递 grant 权限 to 用户名 with admin option;
对象权限级联传递 grant 权限 to 用户名 with grant option;
练习:
权限级联传递
1 切换到system
2 创建user1
3 创建user2
4 授予user1 查看system.emp 表的权限 并且权限可以级联传递
5 授予user1 登陆会话的权限 并且权限可以级联传递
6 登陆到user1中
问题1 user1 是否可以登陆
7 执行select count(*) from system.emp
问题2 user1 是否可以查看
8将 会话权限授予user2
9将 select on system.emp 授予 user2
10 登陆到user2中
问题3 user2 是否可以登陆
11 执行select count(*) from system.emp
问题4 user2 是否可以查看
system----user1---user2
权限级联收回
12登陆到system用户中
收回用户1的select on system.emp 权限
13登陆到user1
问题5 执行select count(*) from system.emp 是否可以查看
14登陆到user2
问题6 执行select count(*) from system.emp 是否可以查看
15登陆到system
收回user1的会话权限
问题7 user1 是否可以登陆
问题8 user2是否可以登陆
100
system-role--user1----user11
--- user12
---user2----user21
----user22
权限的集合
角色:权限的集合
金牛财顺
UNLIMITED TABLESPACE