1。具有创建对象权限并且创建了对象的用户称为拥有某个模式。模式是某个用户拥有的所有对象的集合。
2。模式用户与非模式用户有很大区别。
sys用户是所有资源的拥有者,他授权system用户了自己几乎所有的权限
sys用户的默认密码为change_on_install。对于system用户,如果使用了create database创建用户,他的默认密码为manager
创建用户命令
CREATE USER username
IDENTIFIED BY password | EXTERNALLY | GLOBALLY AS extname
DEFAULT TABLESPACE tablespacename
TEMPORARY TABLESPACE tablespacename
ACCOUNT LOCK|UNLOCK
PROFILE profilename |DEFAULT
PASSWORD EXPIRE
QUOTA num[K|M] UNLIMITED ON tablespace
修改用户
ALTER USER username
IDENTIFIED BY password | EXTERNALLY | GLOBALLY AS extname
DEFAULT TABLESPACE tablespacename
TEMPORARY TABLESPACE tablespacename
ACCOUNT LOCK|UNLOCK
PROFILE profilename |DEFAULT
PASSWORD EXPIRE
QUOTA num[K|M] UNLIMITED ON tablespace
删除用户:
DROP USER username [CASCADE]
删除模式用户的时候必须使用 CASCADE,使用CASCADE会删除所有对象以及用户拥有的表中所含的所有数据。
查找用户拥有的对象可以使用DBA_OBJECTS视图
SELECT OBJECT_NAME,OBJECT_TYPE FROM dba_OBJECTS WHERE OWNER='username'
授权:
oracle 拥有100多种系统权限 授权格式为
GRANT privilege[, privilege,...]
TO username[,username,...]
[WITH ADMIN OPTION];
使用with admin options可以让被授权人传递权限。也就是被授权人可以将自己得到的权限再次授权给别人。
取消权限:
REVOLK privilige FROM user
查询权限 DBA_SYS_PRIVS 所有用户被授予的系统权限
USER_SYS_PRIVS 当前用户被授予的系统权限
对象权限:在ORACLE中,用户也可以被授予对象权限。对象权限允许用户操作数据库中的数据或者在对象上执行某个动作。与DBA授予系统权限不同的是,对象权限需要由对象的拥有者授予。
语法:
GRANT privilege[,privilege,] |ALL[(,column,]
ON objectname
TO user|role|PUBLIC
[WITH GRANT OPTION]; 可再次授权
具体的对象权限有 select,insert,update,delete,alter,index,references,execute;
撤销权限:
REVOKE privilege
ON objectname
FROM user | role | PUBLIC
[CASCADE CONSTRAINTS] 如果使用了这个命令则取消授权是级联的:)
创建与管理角色:
在大型应用中,Oracle提供了先将权限集合在一起然后为用户指派整个权限组的角色机制。
角色可以看做是保存权限的容器,他的主要有点是简化了为用户授予权限的过程,DBA可以先创建一个角色,然后为该角色授予用户执行某个任务所需的所有权限。
使用角色比使用权限能够提供更好的性能。角色的权限会在首次使用时被存入数据字典缓存。而直接使用权限的话,只有在频繁使用的情况下它才会被添加到数据字典缓存。
常用的预定义角色 DBA,SELECT_CATALOG_ROLE,EXECUTE_CATALOG_ROLE, CONNECT, RESOURCE,PUBLIC
例如CONNECT角色拥有 ALTER SESSION,CREATE CLUSTER,CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE,CREATE VIEW 权限。
在使用enterprise manager创建某个用户时,该用户会被自动授予CONNECT角色。
创建角色的命令:
CREATE ROLE rolename
[NOT IDENTIFIED| IDENTIFIED BY password | EXTERNALLY | GLOBALLY];
修改角色:
ALTER ROLE rolename
[NOT IDENTIFIED| IDENTIFIED BY password | EXTERNALLY | GLOBALLY];
为角色设置和取消权限
授予系统权限:
GRANT [,system_priv,]
TO role | PUBLIC[,role| PUBLIC,]
[WITH ADMIN OPTION]
为角色赋予对象权限:
GRANT ALL[privileges]| ,object_priv,
ON [SCHEM_NAME.]object_name
TO role| PUBLIC [,role | PUBLIC,...]
[CASCADE CONSTRAINTS]
为用户授权和取消角色
GRANT role_name,[,role_name,...] TO user_name | role
[WITH ADMIN OPTION]
REVOKE role_name,...
FROM user_name|role
设置用户的默认角色:
ALTER USER username DEFAULT ROLE
role,.... |
ALL |NONE
删除:
DROP ROLE role_name
posted @ 2008-04-28 17:15
onandoff 阅读(162)
评论(2) 编辑 收藏 网摘收藏