oracle段管理分析

oracle段管理分析,第1张

( )段 区段 块

Oracle中的段segment是占用磁盘存储空间的一个对象 从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成 每个表空间有若干个表(TABLE) 每个表又可以分为若干数据段(DATA SEGMENT) 索引段等 每个段又可分为若干数据库区间(EXTENT) 每个区间由若干数据块(BLOCK)组成 区段(EXTENT)是最小的分配单 块(BLOCK) 是最小的存储单位

( )常见的段类型

聚簇cluster 分为散列聚簇和B*树聚簇 通常用于存储多个表上的相关数据

可以在聚簇段中建表 此时这个表可能与其它表同在一个聚簇段中

表table 表段用于保存一个数据库表的数据 是最常用的段类型 通常与索引段结合使用

表分区partition或子分区subpartition 主要用于分区 与表段类型

索引index 这种段类型用于保存索引结构

Lob分区 子分区 索引 Lob段 用于保存大对象的结构 每个LOB列需要分别创建两个段 一个用于存储CLOB或BLOB的

实际数据块logsegment 另一个是用于跟踪这些LOB块在哪里的lobindex

嵌套表nested table 这是为嵌套表指定的段类型

回滚段 用于存放undo的数据

( )段的管理

手动段空间管理Manual Segment Space Management

手动设置FreeLists FreeList Groups PctUsed 其它参数来控制如何分配 使用 重用段空间 MSSM是oracle的遗留实现 许多版本都支持MSSM

自动段空间管理Automatic Segmnet Space Management

只需要控制与空间使用相关的PctFree 其它参数被忽略 ASSM只有在 i版本后才被引入 用于减少MSSM中的太多参数的管理

应用于ASSM段的存储设置只有Buffer_Pool PctFree IniTrans MaxTrans( g后的版本都会忽略这个参数) 其它存储和物理属性参数都不适用于ASSM段

段空间管理是从段的表空间继承来的一个属性 而且段都没有跨表空间 段要使用ASSM就必须位于支持ASSM空间管理的表空间中

HWM高水平线

HWM是随着表数据的增长而增长的 只有重建 截除 收缩对象时 HWM才会降低 HWM很重要 因为在oracle进行全表扫描时会扫描HWM下的所有块 即使这张数据库表不包含任何数据

TrunCate会把表的HWM重新置为 还会截除表上的相关索引 而DELETE整张表时并没有修改HWM 所以如果打算删除表的所有行 应尽量使用TrunCate

在MSSM表空间中 段只有一个HWM 但在ASSM表空间中 除了HWM外 还有一个低HWM 这是因为在ASSM中 HWM推进时 ORACLE并没有立即格式化所有的物理块 而是只在第一次使用时才会完成格式化 以便安全读取

freelists

freelists是使用MSSM表空间时 oracle使用块时 需要把块放在freelist或从freelist中删除 freelists可能对性能有很大的提升或有很大的影响

而在ASSM中 没有也不用去设置freelist参数

create tablespace as *** datafile size m autoextend on next m segment space management auto

create table xxx( ) tablespace as ***

( )pctfree与pctused

PctFree告诉oracle应该在块上保留多少空间来完成将来的更新 默认值是 % 如果自由空间的百分比高于PctFree指定值 这个块就称为自由的 PctUsed告诉oracle应在当前不自由的块上自由空间的百分比需要达到多大时 才能使它再次变为自由的 默认值为 %

使用MSSM 时 这两个参数设置控制着块何时放入freelist 中 以及何时从freelist 中取出 如果使用默认值 PCTFREE为 PCTUSED为 那么在块到达 %满之前(有 %以上的自由空间) 这个块会一直在freelist 上 一旦到底 % 就会从freelist 中取出 而且直到块上的自由空间超过了块的 %时 才会重新回到freelist上 在此之前 这个块一直不在freelist上

使用ASSM 时 PCTFREE 仍然会限制能否将一个新行插入到一个块中 但是它不会控制一个块是否在freelist上 因为ASSM根本不使用freelist 在ASSM 中 PCTUSED参数将被忽略

如果把块的PCTFREE 设置得过高 就会浪费空间 如果把PCTFREE 设置为 % 而你从未更新数据 那么每个块都会浪费 %的空间 不过 对行初始很小 现在想将行的大小加倍 这种情况下 %的设置就非常合理 但是倘若PCTFREE 设置得太小 更新行时就会导致行迁移

高PCTFREE 低PCTUSED

如果你插入了将要更新的大量数据 而且这些更新会频繁地增加行的大小 此时就适合采用这种设置 这种设置在插入后会在块上预留大量的空间(高PCTFREE) 并使得将块放回到freelist 之前必须几乎为空(低PCTUSED)

低PCTFREE 高PCTUSED

如果你只想对表完成INSERT 或DELETE 或者如果你确实要完成UPDATE 但UPDATE 只是缩小行的大小 此时这种设置就很适合

( )行迁移row migration

lishixinzhi/Article/program/Oracle/201311/17472

段管理主要有两种方式:

ASSM自动管理方式AUTO,采用位图管理段的存储空间,使用位图来管理段中已用数据块和空闲数据

块.

MSSM手工管理方式MANUAL, 采用FREELIST管理段的存储空间,使用FREELIST来管理段中间的空

闲数据块.

数据块的管理方法分为:

1、自动管理方式如创建表空间时设置为本地管理方式,并且将段的存储空间方式设置为

AUTO,该表空间的所有块均采用自动管理方式。系统默认值,

2、手工管理方式是传统的管理方式,主要通过PCTFREE和PCTUSED两个存储参数控制可用

存储区的大小,避免行迁移现象的发生。这两个参数可在创建表空间时设置,

也可在数据库的模式对象(表,索引)中设置。模式对象中设置的优先级比表空间的要高

。如表和索引中没有设置,则按表空间的设置,如表空间也没设置,

则按自动管理方式管理块。

dbdao.com Oracle学习 http://www.dbdao.com/dba-road

第一部分:ORACLE体系结构(6天)

Oracle的安装和配置 Linux下Oracle的安装以及数据库的创建

Oracle的网络配置与连接

EM工具的配置和连接

Isqlplus的配置和连接

Oracle的打补丁升级

在Linux下Oracle自动启动与关闭

Oracle启动与关闭的流程环节详细剖析

Oracle的卸载与删除

Sqldeveloper的安装与配置

动态性能视图v$

数据字典DBA/ALL/USER_的表

Oracle内存和进程管理 Oracle的内存结构以及SGA自动管理、ASMM

SGA中各组件的LRU、LRUW算法与内存命中率深入剖析

BUFFER的内存结构以及KEEP\RECYCLE缓冲区的使用

深入剖析Oracle脏数据和脏缓冲概念和原理以及脏写的过程

深入剖析内存中的Latch

后台进程分析以及并发配置

CKPT队列及SCN内部时钟原理。

数据库实例崩溃恢复原理

内存结构的优化设置

初始化参数设置详解

PGA自动管理以及PGA优化

杀掉异常进程的方法

Oracle的存储管理 表空间、段、区、块的概念和关系

表空间的管理:字典、LMT的区别和优缺点

深入剖析本地管理表空间位图存储技术

段空间管理:ASSM与MSSM区别

MSSM下Freelist算法以及争用

深入剖析ASSM的三级位图技术

数据文件转储

区扩展算法的深入剖析

系统表空间、辅助表空间、临时表空间、UNDO表空间的管理和维护

辅助表空间的迁移

UNDO表空间的切换

表空间组的概念与使用

默认表空间临时表空间的设置

表空间配额设置以及和权限的继承关系

表存储参数的详解以及新旧版本之间存储参数的变化。

各种存储管理 *** 作维护的方法

ROWID原理及转换

11g的延迟段空间管理

Oracle控制文件管理 控制文件的概念与内容

控制文件的多路复用

控制文件损坏的处理

控制文件的备份与重建

Resetlog与noresetlog的深入剖析

Oracle重做日志文件管理 Redo文件的概念和内容

Redo文件多路复用

Redo文件切换与检查点

Redo与redo成员管理

Redo与SCN

归档日志设置与管理

Oracle UNDO表空间管理 UNDO参数详解

UNDO切换

数据一致性与延迟提交

UNDO与SCN

UNDO空间的管理、设置与优化

Oracle网络管理 监听配置文件与监听管理器使用详解

网络服务名配置

NETCA使用

NETMGR使用

NOracle专用和共享模式

Oracle表与索引管理 ORACLE各种表的介绍与创建

表的约束创建与管理

索引的创建与管理

用户、角色、权限管理 权限分类

授权与取消授权

直接授权与级联授权

角色管理

权限继承

用户管理:密码、账户锁、表空间配额、默认的表空间

资源限制文件详解

系统权限策略规划方案

调度器与自动任务 调度器概述

调度器体系结构

公共管理工具

使用任务类

使用调度器程序

使用计划表

使用调度器窗口与视图

全球化支持 字符集、字符集文件及字符支持

NLS_LANG设置与影响

导入导出及字符集转换

字符集的更改

识别导出文件的字符集

使用csscan辅助字符集转换

乱码的产生

自定义字符的使用

更改字符集的内部方式

字符集更改案例

数据库监控与报告 分析结果的整理方法

二十大性能视图

Session历史信息记录

ASH

AWR概述、报告的生成、分析

基线

AWR数据的导出导入

ADDM概述与报告的生成

等待事件深入剖析

Oracle故障诊断及分析方法 故障树分析法 故障树分析法应用

第二部分:ORACLE的备份与恢复(3天)

备份与恢复 备份与恢复概述、方法及原理

归档模式

检查点与RBA

使用数据泵进行逻辑备份与恢复

冷备份与恢复

热备份与恢复

RMAN原理架构

目标数据库与恢复目录

通道

闪回恢复区

备份集和副本拷贝

完全备份与增量备份

RMAN使用方法及命令工具集

深入剖析备份与控制文件的关系

RMAN的备份与恢复方法

备份的方案与特例的恢复

Oracle实例恢复

Oracle介质恢复

完全恢复与不完全恢复

各种文件损坏的恢复案例

详解利用恢复的控制文件进行数据库恢复

数据块恢复

检查数据块一致性

数据块不一致的处理办法

数据块恢复案例

Oracle闪回技术 闪回查询

SMON_SCN_TIME与闪回查询

Oracle log的闪回特性

使用辅助函数闪回

闪回数据库

第三部分:SQL与PL/SQL(2天)

SQL基础 编写简单的SELECT语句

限制数据和对数据排序

单行函数

多表查询

分组函数

子查询

数据 *** 作与事务控制

表和约束

其他数据库对象

PL/SQL PL/SQL入门

游标

PL/SQL记录与Index-by表

错误消息处理

存储过程、函数、包

数据库触发器

本地动态SQL和动态PL/SQL

本地批绑定

自治事务

对象

集合

大对象

第四部分:ORACLE性能优化(5天)

数据库级的性能优化 Oracle性能优化概述

Oracle的内存优化

数据库配置与IO问题解决

ORACLE逻辑读写深入分析

事务队列等待(TX Enqueue)深入分析

等待事件、成因以及解决的办法和案例

跟踪文件和跟踪事件的使用

自动SQL调整

表碎片及分页查询优化

数据压缩

X$固定表

对象和SQL语句级性能优化 基于成本的优化法则-CBO

CBO成本计算

深入剖析B树索引、复合索引、位图索引、hash索引、全文索引、IOT、反转索引、基于函数的索引、分区索引、位图连接索引

索引访问方式及数据读取

索引之深入优化

详解索引之维护策略

统计信息收集与方法设置

动态采样

执行计划获取方法与解读

表连接(循环嵌套、排序合并、hash、索引、笛卡尔、位图)原理及使用规则

锁和阻塞以及解锁的方法

Latch与等待

并行执行

HINT使用方法

聚簇因子与直方图

分区技术介绍、分区方法实践、本地分区索引和全局分区索引

SQL及索引优化原则

绑定变量

10053事件和10046事件以及SQL_TRACE

数据库设计的优化

ORACLE高级部分课程(16天)

RAC RAC架构规划

RAC实施过程介绍

Oracle集群原理、概念、属术语

MAA

RAC集群

RAC原理与架构

RAC的安装与部署

RAC的维护与优化

RAC集群的并发控制、脑裂、健忘症、IO隔离

Oracle Cluster原理与组成

Oracle Cluster与RAC关系

RAC架构

RAC的备份实例

ASM高级应用 Shared-Disk和Shared-Nothing架构

Oracle RAC存储方案

ASM安装、配置

将数据库迁移到ASM

ASM存储结构

ASM文件系统

ASM中的文件布局规律

RDBMS与ASM之间的交互

ASM实例恢复

ASM和OS文件系统交互

ASM限制

Data Guard Data Guard架构

Data Guard规划与实施过程介绍

Data Guard安装与部署

物理standby

逻辑standby

SQL Apply

Data Guard Broker

OEM网格控制集成

监控Data Guard实现

切换和故障转移

Active Data Guard

站点与客户端的自动故障转移

利用Data guard切换缩短计划内停机时间

Data Guard故障排除

Data Guard部署架构案例

Oracle 高级复制 Oracle高级复制概念、原理

物化视图概念与架构

物化视图的创建和使用方法

Deployment Templates概念和原理

Conflict Resolution概念和原理

高级复制的环境规划

介绍高级复制管理工具

Oracle Stream复制 Stream复制概念和原理

配置Stream复制环境

Stream复制环境管理

Stream复制最佳实践

Stream复制环境案例讲解

RAC Stream配置

Data Guard和Stream对比

HA和LB 高可用性概念

Failover

Oracle Clusterware HA框架

LoadBlance

测试LoadBlance


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/10016626.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存