oracle 优化的一点体会

 更新时间:2009年10月01日 02:06:42   作者:  
oracle 优化的一点体会大家可以参考下,提升运行效率。
关于oracle 优化的内容很多,概念庞杂,不过可以总结出一个大纲性的东西作为需要考虑的方向,然后再逐步细化。oracle优化按重要性需要考虑设计、开发、调整几个方面。

首先是设计,这是最重要的部分,借用TOM的话:“性能是设计出来的,不是调整出来的”。设计分为逻辑设计和物理设计,逻辑设计一般要遵循3NF,同时也要根据应用的需要引入逆规范化的设计,应为NF设计虽然消除了数据冗余,但随着规范化越高需要连接的表可能越多,同样对性能有影响,所以需要平衡考虑,至于何时要3NF,何时要逆规范化,要是具体情况而定。

物理设计一个是存储,比如物理文件、联机日志文件、归档日志文件的磁盘布局,各种RAID的使用等(在这方面piner的分析比较全面细致),第二是要根据应用的特性,选择文件组织方式,灵活运用oracle的各种表和索引类型,例如交叉表可以考虑使用IOT、读密集型并且经常关联的字段使用cluster,还有全局临时表、外部表等等。除了普通的B树索引外,在低基数情况下考虑使用位图索引,使用函数时引入基于函数的索引等。

其次是开发阶段,比如老生常谈的使用绑定变量、外键加索引、使用bulk collect、分析函数、直接路径加载,在OLAP应用中使用partition、MV、位图索引、并行化操作等等。没种技术要深入研究都有很多内容。

最后才是调整,这是在出现性能问题时采用的手段。这已经形成了一个完整的方法论。
1)设立合理的性能优化目标。
2)测量并记录当前性能(STATSPACK、AWR等)。
3)确定当前Oracle性能瓶颈(从Oracle 等待接口v$system_event、v$session_event和v$session_wait中获得等待事件,进而找出影响性能的对象和sql语句
)。
4)把等待事件记入跟踪文件(autotrace、10046事件等)。
5)确定当前的OS瓶颈(sar、iostat、cpustat、mpstat、netstat、top、osview等)。
6)优化所需的成分(应用程序、数据库、I/O、争用、OS等)。
7)跟踪并实施更改控制过程。
8)测量并记录当前性能
9)重复步骤3到7,直到满足优化目标

以上是本人对Oracle优化的一些粗线条的体会,可以指出优化需要考虑的大的方向,而相关的技术细节非常多,每项都要仔细研究,正如piner总结的:多思考、多实践、多总结。

再记点题外话,公司节后要对技术部作人员调整,说白了就是裁人,这次除了要个网管保证能上网就不留技术的人了,假期准备简历,节后找工作。

相关文章

  • Oracle 数据库操作技巧集

    Oracle 数据库操作技巧集

    Oracle 数据库操作技巧集...
    2007-03-03
  • oracle 的表空间实例详解

    oracle 的表空间实例详解

    这篇文章主要介绍了oracle 的表空间实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • oracle11g管理员密码忘记怎么办 sqlplus解决忘记密码问题

    oracle11g管理员密码忘记怎么办 sqlplus解决忘记密码问题

    oracle11g管理员密码忘记了怎么办?这篇文章主要介绍了oracle 11g管理员密码忘记问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Oracle中正则表达式的使用实例教程

    Oracle中正则表达式的使用实例教程

    大家对正则表达式应该都不会陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具。这篇文章主要给大家介绍了关于Oracle中正则表达式使用的相关资料,需要的朋友可以参考下。
    2017-10-10
  • 深入浅析mybatis oracle BLOB类型字段保存与读取

    深入浅析mybatis oracle BLOB类型字段保存与读取

    本文给大家浅析mybatis oracle blob类型字段的保存与读取,blob字段是指二进制大对象,用来存储大量文本数据。感兴趣的朋友一起学习吧
    2015-10-10
  • Oracle控制文件丢失恢复归档模式方法

    Oracle控制文件丢失恢复归档模式方法

    这篇文章主要为大家介绍了Oracle控制文件丢失恢复归档模式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-07-07
  • Oracle设置密码永不过期的方法

    Oracle设置密码永不过期的方法

    这篇文章主要介绍了Oracle设置密码永不过期的方法,文中通过代码示例介绍的非常详细,对大家使用Oracle设置密码永不过期有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • Oracle 12c新特性之如何检测有用的多列统计信息详解

    Oracle 12c新特性之如何检测有用的多列统计信息详解

    这篇文章主要给大家介绍了Oracle 12c新特性之如何检测有用的多列统计信息的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Oracle数据库执行计划的查看与分析技巧

    Oracle数据库执行计划的查看与分析技巧

    在 Oracle 数据库中,执行计划能够帮助我们深入了解 SQL 语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是 Oracle 数据库优化器为 SQL 语句生成的一种执行蓝图,本文给大家介绍了Oracle数据库执行计划的查看与分析技巧,需要的朋友可以参考下
    2024-12-12
  • Oracle 通过impdp导入报ORA-39002 ORA-39165错误的解决方案

    Oracle 通过impdp导入报ORA-39002 ORA-39165错误的解决方案

    这篇文章主要介绍了Oracle 通过impdp导入报ORA-39002 ORA-39165错误,本文给大家分享原因分析及解决方案,需要的朋友可以参考下
    2023-09-09

最新评论