Oracle11GR2表空间(持续更新)

表空间

数据库分为多个逻辑存储单元,这些单元称为“表空间”,用于将相关逻辑结构组合在一起。例如,表空间一般会将应用程序的所有对象分成一组,以简化一些管理操作。可以使用一个表空间存放应用程序数据,使用另一个存放应用程序索引。



数据库被划分为多个“表空间”,表空间是可用于将相关逻辑结构组合在一起的逻辑存储单元。每个数据库在逻辑上都分为一个或多个表空间。 对每个表空间均显式创建一个或多个数据文件,每个数据文件只属于一个表空间,表空间在物理上将所有逻辑结构的数据都存储在表空间中。
注:还可以创建大文件表空间,这种表空间只有一个文件。此文件通常非常大,其大小可达到行ID 体系结构允许的最大大小。此最大大小是表空间的块大小乘以236,即,如果块大小为32 KB,则最大大小为128 TB。传统的小文件表空间(默认值)通常包含多个数据文件,但这些文件不能很大。

表空间可以包括不同大小的段
从以下可知道,在users表空间中,有很多段,并且段的大小不一样。
BIN$55yRiDitVuDgQwEA 这个表占用两个区,16个数据库,bytes和其他的不一样。

sys@TEST0924> select SEGMENT_NAME,SEGMENT_TYPE,SEGMENT_SUBTYPE,TABLESPACE_NAME,BYTES,BLOCKS,EXTENTS from dba_segments where owner='SCOTT';

SEGMENT_NAME         SEGMENT_TYPE       SEGMENT_SU TABLESPACE_NAME                     BYTES     BLOCKS    EXTENTS
-------------------- ------------------ ---------- ------------------------------ ---------- ---------- ----------
PK_DEPT              INDEX              ASSM       USERS                               65536          8          1
FACULTY              TABLE              ASSM       USERS                               65536          8          1
STUDENT              TABLE              ASSM       USERS                               65536          8          1
CUST_STATUS          TABLE              ASSM       USERS                               65536          8          1
PRICE_LIST           TABLE              ASSM       USERS                               65536          8          1
BIN$55yRiDitVuDgQwEA TABLE              ASSM       USERS                              131072         16          2
...
12 rows selected.

You cannot drop a tablespace that contains any active segments.

For example, if a table in the tablespace iscurrently being used or the tablespace contains undo data needed to roll backuncommitted transactions, you cannot drop the tablespace. The tablespace can be online or offline, but it is best to take the tablespace offline before dropping it.

官方参考:http://docs.oracle.com/cd/E11882_01/server.112/e25494/tspaces.htm#i1007008



当数据库使用非标准块表空间时,“DB_nK_CACHE_SIZE”参数将会派上用场,正所谓特殊场合特殊设置,因此在默认块尺寸下我们毋须设置与之对应的cache参数。
 
不同块尺寸的数据缓冲区的大小就由相应参数db_nk_cache_size来指定,其中n可以是2,4,8,16或32。
如须创建一个大小为2K的非标准尺寸的表空间,则须先指定db_2k_cache_size为这个表空间指定缓存区的大小。
注意:db_nk_cache_size不能设置默认标准块大小的缓冲区,如默认块大小为8K,
 则不能设置参数db_8k_cache_size,因为这个是用来设置非标准块的。


  SEGMENT SPACE MANAGEMENT AUTO:
  段空间管理:本地管理的表空间中的段空间管理方式可指定为:
• 自动:Oracle DB 使用位图管理段中的空闲空间。位图描述了段中每个数据块的状态,该状态与可插入行的块中的空间量有关。当数据块中可用空间增多或减少时,位图中会反映数据块的新状态。通过使用位图,Oracle DB 可以提高管理空闲空间的自动化程度。因此,这种空间管理方式称为“自动段空间管理(ASSM)”。
USERS表空间的SEGMENT MANAGEMENT 为AUTO,也即是说users表空间使用ASSM管理方式,是使用位图管理段中的空闲空间。
 
• 手动:此方法指定要使用空闲列表来管理段中的空闲空间。空闲列表是由一些数据块组成的列表,这些数据块中有可插入行的空间。由于这种管理段空间的方式需要为在表空间中创建的方案对象指定并优化PCTUSED、FREELISTS和FREELIST GROUPS存储参数,因此这种方式称为“手动段空间管理”。支持使用此方法是为了向后兼容,建议使用ASSM。
参考: http://blog.csdn.net/rlhua/article/details/12572003


smallfle表空间扩容:

1、增加一个文件:ALTER TABLESPACE lmtbsb ADD DATAFILE '/u02/Oracle/data/lmtbsb02.dbf' SIZE 1M;

2、改变原来数据文件的大小:ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' RESIZE 300M;

3、设置自动增长:ALTER TABLESPACE users ADD DATAFILE '/u02/oracle/rbdb1/users03.dbf' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 250M;

官方参考: http://docs.oracle.com/cd/E11882_01/server.112/e25494/tspaces.htm#BABDFCAE


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值