Oracle性能问题

alert日志是否有ORA-等错误

ORA-0600,ORA-7445

文件损坏,内存错误等。会严重影响性能,需dbv验证数据库文件,用rman修复数据库
oracle bug。从MOS中查找是否是bug导致,有无相关bug的补丁

ORA-0060死锁

SQL语句本身运行很快,但被阻塞。查是否有相关补丁方案
SQL语句性能存在问题。杀掉长期阻塞的会话,优化SQL语句

ORA-12170,TNS-12535

网络问题。检查网络掉包或延时问题。修改listener文件,增加一行INBOUND_CONNECT_TIMEOUT_监听名字=0 秒,sqlnet.ora中增加一行SQLNET.INBOUND_CONNECT_TIMEOUT=0;重启监听
严重数据库性能问题导致连不上。看是否latch争用严重,优化数据库

操作系统CPU\物理内存是否正常

cpu使用率是否达到85%

oracle进程\会话\sql异常。调查进程CPU占用高的原因,杀掉进程,优化SQL执行计划,收集统计信息
oracle 作业或其它应用占用CPU高。看是否可以停止作业,或调度作业到空闲时间段。移走其它应用
操作系统中毒,所有进程都慢。查杀病毒/备份数据库,迁移到干净的操作系统(推荐用Linux,Unix)

内存是否耗光,使用大量虚拟内存

数据库参数是否配置不对,做云巡检,优化数据库参数
其它程序占用内存。限制其它程序的内存使用限定 ,使用独立的服务器做数据库服务器
内存本身不足,加内存
pga占用过多,sga被置换出swap。pga设置小一些,lock sga或设置大内存页
内存本身不足,加内存,再合理设置数据库参数

分析AWR报告

分析AWR

Top 事件,看是否有异常
log file sync,db file sequential,db file scattered read超过10,磁盘IO慢,超过30ms,找存储厂商检查存储
db file scattered read,direct path read大,找到全表扫描的SQL,优化SQL或做性能优化专项
gc buffer busy ,全表扫描或差的SQL导致,需要优化SQL,找到热对象再优化
enq: TX - row lock contention,SQL语句本身运行很快,但被阻塞,查是否有相关补丁方案 ,SQL语句性能存在问题则要优化SQL语句
latch: shared pool 硬解析严重,需找版本高的SQl,找开发人员修复,找资深DBA
log file switch (checkpoint incomplete),日志组少且小,加5组500M日志
其它事件咨询资深数据库管理员
SQLNet more data from client与SQLNet more data to client大于3,可能是有大量的数据在数据库客户端与数据库服务器之间传输造成严重网络问题,这种情况要优化应用程序。 如网络本身问题,需要排查网络
latch: shared pool。硬解析严重,需找版本高的SQl,找开发人员修复,找资深DBA
其它事件咨询资深数据库管理员。根据对应的事件,降低等待事件对性能的影响
内存参数配置是否合理
memory_max_target,memory_target参数是否达到物理内存70%
db_cache_size应设置为物理内存的60%左右
shared_pool_size应设置为物理内存的10%~15%左右
pga_aggregate_target设置为物理内存的10%
是否设置了隐含参数,导致执行计划变差
Top SQL
缺少索引,EAS索引检查重建
SQL本身效率差,找开发优化SQl
表统计信息旧,收集统计分析
表数据分布不均匀。收集直方图

分析ASH

查看TOP事件,根据事件对应的原因作出调整
查看TOP语句,优化语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值