深入理解 Oracle 分区(2):分区方案中常见问题探讨
来源:互联网 发布:视频后期软件免费 编辑:程序博客网 时间:2024/05/17 21:42
分区方案设计和实施是一门追求综合平衡、充满辩证统一的哲学、
也是经验和技术不断积累的艺术
然而、实际项目中、却漏洞频出、导致海量数据顷刻坍塌
㈠ 目标方面的误区
① 问题分析
在很多分区设计方案、其指导思想往往只考虑部分目标
特别是过分在意设计对性能的需求
而对分区在数据生命周期、数据备份恢复、高可用性等方面置若罔闻
② 正确策略
全面考量、综合平衡各个目标
建议指定目标优先级
㈡ 表分区方面的误区
① 问题分析
在实际项目中、很多分区方案只采用了Oracle Range 分区策略
对其他Oracle 分区技术运用较少
② 正确策略
进行分区表设计的正确策略应是充分了解Oracle各种分区技术的特点之后、
再结合具体应用需求进行针对性设计
比如:
对需要进行历史数据迁移的表、应尽量采用Range、List、Interval等、如话费清单数据
对不存在历史数据迁移需求的表、如用户资料信息、则可考虑采用HASH分区技术
㈢ 没有充分考虑应用设计和开发的误区
① 问题分析
分区方案设计时、没有对应用软件设计和开发进行充分调研、
特别是没有对重点SQL语句进行深入分析、导致这些操作无法使用分区技术
② 正确策略
应用需求分析是任何设计开发工作的基础
对应用软件设计和开发进行调研分析、特别是重点SQL进行深入分析
㈣ 分区表空间设计方面的误区
① 问题分析
在Oracle分区设计可指定每个分区的存储属性、特别是可在分区级进行表空间设计
但是很多项目中、在此方面存在较大的随意性、缺乏精细考虑和设计
这样将导致无法在表空间级进行与业务相关的数据管理工作
比如、在历史数据清理、数据发布等应用中、无法使用表空间迁移、并且无法结合分区交换、合并等技术
另外、在备份与恢复中、这样的分区也无法在表空间级进行按月的备份和恢复
② 正确策略
Oracle的分区表空间设计为大批量数据处理提供了良好的技术基础
只有充分理解表空间级的Oracle相关技术、才能在分区方案设计中权衡
总之、别把鸡蛋都往一个篮子里面放
㈤ 大批量数据处理中的误区
① 问题分析
在很多项目、设计和开发人员仍然在采用最原始的DML进行大批量数据处理、
不仅运行效率低下、而且会产生大量UNDO REDO、为备份恢复、资源管理增加负担
② 正确策略
大批量数据处理一定要想到分区技术
例如、通过表空间迁移和分区表技术(truncate、drop、add、exchange、merge、split等)的综合使用、
高效实现海量数据仓库加载的技术方案
㈥ 索引分区方面的误区
① 问题分析
在很多方案设计中、很少甚至没有对索引进行分区设计
或者、只是简单将所有分区索引设计成Local分区索引
② 正确策略
分区索引虽然难、但非常重要、切记随意设计!
比如:针对存在历史数据清理和归档需求的表、可设计成高可用性和可维护性较好的Local索引
而对不存在历史数据清理和归档的表、可设计成性能更好的Global Prefix索引
也是经验和技术不断积累的艺术
然而、实际项目中、却漏洞频出、导致海量数据顷刻坍塌
㈠ 目标方面的误区
① 问题分析
在很多分区设计方案、其指导思想往往只考虑部分目标
特别是过分在意设计对性能的需求
而对分区在数据生命周期、数据备份恢复、高可用性等方面置若罔闻
② 正确策略
全面考量、综合平衡各个目标
建议指定目标优先级
㈡ 表分区方面的误区
① 问题分析
在实际项目中、很多分区方案只采用了Oracle Range 分区策略
对其他Oracle 分区技术运用较少
② 正确策略
进行分区表设计的正确策略应是充分了解Oracle各种分区技术的特点之后、
再结合具体应用需求进行针对性设计
比如:
对需要进行历史数据迁移的表、应尽量采用Range、List、Interval等、如话费清单数据
对不存在历史数据迁移需求的表、如用户资料信息、则可考虑采用HASH分区技术
㈢ 没有充分考虑应用设计和开发的误区
① 问题分析
分区方案设计时、没有对应用软件设计和开发进行充分调研、
特别是没有对重点SQL语句进行深入分析、导致这些操作无法使用分区技术
② 正确策略
应用需求分析是任何设计开发工作的基础
对应用软件设计和开发进行调研分析、特别是重点SQL进行深入分析
㈣ 分区表空间设计方面的误区
① 问题分析
在Oracle分区设计可指定每个分区的存储属性、特别是可在分区级进行表空间设计
但是很多项目中、在此方面存在较大的随意性、缺乏精细考虑和设计
这样将导致无法在表空间级进行与业务相关的数据管理工作
比如、在历史数据清理、数据发布等应用中、无法使用表空间迁移、并且无法结合分区交换、合并等技术
另外、在备份与恢复中、这样的分区也无法在表空间级进行按月的备份和恢复
② 正确策略
Oracle的分区表空间设计为大批量数据处理提供了良好的技术基础
只有充分理解表空间级的Oracle相关技术、才能在分区方案设计中权衡
总之、别把鸡蛋都往一个篮子里面放
㈤ 大批量数据处理中的误区
① 问题分析
在很多项目、设计和开发人员仍然在采用最原始的DML进行大批量数据处理、
不仅运行效率低下、而且会产生大量UNDO REDO、为备份恢复、资源管理增加负担
② 正确策略
大批量数据处理一定要想到分区技术
例如、通过表空间迁移和分区表技术(truncate、drop、add、exchange、merge、split等)的综合使用、
高效实现海量数据仓库加载的技术方案
㈥ 索引分区方面的误区
① 问题分析
在很多方案设计中、很少甚至没有对索引进行分区设计
或者、只是简单将所有分区索引设计成Local分区索引
② 正确策略
分区索引虽然难、但非常重要、切记随意设计!
比如:针对存在历史数据清理和归档需求的表、可设计成高可用性和可维护性较好的Local索引
而对不存在历史数据清理和归档的表、可设计成性能更好的Global Prefix索引
- 深入理解 Oracle 分区(2):分区方案中常见问题探讨
- [Oracle] 探讨分区(2) - 分区索引
- [Oracle] 探讨分区(4) - 分区管理
- [Oracle] 探讨分区(3) - 分区与性能
- 深入理解 Oracle 分区(1):如何实施和评估分区
- 深入理解 Oracle 分区(3):分区表和分区索引概述
- 深入理解内存分区
- oracle中分区常用命令2
- Oracle中分区汇总
- Oracle表中分区及子分区
- oracle中为什么重建分区索引(索引分区)? 重建分区索引和索引分区什么区别?
- 学习ORACLE分区(2)-创建range分区
- [Oracle] 分区探索(1) - 分区剪枝
- 深入学习Oracle分区表及分区索引(2)
- oracle 分区管理2
- oracle-分区(笔记)
- 深入理解硬盘的Linux分区
- 深入理解硬盘的Linux分区
- Oracle 11g修改连接数
- 【linux管道】自学笔记
- 在线阅读android系统源代码
- PowerDesigner导入SQL生成数据模型
- hdu2544 spfa 第一弹 如果让我说:我只能说,实力决定一切
- 深入理解 Oracle 分区(2):分区方案中常见问题探讨
- hdu 1233 kruskal+优先队列 如果让我说:我只能说,实力决定一切。
- 常用汉字的unicode编码
- 20120907-20130420罪过的虚度,今天星期一,继续行走
- VC中CString和WPARAM之间的相互转换
- 在window service中调用外部exe或.bat等
- 小巫随笔9
- ArcGIS之CityEngine下载步骤(系列一)
- fedora以root用户登录的方法