权限管理

一般是通过角色对用户权限进行管理。创建角色并把用户分配到角色:

create role myrole;
grant myrole to username;

把权限赋给用户:

grant create session to username;

上面的意思是把create session权限赋给用户username。当采用下面的写法时:

grant create session to username with admin option;

表示把create session权限赋给用户username,并且用户username也拥有赋予create session权限给其他用户的权力。

  • with admin optionwith grant option

with admin option是系统授权,作用于跟系统相关的授权。with grant option是对象授权,作用于跟对象相关的授权。

假设有三个用户huwewa,aabbhuwewa用户下有一张表books。那么:

grant select on books to aa with grant option;

huwewa用户把查看books表的权限赋给用户aa。此时,用户aa可以通过

select * from huwewa.books;

查看表内容,而用户bb不可以。连接到aa用户,aa用户已经拥有把查看huwewa用户的books表内容的权限赋给其他用户的权力。

grant select on huwewa.books to bb;

表空间的创建

创建表空间:

create tablespace mytabs datafile 'c:\xxx.dbf' size 10m;

赋表空间的操作权限给用户:

grant unlimited tablespace,dba to username;

变更用户的默认表空间:

alter user username default tablespace mytabs;

这样这个用户所创建的表就会默认到所指定的表空间。当然创建表时也可以指定创建到哪个表空间:

create table mytable(id number) tablespace mytabs;

(完)