当前位置:数据库 > Oracle >>

深入理解Oracle分区(2):分区方案中常见问题探讨

深入理解Oracle分区(2):分区方案中常见问题探讨
 
分区方案设计和实施是一门追求综合平衡、充满辩证统一的哲学、
   也是经验和技术不断积累的艺术
   然而、实际项目中、却漏洞频出、导致海量数据顷刻坍塌
   
   ㈠ 目标方面的误区
      
      ① 问题分析
         
         在很多分区设计方案、其指导思想往往只考虑部分目标
         特别是过分在意设计对性能的需求
         而对分区在数据生命周期、数据备份恢复、高可用性等方面置若罔闻
         
      ② 正确策略
         
         全面考量、综合平衡各个目标
         建议指定目标优先级
         
   
   ㈡ 表分区方面的误区
      
      ① 问题分析 
         
         在实际项目中、很多分区方案只采用了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索引
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,