一、用户管理与应用
1、查看用户与模式
SELECT * FROM DBA_USERS
2、创建用户
create user s10086 identified by s10086;
SELECT * FROM DBA_USERS
WHERE username = 'S10086';
3、给予新用户基本权限 create session , create any table
GRANT CREATE SESSION TO s10086;
GRANT CREATE ANY TABLE TO s10086;
4、调整用户的密码、锁定状态、配额等
-- 修改密码
ALTER USER s10086 IDENTIFIED BY s1008611;
-- 锁定
ALTER USER s10086 ACCOUNT LOCK;
-- 解锁
ALTER USER s10086 ACCOUNT UNLOCK;
-- 修改用户表空间配额
ALTER USER s10086 QUOTA 500M ON users;
5、删除用户!!
DROP USER s10086 cascade
cascade:同时删除该用户所有的数据库对象
二、权限管理与应用
1、授予或回收系统权限
使用GRANT命令授予系统权限
使用REVOKE命令回收系统权限
-- 授予用户创建表的权限
GRANT CREATE TABLE TO s10086;
-- 回收用户创建任意表的权限
REVOKE CREATE ANY TABLE FROM s10086;
2、授予或回收对象权限
创建一个tmp表用于测试
CREATE TABLE tmp (
name VARCHAR(50),
id NUMBER
);
给用户s10086查询权限
GRANT SELECT ON tmp TO s10086;
可以看到可以查询成功
收回给用户s10086查询权限
REVOKE SELECT ON tmp FROM s10086;
可以看到可以查询失败
3、转交管理权限或收回管理权限(权限传递)
授予用户对表tmp的SELECT权限,并允许其授予该权限给其他用户
GRANT SELECT ON tmp TO s10086 WITH GRANT OPTION;
收回用户对表tmp的SELECT权限
REVOKE SELECT ON tmp FROM s10086;
三、角色管理与应用
role 一系列权限的命名集合,目的是简化权限管理的复杂性
1、创建角色
CREATE ROLE role1;
2、将各类权限放入角色
将创建会话和创建表的权限赋给角色role1
GRANT CREATE SESSION TO role1;
GRANT CREATE TABLE TO role1;
3、将角色授予用户‘s10086’
GRANT role1 TO s10086;