1. 概述
从Oracle10g开始,管理员执行CREATE DATABASE命令时,会默认建立SYSTEM,SYSAUX,UNDO,
临时表空间等。
System表空间用于存放数据字典和system回滚段,Sysaux(Oracle10g的新特征)表空间
用于存放各种Oracle产品和特征的信息。建议将不同类型数据部署到不同表空间上。
2. 建立本地管理表空间
2.1
本地管理(Local Managed)是Oracle10g的默认空间管理方法。
当使用本地管理方式时,Oracle使用位图维护空闲区的信息。本地管理表空间可以
避免递归空间管理,不需要合并空间碎片。
2.2 语法
Create tablespace tablespace_name
Datafile ‘file_name’ size file_size
[uniform size extent_size|autoallocate]
Blocksize block_size;
Tablespace_name:表空间名称
File_name:数据文件名称
File_size:数据文件尺寸
Extent_size:指定区尺寸
Autoallocate:指定由系统自动分配尺寸
Blocksize:指定非标准块的大小
2.3 实例
SQL> create tablespace data01
2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\DATA01.DBF' size 10M
3 uniform size 128K;
Tablespace created
3. 建立字典管理表空间
3.1
字典管理表空间(dictionary-managed tablespace)是为了与早地版本兼容而保留的
空间管理特征。
当使用字典管理方式时,区由数据字典管理。如果要建立字典管理表空间,要求
System表空间必须采用字典管理方式。
3.2 语法
CREATE TABLESPACE tablespace_name
DATAFILE 'file_name' SIZE file_size
EXTENT MANAGEMENT DICTIONARY
[DEFAULT STORAGE (storage_caluse)];
tablespace_name:表空间名称
file_name:数据文件名称
file_size:数据文件尺寸
extent management dictionary:指定表空间采用字典管理方式
default storage:指定默认存储参数
initial:指定所分配的第一个区的尺寸
next:分配的第二个区的尺寸
minextents:指定为段分配的最小区个数
maxextents:指定段可占用的最大区个数
pctincrease:指定从第三个区开始比前一个区尺寸所增长的比例
3.3 实例
SQL> create tablespace user03
2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\USERS.DBF'
3 size 5M extent management dictionary
4 default storage(
5 initial 20K next 20K
6 minextents 2 maxextents 50
7 pctincrease 50);
4. 建立大文件表空间
4.1
大文件表空间是Oracle Database 10g的新特征,该类表空间只包含一个数据文件,
但其数据文件的尺寸可以达到4G个数据块。
如果数据块尺寸为8K,那么大文件表空间的数据文件尺寸最大可以达到:
8K*4G=32T字节;如果数据块尺寸为32K,那么最大为:32K*4G=128T字节。
大文件表空间只能采用本地管理方式。
4.2 语法
CREATE BIGFILE TABLESPACE tablespace_name
DATAFILE 'file_name' SIZE file_size
[UNIFORM SIZE extent_size|AUTOALLOCATE];
tablespace_name:指定表空间名称
file_name:指定数据文件名称
file_size:数据文件尺寸
extent_size:指定区尺寸
autoallocate:指定由系统自动分配尺寸
4.3 实例
SQL> create bigfile tablespace big_tbs
2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\BIG.DBF' size 1G;
Tablespace created
5. 建立UNDO表空间
5.1
UNDO表空间用于存储UNDO段,该表空间只能使用本地管理方式。
在UNDO表空间上不能建立永久对象(表、索引和簇)。
5.2 语法
CREATE UNDO TABLESPACE tablespace_name
DATAFILE 'file_name' SIZE file_size
[UNIFORM SIZE extent_size|AUTOALLOCATE];
tablespace_name:指定表空间名称
file_name:指定数据文件名称
file_size:指定数据文件尺寸
extent_size:指定区尺寸
AUTOALLOCATE:用于指定由系统自动分配尺寸
5.3 实例
SQL> create undo tablespace undotbs2
2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS2.DBF' size 10M;
Tablespace created
6. 建立临时表空间
6.1
当执行排序操作时,服务器进程首先将临时数据放到PGA工作区。当PGA工作区不足以
存放临时数据时,服务器进程会建立临时段,并将临时数据存放到临时段。
如果数据库在运行过程中经常有大量并发排序,那么为了提高排序性能,应该建立
多个临时表空间。
6.2 语法
CREATE TEMPORARY TABLESPACE tablespace_name
TEMPFILE 'file_name' SIZE file_size
[UNIFORM SIZE extent_size|AUTOALLOCATE];
tablespace_name:指定表空间名称
file_name:数据文件名称
file_size:数据文件尺寸
extent_size:指定区尺寸
autoallocate:指定由系统自动分配区尺寸
6.3 实例
SQL> create temporary tablespace temp02
2 tempfile 'd:\oracle\oradata\demo\temp02.dbf' size 5M;
7. 建立OMF表空间
7.1
OMF表空间是指使用OMF(Oracle Managed File)方式管理的表空间。当使用OMF方式
时,在建立表空间或增加数据文件时,不需要指定数据文件名称,Oracle会自动生
成数据文件,并放到特定目录下;
当删除表空间时,Oracle会自动删除OMF文件。
当使用OMF方式建立表空间时,首先使用初始化参数db_create_file_dest指定OMF
数据文件所在目录,然后建立表空间。
7.2 实例
SQL> alter session set db_create_file_dest = 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\';
Session altered
SQL> create tablespace omf datafile size 2M;
Tablespace created
oracle 建立表空间
最新推荐文章于 2023-09-22 00:05:01 发布