Oracle用户多个表空间权限配置与数据表指定存放表空间
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念, 表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。 1:既然一个用户可以指定多个表空间权限,那个这个user1创建了一个table1,这个table1被存放到哪个表空间去了? 2:这个table1是不是只可以存在在一个表空间里?
你仔细看看建用户的脚本 create user uname identified by "" default tablespace TS_TAB_001 temporary tablespace TEMP profile DEFAULT quota unlimited on ts_tab_001 quota unlimited on ts_tab_002; -- Grant/Revoke role privileges grant connect to uname; grant resource to uname; 下面一句是指定了默认表空间: default tablespace TS_TAB_001 这两句是赋予用户可以管理这两个表空间: quota unlimited on ts_tab_001 quota unlimited on ts_tab_002 如果我们的建表的语句如下,则表建在了默认表空间中也就是ts_tab_001中 create table TEST ( ID NUMBER not null, NAME VARCHAR2(10) ); 如果我们的建表的语句如下,则表建在了默认表空间中也就是ts_tab_002中,因为它指定了表空间,(当然是用户可以管理的表空间) create table TEST ( ID NUMBER not null, NAME VARCHAR2(10) ) tablespace ts_tab_002 pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); 这是普通用户,如果是DBA权限用户可管理全部表空间
目录 返回
首页