2.windows-oracle实战第二课 -用户管理

创建用户:在oracle中创建一个用户有create user语句,一般是具有dba(数据库管理员)的权限才能使用。用户创建在所在的实例数据库中。

2.windows-oracle实战第二课 -用户管理_第1张图片

 

 给用户修改密码:passw 给别人修改密码需要dba的权限

2.windows-oracle实战第二课 -用户管理_第2张图片

 

 删除用户:drop 一般需要dba的身份,如果非dba身份删除则需要drop user的权限

  drop user 用户名 cascade

 如果删除的用户,已经创建了表,那么需要在删除的时候,需要带一个参数 cascade,级联删除所拥有的表。

用户管理的综合案例:创建的新用户是没有任何权限的,甚至连登陆权限都没有,需要为其指定相应的权限,给用户赋权用grant,回收权限用revoke。

    oracle大概有140多种权限,分为两种:系统权限,对象权限

   系统权限:用户对数据库的相关权限,例如登陆数据库权限create session,创建表、视图、索引、触发器等140多种权限。

   对象权限:用户对其他用户数据对象操作的权限,有20多个权限。select、insert、update、delete、all、create index等权限

   角色:oracle定义一些角色,将系统权限交给角色。比如connect 角色有7种权限,包括登陆权限create session。还有两个角色需要了解,一个是dba,一个是resource(让用户在任意一个表空间建表)

   预定义角色:安装数据库oracle已经有了。connect,dba,resource

   自定义角色:系统没有,自己定义的。(企业会用到精细的权限,这是orcle的强大之处)

2.windows-oracle实战第二课 -用户管理_第3张图片

 

 希望小明访问scott的emp表。这里需要对象权限。

 grant  select on emp to xiaoming;(sys、system、scott等都可以进行授权)

2.windows-oracle实战第二课 -用户管理_第4张图片

 

 scott收回xiaoming的emp表查看权限

2.windows-oracle实战第二课 -用户管理_第5张图片

 

 对权限的维护:希望xiaoming用户可以查询scott的emp表的同时还希望小明把这个权限传递。

 如果是对象权限:grant select on emp to xiaoming  with grant option

2.windows-oracle实战第二课 -用户管理_第6张图片

 

 如果是系统权限:grant connect to xiaoming with admin option

 如果scott把xiaoming对emp表的查询权限回收,那么xihong的查询权限一样被回收。

使用profile管理用户口令:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项,那么oracle会将default分配给用户。此文件很难找到,也无需必要找到。

(1)账户锁定

  指定该账户登陆时最多可以输入密码次数,也可以指定用户锁定的时间,一般用dba身份。

  例子:指定scott用户最多只能尝试3次,锁定时间为2天。(锁定时间至少一天)

  创建profile文件

   create profile dangjw limit failed_login_attempts 3 password_lock_time 2;

  分配给xiaoming,替代原来默认的用户口令限制:

2.windows-oracle实战第二课 -用户管理_第7张图片

 

 测试:

2.windows-oracle实战第二课 -用户管理_第8张图片

 

 (2)给账户解锁

alter  user  xiaoming  account unlock;

2.windows-oracle实战第二课 -用户管理_第9张图片

 

 (3)终止口令:为了让用户定期修改密码可以使用终止口令的指令来完成,也要用dba身份。

例子:给前面创建的用户xiaoming创建一个profile文件,要求该用户每隔10天要修改自家的登陆密码,宽限期为2天。(实际上是12天)

create profile myprofile limit password_file_time 10 password_grace_time 2;

alter user xiaoming profile myprofile

口令历史:如果希望用户在修改密码时,不能使用以前的密码,可以使用口令历史,oracle会将口令修改的信息存放到数据字典种,当用户修改密码时,oracle会进行比较,如果发现一样,会提醒重新输入密码。

1)建立profile文件

  create profile  password_history limit  password_life_time 10 password_grace_time 2 password_reuse_time 10(指定口令可重用时间即10天后可以重复)

删除文件profile  :drop  profile  password_history   cascade

你可能感兴趣的:(2.windows-oracle实战第二课 -用户管理)