管理用户
1)用户授权
SQL>grant sysdba to system
>conn system/manager as sysdba
2)方案
方案是用户所拥有数据库对象的集合,在oracle数据库中对象是以用户来组织的,用户与方案一一对应,并且二者名称相同。
3)建立用户:数据库验证
SQL>conn system/manager@demo
SQL>create user devep identified by devep
default tablespace user01
temporary tablespace temp
quota 3M on user01
password expire;
identified by 用于指定用户口令(数据库验证);default tablespace用于指定用户默认表空间,建立数据对象(表、索引和簇)时,如果不指定tablespace子句,oracle会自动在默认表空间上为这些对象分配空间;temporary tablespace用于指定用户的临时表空间,当用户执行排序操作时,若临时数据尺寸超过PGA工作区,刚会在该表空间上建立临时段;quota用于指定表空间配额,即用户对象在表空间上可占用的最大空间:password expire用于指定口令到期,最终强制用户在登录时改变口令。执行create user建立了用户之
a) 连接到数据库
因为初始建立的用户没有任何权限,所以为了使用户可以连接到数据库,必须授予其create session权限。当采用数据库验证方式时,必须通过用户和口令连接到数据库。
SQL>connect system/manager@demo
SQL>grant create session,create table to devep;
SQL>conn devp/devep@demo
b) 建立表t1并检查其存放位置
SQL>conn devep/admin@demo
SQL>create table t1(cola int);
SQL>select tablespace_name from user_segments
where segment_name=’t1’;
1) 修改用户
a) 修改口令
普通用户可吧执行alter user 修改其自身口令,而dba用户可以执行该命令修改任何用户口令。
SQL>conn devep/admin@demo
SQL>alter user devep identified by devep;
b) 修改表空间配额
如果用户占据了表空间配额所允许的最大空间,将不能在该表空间上为用户对象分配新的空间。dba为用户表空间分配更多的配额:
SQL>conn system/manager@demo
SQL>alter user devep quota 10M on user01;
c) 锁定用户帐户
SQL>conn system/manager@demo
SQL>alter user devep account lock;
d) 解锁用户帐户
SQL>conn system/manager@demo
SQL>alter user devep account unlock;
e) 设置用户默认角色
SQL>conn system/manager@demo
SQL>alter user devep default role select_role;
2) 删除用户
drop user username [cascade]
删除用户时,如果用户包含数据库对象,那么必须带有cascade选项,否则显示如下错误:ORA-01922
当前正在连接的用户是不能删除的,如果确定删除该用户,那么首先终止用户会话,然后删除该用户:
sqlplus system/manager
SQL>select sid,serial# from v$session where username=’u1’;
SQL>alter system kill session ‘8,25’;
6)显示用户信息
a)显示当前会话用户
SQL>show user
c) 显示特权用户
SQL>conn sys/oracle@demo as sysdba
SQL>select * from v$pwfile_users;
d) 显示用户信息
SQL>col username format a20;
SQL>select username,default_tablespace from dba_users;
e) 显示用户表空间配额
SQL>select tablespace_name,bytes,max_bypes
from dba_ts_quotas where username=’devep’;