1. 特权用户
特权用户是指具有特殊权限(SYSDBA或者SYSOPER)的数据库用户。这类用户主要用于数据库的维护操作。如果要以特权用户身份进行数据库维护操作,要求用户拥有数据库所在OS平台的相关角色。
SYSDBA拥有SYSOPER的所有权限,还可以建立数据库,执行不完全恢复。需要注意,SYSDBA自动具备了DBA角色的所有权限,而SYSOPER则不具备DBA角色的权限。
2. 方案(Schema)
方案是用户所拥有的数据库对象的集合,在ORACLE数据库中对象是以用户来组织的,用户与方案是一一对应的关系,并且二者名称相同。
A. 在同一方案中不能有同名对象,但是不同方案的对象名可以相同。
B. 用户可以直接访问其他方案对象,但要访问其他方案对象,必须具有对象权限。
C. 当用户要访问其他方案对象时,必须加方案名作为前缀。
3. 建立用户
CREATE USER devp IDENTIFIED BY devep
DEFAULT TABLESPACE user01
TEMPORARY TABLESPACE temp
QUOTA 3M ON user01
PASSWORD EXPIRE;
解释:CREATE USER devep:创建名为devep的用户
IDENTIFIED BY devep:登录用户名
DEFAULT TABLESPACE user01:用户默认表空间
TEMPORARY TABLESPACE temp:临时表空间
QUOTA 3M ON user01:用户对象在表空间上所占的最大空间。
PASSWORD EXPIRE:强迫用户在第一次登录时修改密码。
4. 显示用户信息
col username FORMAT A20
col default_tablesapce format a20
col temporary_tablesapce format a20
select username,default_tablesppce,temporary_tablespace from user_users;
显示用户的配额分配
SELECT TABLESPACE_name,bytes,max_bytes FROM user_ts_quotas where username=’devep’;
5. 删除用户
删除用户是使用DROP USER命令完成的。一般情况下,删除用户是由DBA执行的;如果要以其他用户删除用户,则要求该用户必须具有DROP USER系统权限。
正在连接的用户不能被删除,如果要删除正在连接的用户可以执行如下操作:
SELECT sid,serial# from v$session WHERE username=‘U1’;
得到结果:SID:8 SERIAL:25
ALTER SYSTEM KILL SESSION ‘8,25’;
DROP USER u1 CASCADE;
删除用户时,使用和不使用CASCADE的区别:
CASCADE会删除用户所拥有的数据对象。