一、用户与模式
用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作
SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象
SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象
模式(schema):是某个用户拥有所有对象的集合。具有创建对象权限并创建了对象的用户称为拥有某个模式
注意:创建数据库对象(视图,表等)的任一用户都拥有一个以该用户名称开头的模式,且被视为模式用户,即拥有对象的
的一定为模式用户。
二、创建及修改用户
条件:需要具有创建用户的权限,如sys,system,sysdba,dba role等
语法:
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS external name }
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA {n {[K|M] | UNLIMITED } ON tablespace_name
QUOTA {n {[k|M] | UNLIMITED } ON tablespace_name ... ]
[PASSWORD EXPIRE]
[ACCOUNT { LOCK | UNLOCK }]
[PROFILE { profile_name | DEFAULT }] ---->指派给用户的配置文件。
--创建用户:
CREATE USER bips IDENTIFIED BY pass
--解锁bips:
alter user bips account unlock;
--授予bips权限:
作为DBA用户的:grant dba to bips;
一般用户:grant resource to bips;
1.修改用户
修改用户的语法同创建用户,仅仅讲关键字create替换为alter,alter user可以修改除用户名之外的任一属性
ALTER USER robinson ACCOUNT LOCK;
2.修改密码
DBA 可以创建用户和修改密码
用户本人可以使用ALTER USER 语句修改密码
SQL> ALTER robinson IDENTIFIED BY newpassword;
3.删除用户:
DROP USER username [CASCADE]
CASECADE 连同用户创建的对象一并删除,如果该用户创建了对象,要加CASCADE删除,否则删除不掉
另外,不能删除当前正在与ORACLE服务器相连的用户。
4.改变用户在表空间上的配额:
ALTER USER username QUOTA 0 ON system;
ALTER USER scott QUOTA UNLIMITED ON USERS;
ALTER USER dog QUOTA 30M ON system;
5.查看用户表空间配额(dba_ts_quotas):
SQL> SELECT USERNAME,TABLESPACE_NAME,MAX_BYTES/1024/1024 "Max MB"
FROM dba_ts_quotas WHERE USERNAME='SCOTT';
USERNAME TABLESPACE_NAME Max MB
------------------------------ --------------------------
SCOTT SYSTEM 30
6.查看特定对象下用户所拥有的对象
使用dba_objects视图
SQL> SELECT owner,object_name, object_type FROM dba_objects WHERE owner= 'SCOTT';
三、总结
1.使用create user语句创建用户,alter user语句修改用户,其语法大致相同
drop user username [CASCADE] 会删除用户所拥有的所有对象及数据
用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作
SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象
SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象
模式(schema):是某个用户拥有所有对象的集合。具有创建对象权限并创建了对象的用户称为拥有某个模式
注意:创建数据库对象(视图,表等)的任一用户都拥有一个以该用户名称开头的模式,且被视为模式用户,即拥有对象的
的一定为模式用户。
二、创建及修改用户
条件:需要具有创建用户的权限,如sys,system,sysdba,dba role等
语法:
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS external name }
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA {n {[K|M] | UNLIMITED } ON tablespace_name
QUOTA {n {[k|M] | UNLIMITED } ON tablespace_name ... ]
[PASSWORD EXPIRE]
[ACCOUNT { LOCK | UNLOCK }]
[PROFILE { profile_name | DEFAULT }] ---->指派给用户的配置文件。
--创建用户:
CREATE USER bips IDENTIFIED BY pass
--解锁bips:
alter user bips account unlock;
--授予bips权限:
作为DBA用户的:grant dba to bips;
一般用户:grant resource to bips;
1.修改用户
修改用户的语法同创建用户,仅仅讲关键字create替换为alter,alter user可以修改除用户名之外的任一属性
ALTER USER robinson ACCOUNT LOCK;
2.修改密码
DBA 可以创建用户和修改密码
用户本人可以使用ALTER USER 语句修改密码
SQL> ALTER robinson IDENTIFIED BY newpassword;
3.删除用户:
DROP USER username [CASCADE]
CASECADE 连同用户创建的对象一并删除,如果该用户创建了对象,要加CASCADE删除,否则删除不掉
另外,不能删除当前正在与ORACLE服务器相连的用户。
4.改变用户在表空间上的配额:
ALTER USER username QUOTA 0 ON system;
ALTER USER scott QUOTA UNLIMITED ON USERS;
ALTER USER dog QUOTA 30M ON system;
5.查看用户表空间配额(dba_ts_quotas):
SQL> SELECT USERNAME,TABLESPACE_NAME,MAX_BYTES/1024/1024 "Max MB"
FROM dba_ts_quotas WHERE USERNAME='SCOTT';
USERNAME TABLESPACE_NAME Max MB
------------------------------ --------------------------
SCOTT SYSTEM 30
6.查看特定对象下用户所拥有的对象
使用dba_objects视图
SQL> SELECT owner,object_name, object_type FROM dba_objects WHERE owner= 'SCOTT';
三、总结
1.使用create user语句创建用户,alter user语句修改用户,其语法大致相同
drop user username [CASCADE] 会删除用户所拥有的所有对象及数据