oracle 新增用户
oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。
每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
一、登录
sqlplus sys/sys as sysdba;
1、创建用户
create user test identified by test;
这样就创建了一个用户名密码都为test的用户 但这个时候test还是不能登陆成功的,我们需要赋予相应的权限
2、赋予create session 的权限
grant create session to test;
这样test用户就能成功登录进去
赋予用户创建表的权限
grant create table to test;
赋予相应的权限
grant unlimited tablespace to test;
这个时候用户就拥有了创建表的权限 由于表是用户test的,相应的他就拥有了对创建的表的增删查改的权限了
3、撤销权限
revoke create table from test;
二、删除用户
drop user 用户名;
若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
drop user 用户名 cascade;
授权操作
grant select on tabel1 to tabel2;
grant update on tabel1 to tabel2;
–授权存储过程
grant execute on procedure1 to tabel2;
角色
create role farxix;--建立farxix角色
grant insert on table1 to farxix; --将插入表的信息
revoke insert on table1 from xujin1; --收回farxix角色的权限
grant farxix to farxix1; --将角色的权限授权给farxix1;
create role farxix1;
grant farxix1 to farxix2; --将角色farxix1授权给farxix2;
alter user farxix default farxix1,farxix2; --修改用户默认角色
drop role farxix1;--删除角色farxix1;
归纳一下
创建用户密码
create user 用户名identified by 密码;
单纯某张表查询权限
grant select on 表名 to 用户名;