Oracle10g 表空间管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
段与碎片特征



数据字典段:没有产生碎片的倾向,因为没有空闲空间 应用数据段:有较低的碎片倾向 回 退 段:有适度的碎片倾向 临 时 段:有较高的碎片倾向 将在不同的表空间中竞争磁盘资源的段分隔开来,可以减少磁盘竞争 将字典段和其他段分隔开来 将回退段和其他段分隔开来 将数据段和它们对应的索引段分隔开来


决定表空间
在决定适合你的数据库的表空间结构前,考虑 将要存储的数据的特征。
主要考虑的因素如下:



设置操作系统目录结构 将碎片减到最小 将磁盘竞争减到最小 将段分开 数据库物理文件的分散存储
E_mail:tengyc@263.net 8
减少碎片
在不同的表空间中不同组的实体有不同的碎片特征。
数据字典管理的表空间类型
SQL>select tablespace_name,extent_management,allocation_type from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN ALLOCATIO ------------------------------ ---------- ------------------------------------SYSTEM DICTIONARY USER UNDOTBS1 LOCAL SYSTEM SYSAUX LOCAL SYSTEM TEMP LOCAL UNIFORM USERS LOCAL SYSTEM EXAMPLE LOCAL SYSTEM DATA_2004 DICTIONARY USER
Oracle10g支持的表空间类型
SQL>select tablespace_name,extent_management,allocation_type from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN ALLOCATIO ------------------------------ ---------- ------------------------------------SYSTEM LOCAL SYSTEM UNDOTBS1 LOCAL SYSTEM SYSAUX LOCAL SYSTEM TEMP LOCAL UNIFORM USERS LOCAL SYSTEM EXAMPLE LOCAL SYSTEM
Oracle表空间类型
Oracle表空间类型
数据字典管理表空间(Oracle7,8,8i)
表空间
Uniform
本地化管理表空间 (Oracle8i,9i,10g) AutoAllocate
数据字典管理表空间(手工创建数据库)
表空间
Uniform AutoAllocate
本地化管理表空间 (定制安装数据库)
E_mail:tengyc@263.net 9
减少磁盘竞争


将段分离
将具有不同行为特征的实体各段分离到不同的表空间中。
通过以下方式分离段



把有不同备份需要的段分开 分离日常不同功用的段 把有不同生命周期的段分开
数据库文件存储

在两个不同的物理磁盘上保存控制文件的至少两个活动的 拷贝。 使用多个Redo Log文件组并将每组成员放在不同的磁盘上。 把参与磁盘竞争的表空间分布于不同物理磁盘上。

本地化管理表空间
(Locally Managed Tablespaces)



本地化管理表空间不使用数据字典去寻找空闲空间,而 使用维护位图(Bitmap of Tree)方法,以使用表空间中 的数据块,以避免使用SQL语句引起系统性能的下降。 自动消除磁盘碎片。在本地化管理表空间中相邻的空闲 区被是视为一个大的可用空间,从设计上保证自动合并 磁盘碎片。 在表空间级强制设置存储参数。DBA不再担心用户使 用了不正确的存储参数及磁盘碎片的产生。 本地化管理表空间支持临时表空间与临时数据文件。临 时表空间不产生日志数据、不需要保证数据完整性。
EXTENT MANAGEMENT LOCAL UNIFORM
特点: 1.区的大小相同,任何独立的空闲区,被作为一个大区使 用,不产生磁盘碎片。 2.实体使用统一的存储参数。
创建本地化管理表空间
区自动分配(Automatic Extent Allocation)
CREATE TABLESPACE tablespace
Oracle10g支持的表空间类型
SQL>select tablespace_name,extent_management,allocation_type from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN ALLOCATIO ------------------------------ ---------- ------------------------------------SYSTEM DICTIONARY USER RBS DICTIONARY USER TEMP DICTIONARY USER USERS DICTIONARY USER TOOLS DICTIONARY USER INDX DICTIONARY USER
Oracle10g 表空间管理
表空间的基本概念
表空间的基本概念
Tablespace
Oracle数据库 中的数据逻辑 地存储在表空 间并物理地存 储在数据文件 中。
Segment
Extent
Extent
Data Blocks Data File
表空间的基本概念
• 每个表空间包含一个或多个操作系统文件



修改表空间
ALTER TABLESPACE tablespace ADD DATAFILE ‘filespec’
RENAME
DATAFILE ‘filespec’
TO
目的
DEFAULT STORAGE ONLINE OFFLINE

SYSTEM SYSAUX UNDOTBS1 EXAMPLE TEMP USERS …
E_mail:tengyc@263.net 5
关于SYSAUX表空间
• •
SYSAUX表空间是第二个存储数据库标识的表空间,其 中部分数据库标识原存储在SYSTEM表空间中。 在Oracle8i、Oracle9i 中,在系统表空间中需要存储一些 必须的数据库信息。例如,RMAN恢复目录信息、Data Mining、OLAP等信息,这些信息增加了系统表空间的 存储空间。 Oracle10g将这些附加的表空间中的信息存储到表空间 SYSAUX中,该表空间成为SYSTEM的辅助表空间。 SYSAUX表空间类型必须为:本地化管理及Segment Space Management Auto类型。
Dictionary Tablespaces
创建字典管理表空间
创建数据字典类表空间
CREATE TABLESPACE tablespace DATAFILE ‘filespec’
Autoextend .
EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
ONLINE
OFFLINE
Locally Managed Tablespaces
创建本地化管理表空间
创建本地化管理表空间
区大小相同(Uniform Extent Allocation)
CREATE TABLESPACE tablespace
DATAFILE ‘filespec’ SIZE xxx M
SIZE xxx K
DATAFILE ‘filespec’ SIZE xxx M
EXTENT MANAGEMENT LOCALBaidu NhomakorabeaAUTOALLOCATE
特点: 1.区的大小在表空间级定义,非实体级 2.在实体级不得使用Storage设置参数 3.缺省为AUTOALLOCATE
创建临时表空间组
(Temporary Tablespace Group)
表空间置有联机(ONLINE)、或脱机(OFFLINE)属性 除SYSTEM、SYSAUX、UNDOTBS1及TEMP表空 间外,表空间可以置为脱机(OFFLINE),不影响数 据库运行 在创建完成数据库结构后,要决定创建的表空间

E_mail:tengyc@263.net
4
决定表空间
Oracle Database 10g数据库应具有的 表空间如下:
Oracle10g支持的表空间类型
数据字典管理表空间
(Dictionary-Managed Tablespaces)
在数据字典管理的表空间中,如果实体要分配空间, Oracle必须查询数据字典来确定可用空间,影响系 统的性能,尤其是对于OLTP系统。 在数据字典表空间中,如果要在表空间中为表分配 一个新区,Oracle必须执行SQL语句去查询数据字 典以寻找空闲空间,并标记为空的可用空间。 数据字典管理表空间允许用户随意修改区的存储参 数。同一表空间中的实体可以具有不同的存储参数, 一个实体其区的大小可以不相同。

在Oracle Database 10g中,允许定义临时表空间 组,临时表空间组是一组多个临时表空间的逻辑组 合。 可以将临时表空间组作为系统的缺省临时表空间。
创建表空间组时,只需将第一个临时表空间指定为 某一个组即可,当表空间组中的最后一个临时表空 间被删除后,则该临时表空间组被自动删除。 可以在创建临时表空间时可以将该表空间指定为某 一个临时表空间组的一个成员。 可以使用修改表空间命令将表空间作为临时表空间
相关文档
最新文档