您的位置:首页 > 数据库 > Oracle

Oracle 表空间、用户、角色、授权

2015-04-06 10:08 337 查看
创建临时表空间

CREATE TEMPORARY TABLESPACE test_temp


TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'


SIZE 32M


AUTOEXTEND ON


NEXT 32M MAXSIZE 2048M


EXTENT MANAGEMENT LOCAL;

创建用户表空间

CREATE TABLESPACE test_data


LOGGING


DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF' 


SIZE 32M 


AUTOEXTEND ON 


NEXT 32M MAXSIZE 2048M


EXTENT MANAGEMENT LOCAL;

创建用户并指定表空间

CREATE USER username IDENTIFIED BY password


DEFAULT TABLESPACE TEST_DATA


TEMPORARY TABLESPACE TEST_TEMP;

给用户授予权限

GRANT 


  CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,


  ALTER ANY TABLE, ALTER ANY PROCEDURE,


  DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,


  SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE


  TO username;

20b64

将role这个角色授与username,也就是说,使username这个用户可以管理和使用role所拥有的资源

GRANT role TO username;

查看所有用户

SELECT * FROM DBA_USERS;


SELECT * FROM ALL_USERS;


SELECT * FROM USER_USERS;

查看用户系统权限

SELECT * FROM DBA_SYS_PRIVS;


SELECT * FROM USER_SYS_PRIVS;

查看用户对象或角色权限

SELECT * FROM DBA_TAB_PRIVS;


SELECT * FROM ALL_TAB_PRIVS;


SELECT * FROM USER_TAB_PRIVS;

查看所有角色

SELECT * FROM DBA_ROLES;

查看用户或角色所拥有的角色

SELECT * FROM DBA_ROLE_PRIVS;


SELECT * FROM USER_ROLE_PRIVS;

遇到no
privileges on tablespace 'tablespace '


alter user userquota 10M[unlimited] on tablespace;

删除用户

drop
user user01;(如果用户拥有对象,则不能直接删除)

drop
user user01 cascade;

oracle为了兼容以前的版本,提供了三种标准的角色(role):connect、resource和dba。

1. connect role(连接角色)

 

  临时用户,特别是那些不需要建表的用户,通常只赋予他们connectrole。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

 

2. resource role(资源角色)

 

  更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

 

3. dba role(数据库管理员角色)

 

  dba role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。下面介绍一些dba经常使用的典型权限。
grant connect, resource to user01;
revoke
connect, resource from user01;

创建角色

create
role student;

grant
select on class to student;(现在,拥有student 角色的所有用户都具有对class 表的select权限)

删除角色

drop
role student;

清空表数据

删除一个表中的全部数据时,须使用
"truncate
table 表名
"

因为用drop
table,delete * from 表名时,tablespace表空间该表的占用空间并未释放,反复几次drop,delete操作后,该tablespace上百兆的空间就被耗光了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: