1:创建用户
create user username identified by password;
注意:密码开头要字母
2:修改密码
自己:password
别人:password username (系统管理员才能改别人)
3:删除用户
drop user username [cascade]
DBA权限去删除
注意:如果要删除的用户已经创建了表,在删除的时候带一个参数 cascade;(把他的表也删除)
4:授予权限
grant connect(一个角色) to username
grant select(all) on table to username 授予表权限
收回权限:
revoke select(all) on test from username
维护权限:
希望给一个用户的权限,用户可以再给别人
Eage:
--如果是对象权限就加入with grant option
grant select on tablename to username with grant option
--如果是系统权限
grant connect(系统权限) to username with admin option
?:如果sys把caozq权限回收了,caozq授权的下面用户还会有权限么?
株连九族!!
5:权限
系统权限:用户对数据库的相关权限
creste session 权限(有这个权限才能登陆数据库)
对象权限:用户对其他用户的数据对象操作权限
6:角色
预定义角色(系统自带的):
自定义角色(用户设置的):
connect:一般角色
dba角色:最大权限的角色
resource:可以在任何表空间建表
(数据对象:表、视图、函数、存储过程......)
刚创建的用户没有任何权限(登陆oracle的权限也没有),
7:用户口令管理(profile)
(1):账户锁定
指定用户最多输入密码次数\锁定时间
创建profile文件
create profile lock-account(profile名称) limit failed_login_attempts 3(三次尝试) password_lock_time 2(锁定两天);
将profile文件授予用户
alter user username profile lock_account;
(2)解锁
alter user username account unlock;
(3)终止口令(用户多久不改密码,密码失效)
create profile profile_name limit password_life_time 10(10天到期) password_grace_time 2(宽限两天);
将profile文件授予用户
alter user username profile lock_account;
(4)口令历史(用户修改密码不能使用老密码)
create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10(旧口令十天内不许用)
(5)删除profile:
drop profile password_history(名字) [cascade]相关的全删掉