1、创建用户
创建用户必须使用dba才能进行操作,创建的语句如下:
这个语句创建一个名为scott的用户。
identified by 指定用户密码
default tablespace 指定默认表空间。如果不指定默认表空间,会使用默认的USERS表空间。
quota 字句为用户指定表空间配额,也就是用户对象在表空间中可占用的最大空间。如果不指定,则用户在表空间上的配额为0,用户竟不能在表空间创建数据对象。
temporary tablespace 指定用户临时表空间。当用户只需排序操作时,若临时数据的大小超过PGA工作区,则会在该表空间上建立临时段。
password expire 密码强制过期,强制用户在第一次登录数据库后必须修改密码。如果不指定临时表空间,会使用系统默认的表空间。
用户连接oracle,命令为:
如果要以dba权限登录,则命令为:
初始建立的用户没有任何权限,不能执行任何操作。登录后会被直接断开。首先需要赋予连接的权限。
这里还有一个Schema的概念。oracle中的对象是以用户来管理的,每个用户的所拥有的数据库对象的集合也称为方案(Schema)。在同一个方案中不能存在同名对象,但是不同方案中的对象可以重名。
用户要访问其他方案对象时,必须附加方案名前缀。如要查询scott方案的emp表,sql为select * from scott.emp。当然,同时必须必须拥有scott方案BMP表的查询权限。
表空间的概念还不理解,应该是oracle将Schema进行分组,以方便管理。现在学习的是用户管理,这里先不纠结。
2、修改用户
用户创建后,其密码,表空间等信息可以再次修改。
1> 修改密码
也可以使用password命令。
2> 修改默认表空间
修改表空间后,原来创建的对象仍然保留在原表空间中,如果再创建数据对象,则存储在新的表空间里。
3> 修改表空间配额
当用户表空间不足时,可以进行扩充。
需要注意的是,如果用户已经占用的空间大于100M,上边的语句也可以正常执行。该用户将不能创建新的对象。需要删除一部分才可以继续进行。
如果要去掉用户创建新对象的权限可以将表空间配额改为0,这样用户就不能创建新对象,但是旧对象仍然会保留。
4> 修改临时表空间
修改用户的临时表空间,新的空间必须是专用的临时表空间。
5> 锁定用户/解锁用户
如果不允许某个用户访问数据库,可以将用户锁定。锁定的命令为:
反过来,解锁用户的命令为:
3、删除用户
如果用户中包含schema,则需要指定级联(cascade)参数。
创建用户必须使用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;
不过似乎还是锁定用户保险一些。