Oracle系列:[11]授权管理和创建表空间
权限管理
一般是通过角色对用户权限进行管理。创建角色并把用户分配到角色:
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 option和with grant option
with admin option是系统授权,作用于跟系统相关的授权。with grant option是对象授权,作用于跟对象相关的授权。
假设有三个用户huwewa,aa和bb。huwewa用户下有一张表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;
(完)