1、寻找最多BUFFER_GETS开销的SQL 语句 代码语言:javascript 复制 --filename:top_sql_by_buffer_gets.sql--Identify heavySQL(Get theSQLwithheavyBUFFER_GETS)SETLINESIZE190COLsql_textFORMATa100WRAPSETPAGESIZE100SELECT*FROM(SELECTsql_text,sql_id,executions,disk_reads,buffer_getsFROMv$sqlareaWHEREDECODE(exec...
ORDER BY buffer_gets + 100 * disk_reads DESC; 2.查看某条SQL语句的资源消耗: SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls,SQL_TEXT FROM V$SQLAREA WHERE hash_Value = 1906432423 AND address = hextoraw('000000011564D538'); 3 查看当前系统的最多消耗 SELECT osuser, a.use...
核心sql: sql = "SELECT * FROM (SELECT n.parsing_schema_name AS SCHEMA,n.module AS MODULE, DBMS_LOB.SUBSTR(n.Sql_Fulltext,2000,1) AS SQL_TEXT,n.parse_calls-nvl(o.parse_calls,0) AS PARSE_CALLS,n.buffer_gets-nvl(o.buffer_gets,0) AS BUFFER_GETS,n.disk_reads-nvl(o.disk_reads,0...
buffer_gets, a.disk_reads, a.executions, a.sorts, a.address from v$sqlarea a order by 3 desc) where rownum < 10; -- 34、在视图中查询并显示实际的 Oracle 连接 select osuser, username, machine, program from v$session order by osuser; -- 35、查询并显示通过打开连接程序打开连接的组 select...
老Yang研究了一下v$sql.buffer_gets溢出位负数现象的原因,以前类似的,也看到过负数,没有深究,看到老Yang的研究成果,要学习记录一下。v$sql.buffer_gets由于采用的是C的int类型,C的unsigned int型可以表示2^32,而包含正负整数,就只能表示一半。 所以这个数值经常会溢出而显示负数。随便找一个生产的数据库,就可以...
AND BUFFER_GETS > 0 AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8 ORDER BY 2 desc,4 DESC; 47. 数据库在主备库切换之后要手动的用SQL来检查检查有没有死锁,如果有,kill 就可以了.. SQL> select 'alter system kill session '''||sid||','||serial#||''';' from v$session where sid in...
l BUFFER_GETS:读缓存区次数 l ROWS_PROCESSED:解析 SQL语句返回的总列数 l COMMAND_TYPE:命令类型代号 l OPTIMIZER_MODE: SQL语句的优化器模型 l OPTIMIZER_COST:优化器给出的本次查询成本 l PARSING_USER_ID:第一个解析的用户 ID l PARSING_SCHEMA_ID:第一个解析的计划 ID ...
BUFFER_GETS //直接从buffer中得到数据的次数 APPLICATION_WAIT_TIME // 应用等待时间,毫秒 CONCURRENCY_WAIT_TIME //并发等待时间,毫秒 USER_IO_WAIT_TIME //用户IO等待时间 ROWS_PROCESSED SQL //解析sql返回的总行数 OPTIMIZER_MODE //优化器模式
和Shared Pool一样,buffer cache被分为多个集合,这样能够大大降低多CPU系统中的争用问题。 1、Buffer cache的管理 Oracle对于buffer cache的管理,是通过两个重要的链表实现的:写链表和最近最少使用链表(the Least Recently Used LRU)。写链表所指向的是所有脏数据块缓存(即被进程修改过,但还没有被回写到数据文件...
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS <0.8 ORDERBY4DESC 另外也可以使用SQL Trace工具来收集正在执行的SQL的性能状态数据,包括解析次数,执行次数,CPU使用时间等 。21. 用Explain Plan分析SQL语句EXPLAIN PLAN 是一个很好的分析SQL语句的工具, 它甚至可以在不执行SQL的情况下分析语句. 通过分析, 我们就可以知...