一:用户、角色和权限的关系:
权限就是你都能干些什么事情;
角色就是一些权限的集合,当你被赋予了某个角色,那么你就具备该角色的所有权限;
用户就是你,你也是可以被单独赋予某些权限;
能赋予你权限的就是system或sys。
当用DBCA创建实例时,Oracle会创建几个默认用户
sys ------------------超级管理员用户,拥有至高无上的权利;SYS用户主要用来维护系统信息和管理实例。
system -------------是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库 用户、权限和存储等
scott-----------------scott是oracle的一个示范用户,一般也用户测试使用
二:用户管理
创建用户([]括号是可选字段)
CREATE USER username
INDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablesapce_name]
修改用户密码
ALTER USER username IDENTIFIED BY password
删除用户
DROP USER username CASCADE
profile 概要文件
概要文件记录着一些登录权限控制。比如:用户登录多少次失败后,就锁定该用户,锁定多久都可以从概要文件中显示。
概要文件可以从OEM中很直观的查看到。查看路径:EM------>服务器--------->概要文件
使用方式:
先创建个用户
create user username identified by password
创建profile文件
create profile profile_name limit failed_login_attempts 2 passwd_lock_time 2; 用户登录失败两次后,锁定用户,锁定 时间为2天
将profile_name的文件应用到test1上
alter user test1 profile profile_name;
三:权限管理
授予用户权限,可以是系统权限或者对象权限。
GRANT privilege [,privilege…]
TO user [, user|role, PUBLIC…]
[WITH ADMIN OPTION];
收回系统权限REVOKE
例:REVOKE create session FROM test1;
当创建完成test1用户后,该用户是不能干任何事情的,甚至无法登录,因为它没有创建会话的权限,下面为用户赋予权限
grant create seeion to test1;
grant create table to test1;
grant unlimited tablespace to test1;
grant create any table to test1;
查看用户都具备哪些权限
select * from dba_sys_privs d where d.grantee='test1';
四:角色管理
用一个
创建一个角色
CREATE ROLE role_name;
授予权限
grant create session ,create any table, drop any table to role1;
将角色授予用户
GRANT role TO user;
收回角色
REVOKE role FROM user;