创建表空间

来源:互联网 发布:南京软件开发公司 编辑:程序博客网 时间:2024/05/21 20:47
创建表空间
的语法是:
语法结构:创建表空间
CREATE TABLESPACE 空间名称
DATAFILE '文件名1' SIZE 数字M
[,'文件名2' SIZE 数字….]
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 数字M


语法解析:
1. 文件名包括完整路径和文件名,每个数据文件定义了文件的初始大小,初始大小一
般以“M”为单位。一个表空间中可以有多个数据文件。
2. EXTENT MANAGEMENT LOCAL 指明表空间类型是:本地管理表空间。本地管理表空
间要求 Oracle 中的数据分区(Extent)大小统一。
3. UNIFORM SIZE:指定每个分区的统一大小。

代码演示:创建表空间
SQL> CREATE TABLESPACE MYSPACE
2 DATAFILE 'D:/A.ORA' SIZE 10M,
3 'D:/B.ORA' SIZE 5M
4 EXTENT MANAGEMENT LOCAL
5 UNIFORM SIZE 1M
6 /
Tablespace created
必须是管理员用户才能创建表空间,当表空间的空间不足时可以使用 ALTER TABLESPACE
命令向表空间中追加数据文件扩充表空间。

表空间可以在不使用时删除,使用 DROP TABLESPACE 命令。
数据库的所有数据全部在某一表空间中存放,在创建用户时,可以为用户指定某一表空
间,那么该用户下的所有数据库对象(比如表)默认都存储在该空间中。

代码演示:为某一用户指定默认表空间
SQL> CREATE USER ACONG IDENTIFIED BY ACONG
2 DEFAULT TABLESPACE MYSPACE


在创建表时,表中数据存放在用户的默认表空间中,也可以通过 tablespace 子句为表指
定表中数据存放在其他表空间中。
代码演示:为表指定表空间
SQL> CREATE TABLE SCORES
2 (
3 ID NUMBER ,
4 TERM VARCHAR2(2),
5 STUID VARCHAR2(7) NOT NULL,
6 EXAMNO VARCHAR2(7) NOT NULL,
7 WRITTENSCORE NUMBER(4,1) NOT NULL,
8 LABSCORE NUMBER(4,1) NOT NULL
9 )
10 TABLESPACE MYSPACE

创建索引时也可以为索引指定表空间。
代码演示:为索引指定表空间
SQL> CREATE INDEX UQ_ID ON SCORES(ID)
2 TABLESPACE MYSPACE;
0 0