日期:2014-05-16 浏览次数:20372 次
数据库控制语言的功能室控制用户对数据库的存取权限。用户对某类数据具有何种操作权限是有DBA决定的。Oracle
通过GRANT语句完成权限的授予,通过REVOKE语句完成对权限的收回。
权限分为系统权限和对象权限;系统权限是对于数据库的权限,对象权限是操作数据库对象的权限。
创建用户
基本语法:
CREATE USER user_name
IDENTIFIED BY password;
在用户创建成功之后,系统管理员DBA会赋予用户一些权限,来完成相应的操作。不具有某些操作权限的用户,是无
法完成操作的。
例:创建用户test ,密码:test001
create user test
identified by test001但是让使用上面创建的用户和密码进行登录时确无法登录成功。因为该没用没有create session 权限。要授予该权限则要使用grant语句。
授予权限
基本语法:
GRANT 权限1 ,权限2,... TO user_name ;
应用程序开发者,一般应该具有以下权限:
CREATE SESSION(创建会话)CREATE TABLE(创建表)CREATE SEQUENCE(创建序列)CREATE VIEW(创建视图)CREATE PROCEDURE(创建过程)
例:给test用户授予创建会话权限。
grant create session to test ;
将create session 赋予用户之后,就可以正常的与数据库连接了,表示已经创建了一个session 会话。此时如果该用
户要创建表,序列,视图,则要授予上面的全部权限。在授予了create table 的权限之后,还是无法创建表的,因为
此时是没有表空间。还要分配表空间才能创建表。
上面的操作还是比较的繁琐的,其实可以把多个权限封装成一个角色,在把该角色赋予给用户。
角色
创建角色:
CREATE ROLE testrole ;
为角色赋予权限:
GRANT CREATE TABLE , CREATE VIEW TO testrole ;
<