(1) oracle创建用户的sql语句(这里又跟mysql好像):
create user xxmm identified by m123; --注意,by后面的密码必须以字母开头,
--执行权限:sys/system可以创建用户
(2) 给指定用户修改密码:
A.修改自己的密码:passw 回车(或全写password 然后回车,按提示输入)
B.修改他人密码:(要有sysdba角色或alter user 的系统权限)alter user 用户名 identified by 新密码
(3) 删除指定用户:(权限要求同修改他人密码):
A.不能自己删除自己,即scott登录不能删除scott。
B.drop user scoot;C.如果要删除的用户已经创建了一些表,则删除命名要带参数(实现级联删除相关表)drop user 用户名 cascade;
A.grant connect to 用户名
(注意:connect不是权限,而是权限集合——角色,是第一类授权:系统权限。)
(3个基本的系统角色: dba connect(登录) resource(定义操作表,用户可以建表和增删改查) dba里的权限包含了后2个角色里的权限)
(另一类授权是数据对象权限:对表/视图的操作定义权限等)
B.对象权限(select+update+insert+delete=all create index)
是授予权限,不是授予角色:用户A要查看用户B创建的表T1(给A授权):grant select on T1 to A;
--(sys/system/B 可以授予A)
--对T1表的所有操作权限:grant all on T1 to A;
**注意,这种授权,查询时:select * from B.T1; --这里B表示“方案”
****方案是什么概念??***
select * from T1;是查不到数据的,因为oracle会去当前用户对应的方案‘A’中找T1。******C.思考:能不能把A的所有表的“select”权限给B? A的所有对象呢?(表/视图等)********
**注意:用B用户授权就用B 登录oracle然后收权,如果是用system授权则要用system登录后操作。
(6) 权限维护:
权限传递(A得到了select B.T1,A还要把这个权限传给C):
A.如果是对象权限:grant select on T1 to A with grant option;
--这样,A接收到权限select B.T1后还可以向C授权(grant select on B.T1 to C;这里没有B会提示找不到T1。)
**思考:如果system收回A的resource后,C还有resource权限角色吗?(试题)
**答:C的resource权限角色也被回收!!
(7) profile 用户属性
A.用户A 尝试登录失败m次,则锁定 n天,权限用户:sys/system,默认:m=10
[这个功能有点像xp中安全设置---账户策略----密码策略里的‘策略’]
(step_1) create profile pro_name limit failed_login_attempts 3 password_lock_time 2;
--登录失败3次则锁定2天。m,n>=1
--pro_name 3 2 自定义,其他单词都是固定格式
--锁定后,正确帐号密码登录,提示:the account is locked
(step_2) alter user A profile pro_name;--把pro_name加到A用户上。
B.解锁 alter user A account unlock;
C.可以查看dba_profiles视图来查看用户的默认属性
D.profile 的类型:
(a)登录锁定:create profile ** limit failed_login_attempts ** password_lock_time **
(b) 设置用户只能建立一个
create profile product_profile limit SESSIONS_PER_USER 1
alter user product profile product_profile
alter system set resource_limit=true
(c)要求用户每隔10天修改自己的 登录密码,宽限期为2天:
create profile pro_name2 limit password_life_time 10 password_grace_time 2;
alter user A profile pro_name2;--第10天提示,第12天锁定
(d)修改密码时不能使用旧密码:
create profile pro_name3 limit password_life_time 10 password_grace_time 2
password_reuse_100;--100天内,用过的密码不能设置成新密码
alter user A profile pro_name3;
E.删除profile
drop profile pro_name3;
drop profile pro_name3 cascade;--级联删除和pro_name3相关的设置
(结束)