oracle中表空间的定义

oracle中表空间的定义,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

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 LOCATION '/data/indexes'

兼容性

CREATE TABLESPACE 是 PostgreSQL 的扩展。

oracle创建表空间有多种方法,如下:

一、方法1:

代码创建,如下:

SQL>edi

已写入 file afiedt.buf

1 create tablespace ts1

2 datafile 'F:\oracle\product\10.2.0\oradata\orcl\ts1.dbf' size 100M

3 autoextend on next 1M maxsize 1000M

4* extent management local

SQL>/

表空间已创建。

二、方法2

用sqlplus,如下:

sqlplus / as sysdba

SQL>create tablespace tbsname datafile '文件路径及文件名' size 500m

三、方法3

通过脚本创建,如下:

Create tablespace StartDB

datafile 'e:\database\oracle\StartDB.dbf'

size 32m

autoextend on

next 32m maxsize 1024m

extent management local。

表空间是数据库中最大的逻辑存储结构,为数据库提供使用空间,其对应物理结构是数据文件,一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。表空间所包含的数据文件的大小,也就决定了表空间的大小,所以,表空间也是逻辑结构连接到物理结构的一个纽带;

create tablespace test datafile 'D:\test.ora' size 1000m这里的test为表空间名称,路径自己来命名;

oracle创建一个数据库需要以下三个步骤 ;

创建两个数据库的文件;

创建用户与上面创建的文件形成映射关系;

给用户添加权限。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10081239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存