分类: Oracle
2011-08-05 16:27:11
一. 用户管理
1.1 建立用户(数据库验证)
CREATE USER DAVE IDENTIFIED BY pwd
DEFAULT TABLESPACE users
QUOTA 5m ON users;
1.2 修改用户
ALTER USER DAVE QUOTA 0 ON SYSTEM;
1.3 删除用户
1.4 显示用户信息
SELECT * FROM DBA_USERS
SELECT * FROM DBA_TS_QUOTAS
二.系统权限
系统权限 |
作用 |
CREATE SESSION |
连接到数据库 |
CREATE TABLE |
建表 |
CREATE TABLESPACE |
建立表空间 |
CREATE VIEW |
建立视图 |
CREATE SEQUENCE |
建立序列 |
CREATE USER |
建立用户 |
系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。(新建用户没有任何权限)
2.1 授予系统权限
GRANT CREATE SESSION,CREATE TABLE TO DAVE;
GRANT CREATE SESSION TO DAVE WITH ADMIN OPTION;
选项:ADMIN OPTION 使该用户具有转授系统权限的权限。
2.2 显示系统权限
查看所有系统权限:
Select * from system_privilege_map;
显示用户所具有的系统权限:
Select * from dba_sys_privs;
显示当前用户所具有的系统权限:
Select * from user_sys_privs;
显示当前会话所具有的系统权限:
Select * from session_privs;
2.3 收回系统权限
REVOKE CREATE TABLE FROM DAVE;
REVOKE CREATE SESSION FROM DAVE;
三 .角色:
角色是一组相关权限的命名集合,使用角色最主要的目的是简化权限管理。
3.1 预定义角色。
CONNECT自动建立,包含以下权限:ALTER SESSION、CREATE CLUSTER、CREATE DATABASELINK、CREATE SEQUENCE、CREATE SESSION、CREATE SYNONYM、CREATE TABLE、CREATEVIEW。
RESOURCE自动建立,包含以下权限:CREATE CLUSTER、CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGR。
3.2 显示角色信息,
§ROLE_SYS_PRIVS
§ROLE_TAB_PRIVS
§ROLE_ROLE_PRIVS
§SESSION_ROLES
§USER_ROLE_PRIVS
§DBA_ROLES
四. Oracle用户角色
每个用户都有一个名字和口令,并拥有一些由其创建的表、视图和资源。
Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
系统权限(Database System Privilege)允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE权限允许用户授予任何系统权限。
数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照 (snapshots)中查询信息。
4.1 创建用户
Oracle内部有两个建好的用户:SYSTEM和SYS。用户可直接登录到SYSTEM用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle时,用户或系统管理员首先可以为自己建立一个用户。例如:
create user user01 identified by u01;
该命令还可以用来设置其他权限。
要改变一个口令,可以使用alter user命令:
alter user user01 identified by usr01;
现在user01的口令已由“u01”改为“usr01”。
除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。
当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示:
password
Changing password for user01
Old password:
New password:
Retype new password:
当成功地修改了口令时,用户会得到如下的反馈:
Password changed
4.2 删除用户
删除用户,可以使用drop user命令,如下所示:
drop user user01;
如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字CASCADE,可删除用户所有的对象,然后再删除用户。
下面的例子用来删除用户与其对象:
drop user user01 CASCADE;
4.3 3种标准角色
Oracle 注:暂存的内容只能恢复到当前文章的编辑器中,如需恢复到其他文章中,请编辑该文章并从暂存箱中恢复;或者直接复制以上内容,手工恢复到相关文章。