oracle_day04

oracle的用户管理

1. 创建用户(需要具有dba权限的用户才能操作,比如system/sys)

create user 用户名 identified by 密码

//oracle要求用户密码不能用字数开始

 

//SQL语句创建好的用户仍无法正常登录,这是因为oracle刚创建的用户是没有任何权限,

需要管理员给新用户分配相应权限。

 

2. 如何给用户分配权限

grant create session to 用户名(session是给用户分配登录权限)

/*

分配角色:grant 角色 to 用户名

*/

3. oracle管理用户的机制

 

管理员可以给新建用户分配权限或者角色(权限的集合)

 

4.  oracle“方案”的概念

当一个用户创建好后,如果该用户创建了任意一个数据对象,这时dbms就会创建一个

对应的方案与该用户对应,并且该方案的名字和用户名一致。

 

如果想查询某用户方案里的数据对象需要得到该用户赋权限,比如用户xiaohong希望查询scott方案里的表emp

(1)使用scott登录  conn scott/密码

(2)赋权限  grant select[updata/delete/insert/all]  on emp to xiaohong

(3)使用xiaohong登录  并  select * from scott.emp;

 

小技巧:

如果我们希望看到某个用户的方案究竟有什么数据对象,我们可以用pl/sql developer。

 

 5. 使用profile配置文件对口令进行管理

需求:只允许对某个用户,如果三次都没有登录成功,则锁定两天。两天才能重新登录

create profile 配置文件名 limit failed_login_attempts 3 password_lock_time 2;   //dba身份创建

配置文件创建后,分配给指定用户以使用→

alter user 用户名 profile 配置文件名 ;

如何给一个用户解锁→

alter user 用户名 account unlock ; 

 

终止口令

需求:一个帐号密码最多使用10天,宽限期为2天。到时必须设置新的密码。否则锁定

create profile 配置文件名 limit password_life_time 10 password_grace_time 2;

分配文件→

alter user 用户名  profile 配置文件名 ;

解锁→

alter user 用户名 account unlock ; 

 

删除profile

sql>drop profile profile文件名 ;

 

♦小案例♦

创建一个用户,给他分配两个角色(connect/resource),可以让他可以登录,建表,然后回收角色,最后删除用户

(1)使用system创建xiaohong

create user xiaohong identified by m123

(2)给xiaohong分配角色

grant connect to xiaohong;    grant resource to xiaohong;     

(3)让xiaohong登录

conn xiaohong/m123

(4)xiaohong创建一张简单的表

create table users(id number);   insert into users values(1);

SQL>select * from users;

(5)使用system登录,然后回收角色

revoke connect from xiaohong;  revoke resource from xiaohong;

(6)删除用户

drop user 用户名 [cascade

注意:当删除一个用户的时候,如果用户已经创建过数据,SQL<drop user 用户名>将会删除失败。

        需要加选项cascade,表示把用户删掉同时把该用户创建的数据一并删除。//如果想保留数据,可以选择锁定

 

 

 

posted @ 2012-05-15 21:24  只会HelloWorld  阅读(191)  评论(0编辑  收藏  举报