您的位置:首页 > 数据库 > Oracle

Oracle 学习笔记2 —— 用户管理

2013-05-07 20:04 399 查看
1、创建用户

  创建用户必须使用dba才能进行操作,创建的语句如下:

create user scott
identified by tiger
default tablespace user01
quota 10m on user01
temporary tablespace temp
password expire;


 这个语句创建一个名为scott的用户。

identified by 指定用户密码

default tablespace 指定默认表空间。如果不指定默认表空间,会使用默认的USERS表空间。

quota 字句为用户指定表空间配额,也就是用户对象在表空间中可占用的最大空间。如果不指定,则用户在表空间上的配额为0,用户竟不能在表空间创建数据对象。

temporary tablespace 指定用户临时表空间。当用户只需排序操作时,若临时数据的大小超过PGA工作区,则会在该表空间上建立临时段。

password expire 密码强制过期,强制用户在第一次登录数据库后必须修改密码。如果不指定临时表空间,会使用系统默认的表空间。

用户连接oracle,命令为:

conn scott/tiger


如果要以dba权限登录,则命令为:

conn system/manager as sysdba


初始建立的用户没有任何权限,不能执行任何操作。登录后会被直接断开。首先需要赋予连接的权限。

grant create session to scott;


这里还有一个Schema的概念。oracle中的对象是以用户来管理的,每个用户的所拥有的数据库对象的集合也称为方案(Schema)。在同一个方案中不能存在同名对象,但是不同方案中的对象可以重名。

用户要访问其他方案对象时,必须附加方案名前缀。如要查询scott方案的emp表,sql为select * from scott.emp。当然,同时必须必须拥有scott方案BMP表的查询权限。

表空间的概念还不理解,应该是oracle将Schema进行分组,以方便管理。现在学习的是用户管理,这里先不纠结。

2、修改用户

用户创建后,其密码,表空间等信息可以再次修改。

1> 修改密码

alter user scott identified by tiger;


也可以使用password命令。

password scott


2> 修改默认表空间

alter user scott default tablespace user02;


修改表空间后,原来创建的对象仍然保留在原表空间中,如果再创建数据对象,则存储在新的表空间里。

3> 修改表空间配额

当用户表空间不足时,可以进行扩充。

alter user scott quota 100M on user01;


需要注意的是,如果用户已经占用的空间大于100M,上边的语句也可以正常执行。该用户将不能创建新的对象。需要删除一部分才可以继续进行。

如果要去掉用户创建新对象的权限可以将表空间配额改为0,这样用户就不能创建新对象,但是旧对象仍然会保留。

4> 修改临时表空间

修改用户的临时表空间,新的空间必须是专用的临时表空间。

alter user scott temporary tablespace temp;


5> 锁定用户/解锁用户

如果不允许某个用户访问数据库,可以将用户锁定。锁定的命令为:

alter user scott account lock;


反过来,解锁用户的命令为:

alter user scott account unlock;


3、删除用户

删除用户的命令为:

drop user scott;
用户删除后,用户创建的所有数据库对象也会被删除。如果用户正在连接到数据库,必须等到该用户退出后再删除。

如果用户中包含schema,则需要指定级联(cascade)参数。

drop user scott cascade;
不过似乎还是锁定用户保险一些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: