SHARED POOL (2)
显示每个用户在shared pool 中的内存使用情况[@more@]先建立视图sql_summary,以备后面脚本调用: rem FUNCTION: Creates summary of v_$sqlarea and dba_users for use in rem sqlmem.sql and sqlsummanry.sql reports rem rem create or replace view sql_summary as select username, &nb
SHARED POOL (1)
检查当前 shared pool 空间使用情况,包括已用空间,剩余空间,使用率等[@more@]REM Script to report on shared pool usageREMcolumn shared_pool_used format 9,999.99column shared_pool_size format 9,999.99column shared_pool_avail format 9,999.99column shared_pool_pct format 999.99start title80 'Shared Pool Summary'spool shared_pool.outselect sum(a.bytes)/(1024*1024) shared_pool_used, max(b.value)/(1024*1024) shared_pool_size, (max(b.value)-sum(a.bytes))/(1024*1024) shared_pool_avail, (sum(a.bytes)/
深入了解SCN
SCN: System Change NumberSCN是顺序递增的一个数字,在Oracle 中用来标识数据库的每一次改动,及其先后顺序。SCN的最大值是0xffff.ffffffff。[@more@]Oracle对SCN的管理单节点的Instance中 单节点的instance中,SCN值存在SGA区,由system commit number latch保护。任何进程要得到当前的SCN值,都要先得到这个latch。RAC/OPS环境中Oracle通过排队机制(Enqueue)实现SCN在各并行节点之间的顺序增长。具体有两种方法: Lamport算法:又称面包房算法,先来先服务算法。跟很多银行采用的排队机制一样。客户到了银行,先领取一个服务号
OWI --用 stored procedure 收集session wait 信息
包括对象如下:event_seq: 序列,用于唯一标识每一条记录dc_event_data: 表,用于存储session wait信息dc_collect:存储过程,用于定期收集各个session wait信息,并保存到dc_event_data表中。根据建议,频率可保持在一分钟一次,而不影响系统性能。dc_analyze: stored procedure. 用于分析和具体化表dc_event_data中的记录--想法来源于<<Oracle Wait Interface A Practical Guide to Performance Diagnostics & Tuning>>[@more@]--------------------------------------------SEQUENCE:-- event_seq 这个序列其实不是很有
OWI -- 用 logoff trigger 保留每个 session 的性能信息
如果某个开发人员跟你说他的程序最近跑得很慢,你问他做了什么修改,他说没有。你说能不能跑给你看一下,他说程序只在每天凌晨跑。这时候收集每个session的性能历史信息就很重要。event 10046对于不确定的session,收集信息太多,成本太高。statspack缺乏追踪每一个数据库连接的功能。用l ogoff trigger 是个不错的选择,该 trigger 会在每个 session 正常退出时自动触发。脚本如下,可根据具体情况作适当修改。--from <<Oracle Wait Interface A Practical Guide to Performance Diagnostics & Tuning>>[@more@]--创建表