1、区的概念:
区是由一系列连续的数据块构成的逻辑存储单元,是存储空间分配与回收的最小单位。当创建一个数据库对象时,Oracle为对象分配若干个区,以构成一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,Oracle会为段分配一个新区,以容纳更多的数据。
2、区的管理
(1)区的分配
在本地管理方式的表空间中,自动进行区的分配。可以通过使用UNIFORM选项,指定所有段的初始区和后续区具有统一大小,也可以使用AUTOALLOCATE选项指定由Oracle自动决定后续区大小。用户不能通过其他参数来干预区的分配。
在字典管理方式的表空间中,创建表空间时可以使用DEFAULTSTORAGE子句设置存储参数,也可以在该表空间定义对象时通过STORAGE子句设置存储参数。如果在定义对象时没有设置存储参数,则继承表空间存储参数的设置。
示例:
创建一个本地管理方式的表空间,区分配采用自动扩展方式进行。
SQL>CREATE TABLESPACE ORCLTBS6 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS6_1.DBF' SIZE 20M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
创建一个本地管理方式的表空间,区分配采用固定大小,每个区5 MB。
SQL>CREATE TABLESPACE ORCLTBS7 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS7_1.DBF' SIZE 10M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 5M;
(2)区的回收
通常分配给段的区将一直保留在段中,不论区中的数据块是否被使用。只有当段所属的对象被删除时,段中所有的区才会被回收。此外,在一些特殊情况下,也能够回收未使用的区。例如,如果在创建回滚段时指定了OPTIMAL关键字,Oracle会定期回收回滚段中未使用的区。
标签:存储,对象,空间,Oracle,笔记,oracle,分配,SIZE From: https://blog.51cto.com/u_5173797/7251465