理论教育 Oracle数据库管理与开发:创建表空间

Oracle数据库管理与开发:创建表空间

时间:2023-10-30 理论教育 版权反馈
【摘要】:CREATE TABLESPACE在创建数据库之后,调用这些语句可分别为数据库创建永久表空间、临时表空间和还原表空间。BIGFILE表空间的区不能采用字典管理方式。省略该选项时,创建的表空间将处于联机状态。其中的REUSE选项说明在创建表空间时,如果该文件已经存在,则覆盖它。

Oracle数据库管理与开发:创建表空间

创建表空间可以采用Oracle企业管理器(OEM),也可以调用SQL语句。本章主要介绍相应的SQL语句操作。

Oracle数据库中有两组语句可以创建表空间。

(1)CREATE DATABASE

正如用户在创建数据库orcl时所看到的,CREATE DATABASE语句在创建数据库时创建了SYSTEM和SYSAUX两个永久表空间、一个临时表空间TEMP和一个还原表空间UNDOTBS1。

(2)CREATE TABLESPACE

在创建数据库之后,调用这些语句可分别为数据库创建永久表空间、临时表空间和还原表空间。

需要注意的是,在调用这些语句创建表空间之前,首先必须使用操作系统命令创建存储数据文件所使用的目录结构,因为这些语句只能为表空间创建指定的数据文件,而不能在文件系统内创建目录结构。

CREATE TABLESPACE语句的语法格式为

CREATE[BIGFILE I SMALLFILE]TABLESPACE表空间名

[DATAFILE数据文件定义[,数据文件定义...]]

[BLOCKSIZE整数[K]]

[LOGGING|NOLOGGING]

[FORCE LOGGING]

[ONLINE|OFFLINE]

[区存储管理子句](www.daowen.com)

[段空间管理子句]

其中各选项的作用如下:

①BIGFILE I SMALLFILE:指出所创建的表空间是BIGFILE表空间,还是SMALLFILE表空间。每个BIGFILE表空间只能包含一个数据文件,它最多可容纳大约4 G(232)个数据块,当表空间数据块大小是8 KB时,该表空间的存储容量可达32 TB。BIGFILE表空间的区不能采用字典管理方式。而SMALLFILE表空间是传统的Oracle表空间,它最多可以包含1 022个数据文件,每个数据文件可容纳4 M(222)个数据块。省略该选项时,默认创建的表空间为SMALLFILE类型表空间。

②DATAFILE数据文件定义:该子句中的数据文件定义部分给出所创建表空间的数据文件说明。

③BLOCKSIZE整数[K]:该子句指出表空间采用非标准数据块,其中的整数指出所使用的非标准数据块大小是多少千字节。

④LOGGING|NOLOGGING:指出该表空间内所有表、索引、分区、物化视图、物化视图日志等的日志属性。LOGGING要求把数据库对象的创建及操作日志写入重做日志文件中,这是默认设置。NOLOGGING则要求对数据库对象的操作不写入重做日志文件,没有重做日志,也就不可能进行介质恢复,但这样可以改善性能。表空间一级的日志属性可以被数据库对象级的日志属性所改写。

⑤FORCE LOGGING:使表空间处于强制日志模式。这时Oracle数据库将忽略LOGGING|NOLOGGING设置,而把该表空间内所有对象上的所有修改全部记录到重做日志文件中。

⑥ONLINE|OFFLINE:指出表空间创建之后是处于ONLINE(联机)状态还是OFFLINE(脱机)状态。省略该选项时,创建的表空间将处于联机状态。

⑦区存储管理子句:指出怎样管理表空间内区(extent)的分配。

⑧段空间管理子句:指出怎样记录表空间中各个段内存储空间的使用情况。

CEATE TABLESPACE语句内的以上各子句均为选项,所以可以全部省略。

下面回顾一下创建USERS表空间时所调用的SQL语句:

该语句创建的USERS表空间是一个SMALLFILE类型的表空间,它由一个数据文件组成,文件的初始大小是5 MB。其中的REUSE选项说明在创建表空间时,如果该文件已经存在,则覆盖它。如果该文件已经存在,但在DATAFILE子句中未使用REUSE选项,将导致语句执行失败。AUTOEXTEND ON选项说明在数据文件存储空间用完时允许Oracle自动扩展数据文件的大小。NEXT选项指出数据文件每次扩展1 280 KB。MAXSIZE UNLIMITED说明该数据文件大小扩展不受限制,但实际中数据文件的扩展受到磁盘空间和单个文件最大容量的限制。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈