文档详情

oracle从入门到精通科技光盘内容章创建表空间.pdf

发布:2025-01-08约2.14千字共7页下载文档
文本预览下载声明

创建表空间

本讲大纲:

1、创建表空间的语法

2、通过本地化管理方式创建表空间

3、通过段空间管理方式创建表空间

4、创建非标准块表空间

5、建立大文件表空间

支持:

创建表空间的语法

创建表空间的语法如下:

CREATE[SMALLFILE/BIGFILE]TABLESPACEtablespace_name

DATAFILE‘/path/filename’SIZEnum[k/m]REUSE

[,’/path/filename’SIZEnum[k/m]REUSE]

[,…]

[AUTOEXTEND[ON|OFF]NEXTnum[k/m]

[MAXSIZE[UNLIMITED|num[k/m]]]]

[MININUMEXTENTnum[k/m]]

[DEFAULTSTORAGEstorage]

[ONLINE|OFFLINE]

[LOGGING|NOLOGGING]

[PERMANENT|TEMPORARY]

[EXTENTMANAGEMENTDICTIONARY|LOCAL[AUTOALLOCATE

|UNIFORMSIZEnum[k/m]]]]

通过本地化管理方式创建表空间

本地化表空间管理使用位图表空间所对应的数据文件的自

由空间和块的使用状态,位图中的每个单元对应一个块或一组块。

当分配或释放一个扩展时,Oracle会改变位图的值以指示该快的状

态。这些位图值的改变不会产生回滚信息,因为它们不更新数据字

典的任何表。

通过段空间管理方式创建表空间

1.手工段空间管理方式

手工段空间管理方式是为了往后兼容而保留的,它使用自由块列表和

PCT_FREE与PCT_USED参数来标识可供操作使用的数据块。

在每个INSERT或UPDATE操作后,数据库都会比较该数据块中的剩余自

由空间与该段的PCT_FREE设置。如果数据块的剩余自由空间少于

PCT_FREE自由空间(也就是说剩余空间已经进入系统的下限设置),则数

据库就会从自由块列表上将其取下,不再对其进行操作。剩余的空余空

间保留给可能会增大该数据块中行大小的UPDATE操作。

2.自动段空间管理方式

如果采用自动段空间管理方式,那么数据库会使用位图而不是自由列表

来标识哪些数据块可以用于操作,哪些数据块需要从自由块列表上将其

取下。此时,表空间段的PCT_FREE和PCT_USED参数会被自动忽略。

创建非标准块表空间

在Oracle数据库中,通常的块大小为8192字节,即8KB,但Oracle

11g允许创建块大小与基本块不同的表空间,块大小可由创建表空间时的

blocksize参数指定,这样有利于不同大小的对象,但用户需要注意以

下三点:

1表空间的非标准块的大小为基本块的倍数。比如,大小为16KB,

64KB,128KB。

2Oracle11g通常使用SGA自动共享内存管理,因此需要设置初始化参

数db_16k_cache_size=16K。

3这种块较大的表空间通常用来存放大对象(LOB)类型。

建立大文件表空间

从Oracle11g版本开始,引进了一个新的表空间类型——大文件

(BIGFILE)。与以前版本的最多可由1022个文件组成的表空间不同;大文

件表空间存放在一个单一的数据文件中,并且它需要更大的磁盘容量来存放

数据;大文件表空间可以根据选择的块的大小变化,从32TB增至128TB。

大文件表空间是为超大型数据库而设计的。当一个超大型数据库具有上

千个读/写数据文件时,必须更新数据文件头部(比如检查点)的操作可能

会花费相当长的时间。如果降低数据文件的数量,那么,这些操作完成起来

就可能会快的多。创建一个大文件表空间,只需要在CREATE语句中使用

BIGFI

显示全部
相似文档