oracle中表空间的定义

来源:百度知道 编辑:UC知道 时间:2024/05/09 06:23:50
tablespace在oracle中是怎么定义的?

CREATE TABLESPACE
Name
CREATE TABLESPACE -- 定义一个新的表空间
Synopsis
CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'
描述
CREATE TABLESPACE 注册一个新的集群范围内的表空间。 表空间的名字必须在该数据库集群中的任何现有表空间中唯一。

一个表空间允许超级用户在文件系统中定义一个可选的位置,这个位置可以存放代表数据库对象的数据文件(比如表和索引)。

一个用户,如果有合适的权限,就可以给 CREATE DATABASE, CREATE TABLE,CREATE INDEX 或者 ADD CONSTRAINT 传递 tablespacename,这样就让使用这些对象的数据文件存储在指定的表空间里。

参数

tablespacename
要创建的表空间的名字。这个名字不能以 pg_ 开头,因为这些名字是保留给系统表空间使用的。

username
将拥有这个表空间的用户名。如果省略,缺省为执行此命令的用户名。 只有超级用户可以创建表空间,但是他们可以把表空间的所有权赋予非超级用户。

directory
用于表空间的目录。目录必须是空的,并且由 PostgreSQL 系统用户所有。 目录必须用一个绝对路径声明。

注意
只有在那些支持符号连接的系统上才支持表空间。

例子
在 /data/dbs 创建一个表空间 dbspace:

CREATE TABLESPACE dbspace LOCATION '/data/dbs';

在 /data/indexes 创建一个表空间 indexspace,由用户 genevieve 所有:

CREATE TABLESPACE indexspace OWNER genevieve