1、基本的数据库信息 版本信息: select * from v$version; 数据库信息: Select * from v$database; 2、自动工作量仓库自动工作量(AWR)的基本信息 AWR 使用多少空间? Select occupant_name, occupant_desc, space_usage_kbytes from v$sysaux_occupants where occupant_name like '%AWR%'; 系统上最原始的 AWR 信息是什么? select dbms_stats.get_stats_history_availability from dual; 什么是 AWR 信息的保留期? select dbms_stats.get_stats_history_retention from dual; 将 AWR 信息的保留期更改为 15 天? EXEC dbms_stats.alter_stats_history_retention(15); 3、基本的许可信息 select * from v$license; 4、数据库中已安装的产品项 select * from v$option; 5、内存分配摘要 select * from v$sga; 内存分配的细节 select * from v$sgastat; 6、V$PARAMETER中发现init.ora 的设置 select * from v$parameter; 7、测定数据的命中率 select 1 - (sum(decode(name, 'physical reads', value, 0)) / (sum(decode(name, 'db block gets', value, 0)) + (sum(decode(name, 'consistent gets', value, 0))))) "Read Hit Ratio" from v$sysstat; 测定数据字典的命中率 select sum(gets), sum(getmisses), (1 - (sum(getmisses) / (sum(gets) + sum(getmisses)))) * 100 HitRate from v$rowcache; 测定共SQL和 PL/SQL的命中率 select sum(pins) "Executions", sum(pinhits) "Hits", ((sum(pinhits) / sum(pins)) * 100) "PinHitRatio", sum(reloads) "Misses", ((sum(pins) / (sum(pins) + sum(reloads))) * 100) "RelHitRatio" from v$librarycache; 通过V$SQLAREA查找有问题的查询 select b.username username, a.disk_reads reads, a.executions exec, a.disk_reads / decode(a.executions, 0, 1, a.executions) rds_exec_ratio, a.command_type, a.sql_text Statement from v$sqlarea a, dba_users b where a.parsing_user_id = b.user_id and a.disk_reads > 10000 order by a.disk_reads desc; 检查用户的当前操作及其使用的资源 select a.sid, a.username, s.sql_text from v$session a, v$sqltext s where a.sql_address = s.address and a.sql_hash_value = s.hash_value order by a.username, a.sid, s.piece; 哪些用户执行了大量的物理磁盘和内存读操作 select a.username, b.block_gets, b.consistent_gets, b.physical_reads, b.block_changes, b.consistent_changes from v$session a, v$sess_io b where a.sid = b.sid order by a.username; 查找用户正在访问的对象 select a.sid, a.username, b.owner, b.object, b.type from v$session a, v$access b where a.sid = b.sid; 确定锁定问题 select /*+ ordered */ b.username, b.serial#, d.id1, a.sql_text from v$lock d, v$session b, v$sqltext a where b.lockwait = d.kaddr and a.address = b.sql_address and a.hash_value = b.sql_hash_value; select /*+ ordered */ a.serial#, a.sid, a.username, b.id1, c.sql_text from v$lock b, v$session a, v$sqltext c where b.id1 in (select /*+ ordered */ distinct e.id1 from v$lock e, v$session d where d.lockwait = e.kaddr) and a.sid = b.sid and c.hash_value = a.sql_hash_value and b.request = 0; select /*+ ordered */ username, v$lock.sid, trunc(id1 / power(2, 16)) rbs, bitand(id1, to_number('ffff', 'xxxx')) + 0 slot, id2 seq, lmode, request from v$lock, v$session where v$lock.type = 'TX' and v$lock.sid = v$session.sid; 关闭有问题的会话 select username, sid, serial#, program, terminal from v$session; alter system kill session '11,18';