第十七章用户、权限和角色课堂笔记和练习

– 用户

– 用户是数据库的使用者。
– 用户一般是由DBA来创建和维护的,创建用户后,用户不可以执行任何Oracle操作(包括建立会话),
– 只有赋予用户相关的权限,用户才能执行权限允许范围内的操作。

--  sys管理员 创建用户
    create user user1 identified by admin;

--  sys授权 create session 登录权限
    grant create session to user1;

--  sys授权 create table 创表权限
    grant create table to user1;

--  sys授权 create view 创视图权限
    grant create view to user1;

--  sys授权 create synonym 创同义词权限
    grant create synonym to user1;

--  修改用户密码: 用户自身可以修改自身的密码,其他用户要用sys管理员修改
    alter user user1 identified by admin;

--  用户状态 :锁定、解锁,密码过期
    alter user user1 account lock;--锁定
    alter user user1 account unlock;--解锁
    alter user user1 password expire;--使密码过期

--  删除用户:无法删除正在连接中的用户
    drop user user1 cascade;--级联删除用户及用户下所有的对象信息

– 权限:系统权限,对象权限

create user user1 identified by admin;
create user user2 identified by admin;
drop user user2;

– 系统权限

--  系统授权
    --  with admin option :允许user1将create session 的权限授予其他用户
    grant create session to user1 with admin option;

--  回收系统权限
    --  revoke  from :回收用户权限
    --  不影响其授予别人的权限,即不会级联回收
    revoke create session from user1;

– 对象权限

  --  对象授权
      --with grant option: 允许user2将在emp的select权限授予其他用户
      1.scott用户将表emp的查询权限授予用户user2
      grant select on emp to user2 with grant option;  -- 单个授权
      grant update,delete,insert on emp to user2; --批量授权

      --user2授权给user3
      grant select on scott.emp to user3 with grant option;

  --  回收对象权限:级联回收,将user2,以及user3的select权限全部收回
      revoke select on emp from user2;

– 角色:权限的集合

  --  创建角色
      create role comm_role;

  --  给角色授权
      grant create session,create table,create view to comm_role;

  --  创建用户,并给用户授予角色
      create user user4 identified by 123456;
      grant comm_role to user4;

  --  user4登陆之后,可查看对应的权限列表
      select * from session_privs;

  --  回收用户的角色
      revoke comm_role from user4;

  --  从角色回收权限
      revoke create table from comm_role;

  --  删除角色
      drop role comm_role;

– 预定义角色:DBA 、connect 、 resource

  select * from dba_sys_privs where grantee ='DBA';--查看DBA角色权限
  select * from dba_sys_privs where grantee ='CONNECT';--查看DBA角色权限
  select * from dba_sys_privs where grantee ='RESOURCE';--查看DBA角色权限

  create user user5 identified by 123456;
  grant connect,resource to user5;

– public : 将create session登陆权限公开化

   grant create session to public;

猜你喜欢

转载自blog.csdn.net/bb_code_exchange/article/details/81368712
今日推荐