![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优化
DBA学习记录
这个作者很懒,什么都没留下…
展开
-
父子游标与version count
OracleSQL调优是我们进行应用系统调优的一个重要方面。一个SQL的书写方式、执行计划和执行时间会显著的影响到系统的投产性能。本篇我们主要聊一下SQLversion count数目过多,子游标过多的问题诊断。 1、关于version count 首先我们一起来回顾一下Oracle的“父子游标”(childcursor and parent cursor)概念。在转载 2013-07-23 09:26:41 · 627 阅读 · 0 评论 -
ora-00054:resource busy and acquire with nowait specified
当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。1、用dba权限的用户查看数据库都有哪些锁select t2.username,t2.sid转载 2014-03-20 10:24:05 · 491 阅读 · 0 评论 -
hash join优化
hash join --http://lizhen3708693.iteye.com/blog/1631360acces与filter --http://blog.csdn.net/kkdelta/article/details/7938653通过某种方式定为了需要的数据,然后读取出这些结果集,叫做access把所有的数据都访问了,然后过滤掉不需要的数据,这种方式叫做filter转载 2013-12-17 17:02:51 · 791 阅读 · 0 评论 -
oradebug hanganalyze
三个session依次执行:session 130:exec p0001:--create or replace procedure p0001 as--begin-- dbms_lock.sleep(300); --1000 seconds--end;session 141:alter procedure p0001 compile;原创 2013-10-15 21:41:33 · 805 阅读 · 0 评论 -
library cache pin和lock等待分析
原帖:http://www.itpub.net/thread-1703738-1-1.htmlLibrary cachelock/pin是用来控制对librarycache object的并发访问的。Lock管理并发,pin管理一致性,lock是针对于librarycache handle, 而pin是针对于heap。最近运行一个分批删除数据的pro转载 2013-10-14 22:13:10 · 460 阅读 · 0 评论 -
批量加载性能
在大量加载数据是遇到性能问题,检查后发现客户采用的是单条插入单条提交这种最缓慢的方式,为了给客户说明优化效果,现场做了几个代码。最简单的优化方式莫过于减少COMMIT频度,而最优化的方式是采用批量插入的方式,简单的测试代码如下:SQL> CREATE TABLE T_INSERT (ID NUMBER, NAME VARCHAR2(30));Table created.SQ转载 2013-10-11 15:55:52 · 434 阅读 · 0 评论 -
kill session 与 查找spid
select sid,serial#,paddr from v$session where sid=463 SID SERIAL# PADDR463 16436 07000000CF68B308 当kill掉这个session后,paddr会改变,因此不能再使用下面的sql查找spid,再kill -9 selec原创 2013-10-11 13:35:16 · 1126 阅读 · 0 评论 -
设置DBWR 数量
设置DBWR 数量的时候,我们可以如此考虑: 一般情况下,如果没有发现明显的DBWR 问题,那么不需要使用多个DBWR。 如果确实需要使用多个DBWR,那么对于多CPU 系统,一般可以直接使用;对于单CPU系统,可以采用一个DBWR 加上多个I/O SLAVER 的方式。这条经验不是绝对的,为了确保获得最佳的性能,最好是两种方式都尝试一下。 如果你使用的是9i 或者更高的版本,对转载 2013-09-05 16:13:34 · 965 阅读 · 0 评论 -
ORACLE性能诊断实例-行迁移和行链接 .
通过我的检查,发现,我们的DB同样存在行迁移和行链接.ORACLE的dbms_stats.gather_schema_stats只会收集优化器统计信息,不会检测表的记录是否存在行迁移和行链接.(我原先被这个包给骗了,所以执行完dbms_stats.gather_schema_stats后一查数据字典:USER_TABLES,其中的字段chain_cnt值全为0).要检测表的记录是否存在row ch转载 2013-08-16 10:17:44 · 496 阅读 · 0 评论 -
latch free检查
步骤如下:1.找到等待latch free的session的session id(sid) select sid,event,p1,p1raw from v$session_wait;2.根据该session id,查看该session正在执行的语句,sql为:SELECT SQL_TEXT FROM V$SQL SQL, V$SESSION SWHERE SQL.HASH_VALUE = S.S转载 2013-08-13 16:03:33 · 510 阅读 · 0 评论 -
cursor_sharing 参数
SQL> show parameter cursorNAME TYPE VALUE------------------------------------ ----------- ------------------------------cursor_sharing原创 2013-08-06 22:42:50 · 500 阅读 · 0 评论 -
使用outline固定sql执行计划
转http://blog.csdn.net/aaaaaaaa2000/article/details/9086111SQL> set linesize 1000SQL> col index_name for a40SQL> col COLUMN_NAME for a20SQL> select index_name,COLUMN_NAME from dba_ind_c转载 2015-08-03 15:02:46 · 701 阅读 · 0 评论