目录
表空间创建的语法
表空间创建的例子
创建一个永久性表空间,设置表空间初始大小为100MB,自动扩展为 100MB,无最大大小限制,并且该表空间为在线状态,产生日志
创建一个永久性表空间,通过本地化管理方式,初始大小为100MB,扩展大小为等长1MB
创建一个永久性表空间,通过本地化管理方式,初始大小为100MB,扩展大小设置为自动管理,段空间管理方式为手动
创建临时表空间,通过本地化管理方式,初始大小为100MB,扩展大小为等长1MB
创建撤销表空间,大小为100MB
创建大文件表空间,文件大小为1GB
创建一个永久性表空间,对应两个数据文件,大小分别为50MB和 100MB
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
在实际数据库表空间管理中,可以根据具体应用情况,建立不同类型的表空间,
例如用于专门存放表数据的表空间、专门存放索引的表空间等。在创建表空间的时候需要指定表空间的类型、名称、数据文件、表空间管理方式、区的分配方式以及段的管理方式
表空间创建的语法
表空间创建的基本语法如下所示
CREATE TABLESPACE tablespace_name
DATAFILE file_name DATAFILE_OPTIONS
STORAGE_OPTIONS
其中:tablespace_name 为要创建的表空间名称,file_name 为对应的数据文件名称,DATAFILEOPTIONS 是数据文件选项,Storage_options是存储结构选项。此外,DATAFILE OPTIONS 还包括如下选项:
AUTOEXTEND[ONIOFF]NEXT :表示数据文件是否为自动扩展,若是自动扩展(ON),需要设置NEXT 的值。
MAXSIZE:表示数据文件扩展的时候所允许的最大字节数。
UNLIMITED:表示数据文件长度扩展时不需要指定字节长度,无限扩展
MINIMUM EXTENT :指定最小数据文件的长度,
STORAGE OPTIONS 还包括如下选项。
LOGGINGINOLOGGING:设置表空间是否产生日志,默认为产生日志。
ONLINEIOFFLINE:设置表空间为在线或者离线状态。
PERMANENT:设置创建的表空间为永久表空间,如果不设置,则默认为永久表空间。
TEMPORARY:设置创建的表空间为临时表空间。
EXTEND MANAGEMENT [DICTIONARYILOCAL:设置创建的表空间的扩展方式,DICTIONARY表示是数据字典管理,LOCAL表示是本地化管理,默认为本地化管理。SEGMENTSPACE MANAGEMENT[MANUAL1:段采用手动管理,默认为自动管理。AUTOALLOCATEIUNIFORM SIZE:如果设置的是本地化管理,在数据表空间扩展的时候,可以指定每次扩展的大小是系统自动指定,还是按照指定的大小扩展,默认的大小为 1MB。DEFAULT:系统自动产生的默认值。
表空间创建的例子
下面通过几个具体的范例来学习表空间的创建。
创建一个永久性表空间,设置表空间初始大小为100MB,自动扩展为 100MB,无最大大小限制,并且该表空间为在线状态,产生日志
根据表空间创建语法,结合要求,可以分别选择不同的参数,具体代码如下所示。
SQL>CREATE TABLESPACE tspace1 DATAFILE 'c:oracle\tspace1.dbf' SIZE 100M
AUTOEXTEND ON next 100M MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT.
创建一个永久性表空间,通过本地化管理方式,初始大小为100MB,扩展大小为等长1MB
SQL> CREATE TABLESPACE tspace2 DATAFILE 'c:oracle\tspace2.dbf'SIZE 100MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M:
如果扩展大小设置为自动管理,则可修改为如下代码。
SQL>CREATE TABLESPACE tspace2 DATAFILE 'c:oracle\tspace2.dbf' SIZE 100MEXTENT MANAGEMENT LOCAL AUTOALLOCATE:
创建一个永久性表空间,通过本地化管理方式,初始大小为100MB,扩展大小设置为自动管理,段空间管理方式为手动
SQL>CREATE TABLESPACE tspace3 DATAFILE 'c:oracle\tspace3.dbf' SIZE 100M EXTENTMANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL:
如果修改段空间管理方式为自动,则代码如下所示。
SOL> CREATE TABLESPACE Ispace3 DATAFILE 'coracleltspace3,dbf' SIZE 100M EXTENTMANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO:
创建临时表空间,通过本地化管理方式,初始大小为100MB,扩展大小为等长1MB
SQL> CREATE TEMPORARY TABLESPACE tspace4 DATAFILE 'c:oracleitspace4.dbf' SIZE 100OMBEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1MB;
创建撤销表空间,大小为100MB
SQL> CREATE UNDO TABLESPACE tspace5 DATAFILE 'c:oracleitspace5.dbf' SIZE 100MB :
撤销表空间只能采用自动分配方式,必须是本地管理。
创建大文件表空间,文件大小为1GB
SQL> CREATE BIGFILE TABLESPACE tspace6 DATAFILE 'c:oraclevtspace6.dbf' SIZE 1GB ;
大文件表空间中段的管理只能采用自动管理方式,不能采用手动管理方式。此外,一个大文件表空间只能包含一个数据文件。
与大文件表空间不同,传统表空间可以包含多个数据文件。
创建一个永久性表空间,对应两个数据文件,大小分别为50MB和 100MB
SQL> CREATE TABLESPACE tspace7 DATAFILE 'c:oracleitspace7 1.dbf' SIZE 50MB 'c:oracle\tspace7_2.dbf' SIZE 100MB :