Oracle基础教程之Oracle 的用户管理
Oracle 的用户管理
==========================================================
创建一个用户名为linuxidc 密码为:88181的用户
creat user linuxidc identified by 88181
给用户修改密码:
sql>password 用户名
如果给别人修改密码则需要具有dba的权限,或者是拥有alter
user的系统权限
sql>alter user 用户名 identified by 新密码
删除用户
概述:一般以dba的身份去删除某一个用户,如果其他的用户去删除
用户则需要具有 drop user的权限
但是不能自己删除自己
比如:drop user 用户名【cascade】
在删除用户的时候注意:如果删除的这个用户已经创建了表,那么
就需要在删除的时候带一个参数 cascade;带着个参数就是说把这
个用户创建的表也一起删除。
==========================================================
授权:
给linuxidc 登录的权限
grant connect to linuxidc
给linuxidc查看scott的emp表的权限
grant select on emp表 to chenghuang
查询的时候:select * from scott.emp;
如果是对象权限
grant select on emp表 to chenghuang with grant option
如果是系统权限:
grant connect to chenghuang with admin option
收回权限
scott希望收回对chengchuang对emp的查询权限
revoke select on emp from linuxidc
==========================================================
Oracle 中的权限分为:系统权限和对象权限
系统权限:用户对数据库的相关权限
对象权限:用户对其它用户的数据对象的访问或者操作的权限
select
insert
update
delete
all
creat
注:数据对象不单单是指表,比如表,视图,函数等等。
==========================================================
角色:
角色分为:自定义角色和预定义角色
==========================================================
账户锁定:
概述: 指定该账户(用户)登陆时最多可以输入密码的次数,也
可以指定用户的锁定时间,一般是dba的身份来执行该命令的
例子:指定Scott这个用户最多只能尝试3次登陆锁定的时间为2
天,让我们看看我们怎么实现的
sql> creat profile lock_account limit
failed_login_attempts 3 password_lock_time 2;
sql>alter user tea profile lock_account;
给账户解锁
sql>alter user tea account unlock;
终止口令
为了让用户定期修改密码可以用终止口令的指令来完成,
例子: 给前面创建的用户tea 创建一个 profile 文件,要求该
用户每隔10天要修改自家的登陆密码,宽限期为 2 天 看看那怎么
做
sql> creat profile myprofile limit password_lift_time 10
password_grace_time 2;
sql> alter user linuxidc profile myprofile
口令的历史
概述:如果希望用户在修改密码时,不能使用以前用过的密码,可
以使用口令的历史,这样Oracle就会将口令的修改信息存放在数据
字典中,这样当用户修改密码时,Oracle就会对新旧的密码进行比
较,当发现新旧密码一样时,就会提示用户重新输入密码
例子:
1)建立 profile
sql> creat profile password-history limit
password_life_time 10 password_grace_time 2
password_reuse_time 10
password_reuse_time //指定口令可重用的时间即是10天后
2)分配给某个用户
sql> alter user linuxidc profile password-history
删除profile
概述: 当你不需要某个profile 文件时,可以删除该文件。
sql> drop profile password_history