摘要: 目录第1章 性能调整综述第2章 有效的应用设计第3章SQL语句处理的过程第4章 ORACLE的优化器第5章 ORACLE的执行计划 访问路径(方法) -- access path 表之间的连接 如何产生执行计划 如何分析执行计划 如何干预执行计划 - - 使用hints提示 具体案例分析第6章 其它注意事项附录第1章 性能调整综述 Oracle数据库是高度可调的数据库产品。本章描述调整的过程和那些人员应与Oracle服务器的调整有关,以及与调整相关联的操作系统硬件和软件。本章包括以下方面:l 谁来调整系统?l 什么时候调整?l 建立有... 阅读全文
posted @ 2010-09-08 17:38 无双的小宝 阅读(2250) 评论(2) 推荐(2) 编辑
摘要: 1、 某项目,在pl/sql中运行top sql脚本: --使用频率select sql_text, executions,sysdate from (select sql_text, executions, rank() over(order by executions desc) exec_rank from v$sql)where exec_rank <= 10; 建crontab定时运行上面脚本,求出其当前时间段使用频率较高的sql,找到其第一条(就是执行最频繁的语句),拷贝出来,粘贴到一个新窗口,代码为:SELECT grp_addr FROM Table_1WHERE ID 阅读全文
posted @ 2010-09-08 16:29 无双的小宝 阅读(4127) 评论(1) 推荐(0) 编辑
摘要: 前两天看到现场alert日志中有一些00060(Deadlock)的告警。查了一下日志文件,发现一些奇怪的现象,比如有些锁在Insert时产生的,有些死锁是对同一个对象产生的。于是在解决这些问题的同时,仔细研究了一下TX锁,总结了产生TX锁的各种情况。数据记录被锁 我们知道,Oracle中事务产生的索都是行级锁。也就说,事务在对表做更新操作(Update、Delete)时,只在针对数据块中需要更新的数据记录加锁。这种类型的锁就是我们最常见的锁。看下面的例子:SQL> create table t_lock(a number, b varchar2(20), c char(10)) ini 阅读全文
posted @ 2010-09-08 16:25 无双的小宝 阅读(4178) 评论(0) 推荐(0) 编辑