oracle用户的概念对于Oracle数据库至关重要,在现实环境当中一个服务器一般只会安装一个Oracle实例,一个Oracle用户代表着一个用户群,他们通过该用户登录数据库,进行数据库对象的创建、查询等开发。
每一个用户对应着该用户下的N多对象,因此,在实际项目开发过程中,不同的项目组使用不同的Oracle用户进行开发,不相互干扰。也可以理解为一个Oracle用户既是一个业务模块,这些用户群构成一个完整的业务系统,不同模块间的关联可以通过Oracle用户的权限来控制,来获取其它业务模块的数据和操作其它业务模块的某些对象。
Oracle用户创建
语法:创建用户
- -- Create the user
- create user student--用户名
- identified by "123456"--密码
- default tablespace USERS--表空间名
- temporary tablespace temp --临时表空间名
- profile DEFAULT --数据文件(默认数据文件)
- account unlock; -- 账户是否解锁(lock:锁定、unlock解锁)
通过上面语句,可以创建一个student用户,但是该用户现在还不能登录数据库,因为它没有登录数据库权限,最少他需要一个create session系统权限才能登录数据库。
用户权限
Oracle数据库用户权限分为:系统权限和对象权限两种。
系统权限:比如:create session可以和数据库进行连接权限、create table、create view 等具有创建数据库对象权限。
对象权限:比如:对表中数据进行增删改查操作,拥有数据库对象权限的用户可以对所拥有的对象进行相应的操作。
数据库角色
oracle数据库角色是若干系统权限的集合,给Oracle用户进行授数据库角色,就是等于赋予该用户若干数据库系统权限。常用的数据库角色如下:
CONNECT角色:connect角色是Oracle用户的基本角色,connect权限代表着用户可以和Oracle服务器进行连接,建立session(会 话)。
RESOURCE角色:resouce角色是开发过程中常用的角色。 RESOURCE给用户提供了可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包、类型等。
DBA角色:DBA角色是管理数据库管理员该有的角色。它拥护系统了所有权限,和给其他用户授权的权限。SYSTEM用户就具有DBA权限。
因此,在实际开发过程当中可以根据需求,把某个角色或系统权限赋予某个用户。授权语句如下:
提示:
系统权限只能通过DBA用户授权,对象权限有拥有该对象权限的对象授权(不一定是本身对象)!用户不能自己给自己授权!
语法:授权
- --GRANT 对象权限 on 对象 TO 用户
- grant select, insert, update, delete on JSQUSER to STUDENT;
- --GRANT 系统权限 to 用户
- grant select any table to STUDENT;
- --GRANT 角色 TO 用户
- grant connect to STUDENT;--授权connect角色
- grant resource to STUDENT;--授予resource角色
语法:取消用户权限
- -- Revoke 对象权限 on 对象 from 用户
- revoke select, insert, update, delete on JSQUSER from STUDENT;
- -- Revoke 系统权限 from 用户
- revoke SELECT ANY TABLE from STUDENT;
- -- Revoke 角色(role) from 用户
- revoke RESOURCE from STUDENT;
语法:Oracle用户的其他操作
- --修改用户信息
- alter user STUDENT
- identified by ****** --修改密码
- account lock;--修改用户处于锁定状态或者解锁状态 (LOCK|UNLOCK )
转载本站内容时,请务必注明来自W3xue,违者必究。