`
Donald_Draper
  • 浏览: 981590 次
社区版块
存档分类
最新评论

Oracle性能查看

阅读更多
Oracle数据库在配置文件中更改最大连接数:http://www.2cto.com/database/201303/192758.html
Oracle日常性能查看 :http://blog.csdn.net/webajax/article/details/8692862
使用命令行手工建立Oracle11gR2数据库:http://www.cnblogs.com/beanbee/archive/2012/09/22/2697689.html
以下命令以管理员system用户测试,普通用户没有相关视图的权限:
当前的数据库连接数
select count(*) from v$process where program='Oracle.EXE(SHAD)';




数据库允许的最大连接数
select value from v$parameter where name ='processes';





当前的session连接数
select count(*) from v$session; 






并发连接数
select count(*) from v$session where status='ACTIVE';





最大连接
show parameter processes;  





查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||'s',b.sql_text,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;





重启数据库
shutdown immediate;
startup;

修改最大连接数:
alter system set processes = 300 scope = spfile; 


在修改数据库配置之前,尽量先备份数据库;
这个谨慎使用:当时我把processes修改的太小,以至于oracle拒绝连接:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0


查看日志oradim.log:




Fri Feb 24 09:34:21 2017
D:\Oracle11g\app\oracle\product\11.2.0\server\bin\oradim.exe -startup -sid xe -usrpwd *  -log oradim.log -nocheck 0
Fri Feb 24 09:34:33 2017
ORA-00444: background process "GEN0" failed while starting
ORA-00020: maximum number of processes () exceeded


从上面可以看出,最大连接数太小导致启动是吧!

Oracle数据库在配置文件中更改最大连接数:http://www.2cto.com/database/201303/192758.html



最好不要手动通过配置文件修改,因为配置文件是二进制格式的;最好通过命令行修改

oracle数据库启动目录:



初始化配置文件和密码文件等

oracle实例配置目录:


实例配置文件init且全局,SPFILEXE为对应的实例XE的配置文件

创建用户

 create user donald identified by 123456; 


授权用户
 grant connect, resource to donald;



确定共享池中的命中率:(如果ratio1大于1时,需要加大共享池,如果ratio2大于10%时,需要加大共享池SHARED_POOL_SIZE)
select sum(pins) pins,
sum(reloads) reloads,
(sum(reloads) / sum(pins)) * 100 ratio1
from v$librarycache ;


select sum(gets) gets,
sum(getmisses) getmisses,
(sum(getmisses) / sum(gets)) * 100 ratio2
from v$rowcache ;


判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段)
select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratio
from v$rollstat rs, v$rollname rn
where rs.USN = rn.usn ;


判断恢复日志竞争的SQL语句:(immediate_contention或wait_contention的值大于1时存在竞争)
select name,
(t.IMMEDIATE_MISSES /
decode((t.IMMEDIATE_GETS + t.IMMEDIATE_MISSES),0,-1,
(t.IMMEDIATE_GETS + t.IMMEDIATE_MISSES))) * 100 immediate_contention,
(t.MISSES / decode((t.GETS + t.MISSES), 0, -1, (t.GETS + t.MISSES))) * 100 wait_contention
from v$latch t
where name in ('redo copy', 'redo allocation') ;


判断表空间碎片:(如果最大空闲空间占总空间很大比例则可能不存在碎片,如果比例较小,且有许多空闲空间,则可能碎片很多)
select t.tablespace_name,
sum(t.bytes),max(t.bytes),count(*),
max(t.bytes) / sum(t.bytes) radio
from dba_free_space t
group by t.tablespace_name
order by t.tablespace_name ;


确定命中排序域的次数:
select t.NAME, t.VALUE from v$sysstat t where t.NAME like 'sort%';



查询耗资源的进程(top session)
SELECT s.Schemaname Schema_Name,Decode(Sign(48 - Command),
1, To_Char(Command), 'Action Code #' || To_Char(Command)) Action,Status Session_Status, s.Osuser Os_User_Name, s.Sid, p.Spid,s.Serial# Serial_Num, Nvl(s.Username, '[Oracle process]') User_Name,
s.Terminal Terminal, s.Program Program, St.VALUE Criteria_Value
FROM V$sesstat St, V$session s, V$process p
WHERE St.Sid = s.Sid
AND St.Statistic# = To_Number('38')
AND ('ALL' = 'ALL' OR s.Status = 'ALL')
AND p.Addr = s.Paddr
ORDER BY St.VALUE DESC, p.Spid ASC, s.Username ASC, s.Osuser ASC


查看锁(lock)情况
SELECT /*+ RULE */ Ls.Osuser Os_User_Name, Ls.Username User_Name,Decode(Ls.TYPE,
'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock','TX', 'Transaction enqueue lock', 'UL', 'User supplied lock') Lock_Type,o.Object_Name OBJECT,Decode(Ls.Lmode,1, NULL, 2, 'Row Share', 3, 'Row Exclusive',
4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive',NULL) Lock_Mode,o.Owner,
Ls.Sid, Ls.Serial# Serial_Num, Ls.Id1, Ls.Id2 FROM Sys.Dba_Objects o, 
(SELECT s.Osuser, s.Username, l.TYPE, l.Lmode, s.Sid, s.Serial#, l.Id1,l.Id2 FROM V$session s, V$lock l
WHERE s.Sid = l.Sid) Ls
WHERE o.Object_Id = Ls.Id1
AND o.Owner <> 'SYS'
ORDER BY o.Owner, o.Object_Name;


查看等待(wait)情况
SELECT Ws.CLASS, Ws.COUNT COUNT, SUM(Ss.VALUE) Sum_Value
FROM V$waitstat Ws, V$sysstat Ss
WHERE Ss.NAME IN ('db block gets', 'consistent gets')
GROUP BY Ws.CLASS, Ws.COUNT;

  • 大小: 2.1 KB
  • 大小: 2.2 KB
  • 大小: 1.6 KB
  • 大小: 2 KB
  • 大小: 6.4 KB
  • 大小: 6.1 KB
  • 大小: 23.2 KB
  • 大小: 29.5 KB
  • 大小: 11.5 KB
  • 大小: 12.2 KB
2
1
分享到:
评论

相关推荐

    oracle性能查询汇总.sql

    oracle\性能查询汇总.sql 包含监控事例的等待 \回滚段的争用情况 \监控 SGA 的命中率等

    Oracle性能调优.pdf

    Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优

    Oracle 性能诊断艺术

    《Oracle性能诊断艺术》这本书是Oracle数据库管理员(DBA)进阶道路上的重要参考资料。它深入探讨了如何有效地诊断和解决Oracle数据库系统的性能问题,对于优化数据库性能、保障业务稳定运行具有极高的价值。以下是对...

    Oracle 性能调优的基本方案

    Oracle 性能调优的基本方案 Oracle 性能调优是数据库管理员和开发者非常关心的问题。为了确保数据库的高效运行,需要对 Oracle 性能进行调优。本文将对 Oracle 性能调优的基本方案进行概述,并介绍了该方案的八个...

    Oracle性能优化绝版好书:高级OWI与ORACLE性能调整

    《Oracle性能优化绝版好书:高级OWI与ORACLE性能调整》这本书深入探讨了Oracle数据库性能优化的关键技术和策略,特别关注了Oracle Wait Interface (OWI)和性能调整的实践应用。OWI是Oracle数据库中用于监控和诊断...

    高级owi与oracle性能调整.pdf

    根据提供的信息,我们可以推断出这本名为“高级owi与oracle性能调整”的书籍主要讨论了高级owi技术以及Oracle数据库性能优化的相关内容。由于提供的部分页面信息仅包含联系方式,并没有具体的章节内容,因此以下将...

    Oracle数据库性能分析

    ### Oracle数据库性能分析 #### 一、Oracle体系结构 Oracle数据库是一个复杂且功能强大的关系型数据库管理系统(RDBMS),其核心组件包括实例和数据库文件。理解Oracle的体系结构对于优化性能至关重要。 - **实例**...

    oracle数据库性能优化.pdf

    除了上述两点,Oracle性能优化还包括索引的建立与管理,分区策略的运用,回滚段的优化,以及查询执行计划的控制等。索引能加速数据检索,但过度的索引会增加写操作的开销,需权衡利弊。分区策略可将大表分解,提高...

    Oracle性能优化与故障诊断案例分享

    Oracle数据库性能优化与故障诊断是数据库管理中极为重要的两个方面,它们直接关系到企业业务系统的稳定运行和性能表现。在这篇文章中,我们将详细探讨针对Oracle数据库性能问题和故障的诊断案例,并分享如何通过案例...

    oracle性能日志分析报告收集方法

    ### Oracle性能日志分析报告收集方法 在Oracle数据库管理中,性能日志分析是一项非常重要的工作,它能够帮助我们及时发现并解决数据库性能问题。本文将详细介绍如何通过Oracle Enterprise Manager (OEM)来收集...

    Oracle性能优化求生指南

    本书以系统而有效的方式详细阐述了oracle性能优化方面的问题,解决了oracle性能管理所有方面的问题,从而堪称oracle调优的“求生指南”。如果英文好的,那就找英文原版看。此书太大,分了五部分压缩上传,下载时只要把...

    Oracle性能监控脚本

    Oracle性能监控是数据库管理员(DBA)日常工作中的一项关键任务,它涉及到对数据库系统的各种性能指标进行跟踪、分析和优化,以确保系统高效稳定运行。本文将深入探讨Oracle性能监控脚本的应用及其重要性,同时提供...

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化系列 ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一...

    ORACLE性能优化工具整理

    Oracle性能优化工具整理 Oracle数据库作为全球广泛使用的商业数据库管理系统,其性能优化对于确保数据库稳定运行、提高应用响应速度至关重要。性能优化不仅需要通过合理设计数据库模式、编写高效SQL语句等手段,而且...

    oracle性能测试 -

    Oracle性能测试是数据库管理员和IT专业人员至关重要的任务,它涉及到评估Oracle数据库系统的运行效率,以确保数据处理速度、响应时间和资源利用率等关键指标达到预期标准。以下是对Oracle性能测试的详细解读: 一、...

    大牛总结 Oracle性能优化

    Oracle性能优化是数据库管理员和开发人员关注的重要领域,它涉及到一系列技术、工具和策略,旨在提升Oracle数据库的运行效率,减少资源消耗,提高系统响应速度,以及改善用户体验。以下是对Oracle性能优化的详细阐述...

    Oracle性能优化技巧

    ### Oracle性能优化技巧详解 #### 一、引言 Oracle数据库是企业级应用中的核心组件之一,其性能直接影响到业务系统的稳定性和响应速度。本文将详细介绍Oracle性能优化的关键技巧,帮助用户更好地理解和掌握如何...

    oracle性能优化技术内幕

    Oracle性能优化是数据库管理员和开发人员在处理Oracle数据库系统时不可或缺的重要技能。Oracle数据库作为业界广泛使用的数据库管理系统,其性能优化对于提升系统响应速度、降低资源消耗和改善用户体验至关重要。以下...

Global site tag (gtag.js) - Google Analytics