`
oolala
  • 浏览: 99754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:21664
社区版块
存档分类
最新评论

oracle学习之6管理对象空间

阅读更多

管理对象空间

 

1)

段用于存储特定对象的所有数据,它是由一个或多个区组成。当建立表、索引和簇等对象,oracle会为这些对象分配存储空间,以存放它们的数据信息。为这些对象所分配的存储空间被称为段。在一个表空间上可以包含一个或多个段,一个段只能存放在一个表空间。

Ø  表段table:表段用于存储表的所有数据

Ø  表分区段table partition:表分区段用于存储分区表某个分区的数据,每个分区对应一个                                   表分区段。通过使用分区选项,可以将一张大表的数据部署到多个不同的分区段中,从而降低I/O次数,最终提高I/O性能。

Ø  簇段cluster:簇段用于存储簇表的数据,其名称与簇名相同。

Ø  索引段index:索引段用于存储索引的数据,其名称与索引名完全相同。

Ø  索引分区段index partition:索引分区段用于存储分区索引某个分区的数据

Ø  索引组织表段index-organized table:索引组织表是以B*树结构来组织数据的。

Ø  undo段:undo段用于存放事务所修改数据的旧值。

Ø  临时段temporary segment:临时段用于存放排序操作所产生的临时数据。

执行以下操作会被放到临时段中:

create index

select ......order by

select distinct...

select ...group by

select..union

select...intersect

select...minus

Ø  lob段: lob段用于存储lob列的数据,如文献、图像、音频。

Ø  嵌套表段nested table:嵌套表段用于存放嵌套表类型列的数据。

Ø  根引导段cache:根引导段用于初始化数据字典高速缓存,因此也被称为cache段。

 

1)  显示段信息

Ø  显示段类型:

a)显示数据库包含的所有段类型:

select distinct segment_type from dba_segments

Ø  建立表、索引和簇时,oracle会为这些对象分配相应的段,并且将段的信息记载到数据字典中。

select tablespace_name,extents,bytes from dba_segments

where ower=’scott’ and segment_name=’emp’

tablespace_name 用于标识段所在表空间,extends用于标识段所包含区个数,bytes用于标识段尺寸,owner用于标识段的所有者,segment_name用于标识段名。

2)  存储参数

a)initialinitial用于指定为段所分配的第一个区的尺寸。

当在本地管理表空间上建立数据库对象时,通过使用initial参数和区尺寸可以确定段的初始尺寸。确定段初始尺寸的方法

create table t1(cola INT) tablespace user01 storage(initial 500k);

其中tablespace选项用于指定段所在表空间,storage用于指定段的存储参数,

initial用于指定段的初始尺寸

a)  next:对于字典管理表空间来说,next用于指定为段所分配的第二个区的尺寸。

 

4)显示区信息

Ø  显示已分配区

select extents_id,file_id,block_id,bytes from dba_extends

where owner=’sys’ and segment_name=’t1’;

extent_id用于标识区编号(0:表示第0个区),file_id用于标识区所在的文件号,

 block_id用于标识区的起始块号,bytes用于标识区的尺寸。

 

Ø  显示空闲区

当在表空间上建立数据对象(表、索引和簇)时,oracle会在表空间的剩余空间中为相应段分配空间。当段不足以容纳更多数据时,oracle会通过分配区来扩展段。

例:显示user01表空间剩余空间为例

select sum(bytes) from dba_free_space where tablespace_name=’user01’

 

 

3)  管理数据块空间

数据块也被称为oracle块,它是oracle在数据文件上执行I/O操作最小单位。

Ø  PCTFREE

该参数用于指定在数据块内为update操作所预留空间的百分比,默认值为10

该参数有效值为0~99,但PCTFREEPCTUSED总和不能超过100.在数据块达到

PCTFREE之前,插入新行和块头扩展都可以使用相应的剩余空间。

 

假定PCTFREE20,那么当剩余空间超过20%时,insert操作可以使用数据块的剩余空间;当剩余空间低于20%时,insert操作将不能使用该部分空间,这些剩余空间是为update操作保留的。

 

参数PCTFREE的原则如:

a)使用小的PCTFREE可以提高update性能,如果对象update操作很少,应该使用较小的pctfree

b)使用大的PCTFREE可以提高update性能,如果对象的update操作非常频繁,应该使用较大的PCTFREE.

 

Ø  PCTUSED

该参数用于指定将数据块标记为可重用块的已用空间最低百分比,默认值为40.该参数有效值为0~99,但PCTFREEPCTUSED总和不能超过100.当数据块已经达到PCTFREE时,该数据块将不能被插入数据,只能删除了数据块的部分数据,并且数据块已用空间低于PCTUSED时,该数据块才能重新插入数据。

 

Ø  INITRANS

INITRANS用于指定初始事务入口个数,设置了该参数后,oracle会在数据块的块头上为每个事务入口预留相应的空间。INITRANS设置越大,数据块的剩余空间越少,当INITRANS预留的空间被用心之后,oracle会从剩余空间中分配更多的空间,并且这些空间会变为块头空间永久部分。

 

5)使用块空间参数

建立数据对象(表、索引和簇)时,可以指定块空间参数PCTFREE PCTUSEDINITRANS

a)  建立对象时指定块空间参数

SQL>create cluster dept_emp_clu(deptno number(3))

pctfree 20 pctused 40 initrans 4;

 

   SQL>create table deartment (deptno number(2),dname varchar2(10))

       pctfree 20 pctused 40 initrans 4;

 

   SQL>create index pk_deptno on department(deptno)

       pctfree 20 initrans 4;

 

b)  改变对象的块空间参数

建立了数据对象后,如果空间参数不适合,用户可以使用alter命令修改块空间参数,索引cptfree参数不能修改。

SQL>alter cluster dept_emp_clu pctfree 30 pctused 40 initrans 4;

SQL>alter table department pctfree 30 pctused 40 initrans 4;

SQL>alter index pk_deptno initrans 4;

 

4)  显示块空间参数

a)  建立簇时,可以指定块空间参数。如果不指定块空间参数,oracle会自动为相应参数提供默认值。通过查询dba_clusters,可以取得簇的块空间参数。

SQL>select pct_free,pct_used,ini_trans,maxtrans

           from dba_clusters where owner=’system’ and cluster_name=’dept_emp_

           clu’;

b)  显示表的块空间参数

SQL>select pct_free,pct_used,ini_trans,max_trans

from dba_tables

where owner=’system’ and table_name=’department’

 

c)  显示索引的块空间参数

SQL>select pct_free,ini_trans,max_trans

from dba_indexes

where owner=’system’ and index_name=’pk_deptno’;

0
1
分享到:
评论

相关推荐

    Oracle.9i数据库管理员指南(PDF)

    14,管理模式对象空间 15,管理表 16,管理索引 17,管理分区表和分区索引 18,管理簇 19,管理散列簇 20,管理视图、序列和同义词 21,模式对象的常规管理 22,检测和修复数据块损坏 第4部分,数据库的安全 23,...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 ...

    学生成绩管理系统Oracle全部SQL语句.txt

    选定某一主题,运用oracle数据库,以及相关技术方法设计和开发一个信息管理的数据库系统,实现数据库的开发应用以及日常管理维护等基本功能。 具体要求如下: (1)选定某一主题,创建一个oracle数据库,对其进行...

    韩顺平oracle学习笔记

    韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    oracle database 10g 完整参考手册part1

    第6章 基本的SQL*Plus报表及命令 第7章 文本信息的收集与修改 第8章 正则表达式搜索 第9章 数值处理 第10章 日期:过去、现在及日期的差 第11章 转换函数与变换函数 第12章 分组函数 第13章 当一个查询依赖于另一个...

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    学习Oracle 11g的新特性 第2章-Oracle 11g的安装与测试 能够使用Oracle 11g的基本条件 在Windows 2003上安装Oracle 11g 移除Oracle 11g 第3章-熟悉数据库 什么是数据库 范式,设计关系型数据库的准则 绘制...

    oracle数据库基本概念——我的Oracle学习之路

    Oracle数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函数、包等对象,并对这些对象进行统一的管理。用户只有和一个确定的数据库连接,才能使用和管理该数据库中的数据。 逻辑存储结构 表空间 ...

    Oracle11g从入门到精通2

     Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。  全书结构合理、内容翔实、示例丰富...

    Oracle11g从入门到精通

     Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。  全书结构合理、内容翔实、示例丰富...

    Oracle 10g Concepts 中文版

    oracle官方的学习资料,中英文对照 目录如下: 第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database Architecture 第二部分 Oracle ...

    Oracle数据库精讲与疑难解析

    通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...

    Oracle 10g应用指导

    同其他数据库管理系统相比,Oracle产品较为庞大而复杂,因此,令许多数据库管理系统的学习者在Oracle面前止步不前,究其原因,主要是无法掌握Oracle技术的脉络。本书正是根据作者在高校和各种数据库培训班执教多年的...

    oracle 学习记录

    本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL...

    Oracle 10g r2 Concepts 手册(中英文对照阅读版本).chm

    Oracle 10g r2 Concepts 手册是一个很好的学习 Oracle 的起点,涉及到了你所需要知道的许多重要 Oracle 概念。当然,其中不可能会涵盖每一个技术细节(Oracle 文档提供了技术细节,不过它有 10000 ~ 20000 页),...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     《Oracle11g宝典》是Oracle数据库管理员、安全管理员、网络管理员、应用开发人员的参考指南,还是Oracle技术支持和培训机构、Oracle学习班、高等院校计算机专业数据库课程的参考教材和上机指导教材。每类人员都...

    Oracle+10g应用指导与案例精讲

    同其他数据库管理系统相比,Oracle产品较为庞大而复杂,因此,令许多数据库管理系统的学习者在Oracle面前止步不前,究其原因,主要是无法掌握Oracle技术的脉络。本书正是根据作者在高校和各种数据库培训班执教多年的...

    Oracle Database 11g初学者指南--详细书签版

    本书带领读者循序渐进地学习数据库设置、管理、编程、备份和恢复。还深入介绍了sql和pl/sql。为了易于学习,这本独特的oracle press指南是这样组织的:  ·核心概念——oracle database 11g主题呈现在按逻辑组织的...

Global site tag (gtag.js) - Google Analytics