一年多没有来了,换个工作,又一次碰到了oracle这个难啃的骨头。在个人努力了几个工作日无果的情况下,不得不再次来到这个it坛子来,跟大神们求一个解药。

目前状态是这样的,我是某甲方,需要跟踪N个乙方的系统,其中有3个系统部署在同一个oracle服务器上。这个oracle配置应该还不错,32G内存,8盒的两台热备机器。

应该使用的是几分钟一个差异快照的方式,具体我并不是DBA,不清楚。甚至我连登录这台机器的权限都没有,干脆看不了服务器的状态。

---引子(可以略过)-----------------------------------------------------------------

有个比较sb的供应商做了一个这样的设计,各种历史表(目前2个最主要的,数量级均在5千万~1亿之间,按理说并不大)但

1、不加主键(这个可以理解,反正单表查询),

2、不加索引(这个无法理解),

3、在tomcat启动的时候,“同步”来一遍group by 加排序第一的数据,写入java的内存

因为2,3两条组合拳,导致每次tomcat启动一次,恨不得要跑半个小时到一个小时。

我当时一万只(**马)跑过,真想废了他们,但闲的无事,做做雷锋,帮他们建立了一个索引,

开始的时候用了并行parallel,有个常用查询10分钟变成30秒,然后给优化了一下历史数据,进行了一下梯度缩减存储,

还没有执行完毕,从5000万搞到3000万左右记录(目标是1000万),从30秒变成了2秒,我就去领导那里邀功了,

当天效果确实不错。

后来一天,我发现,当我的梯度缩减程序执行过程中,整个oracle不健康了,好多系统的用户来投诉系统慢,

我就终止了自己的程序,并把并行给撤出了,这时其它系统有了好转。但我本来2秒一次的查询又变成10到40秒。

---------引子结束--------------------------------------------------------------------

正题

噩梦算不上,但最近睡得不舒服。

其它几个系统虽然不来投诉了,但另外几个开发商过来投诉说,oracle变慢了。

我不知道是否与我之前的行为有关,虽然我已经终止了那个缩减程序。

我一共做过的事情有如下一些:

1、检查表空间的情况,给原来全部挤在一起的某个系统的两个大表分别移动到两个单独的表空间中,其日志也移动到两个单独的表空间中(建立了4个新的表空间)

但并没有建立分区表空间,毕竟不是我开发的系统。(所有表空间都正常,没有占满的情况,都有自增空间,服务器空间也足够)

2、检查了索引的层次,发现2000万记录,仅2层,我表示不理解,按道理如果btree2层就2000万,单层的宽度要有10000左右,这个数量级检索起来能快吗?(当然不排除我的理解有误,它有隐藏的层级)

但我没有做任何处理,因为重建索引已经没有意义,而且这个索引压根就是我建立的

3、让服务机管理者检查服务器的负载,发现cpu和内存占有都不高,当时也怀疑过,是否oracle有个什么计算单元数量配置的小了?但我确实不懂这块

4、抽查了几个时间段的服务器锁情况。发现某个时间段,有个客户的oracle用户建立了一个锁能锁住它之外用户的其它几个user的执行,但看其语法,就是正常的批插入语句,查看了一下那个表,不过10万条记录

而且并不是更新,就是插入,也就是说,一天也就千条。不见得是这个程序影响的。

我想问一下的是,按照大神们的排查过程,通常应该做一些什么事情,能够让这个服务器找到病症所在,重新活跃起来!!!

另外,这些表都是客户系统的,我无法改造变成读写分离、或者分表的设计,我无法轻易修改源代码,虽然可以看到源代码,但要让他们修改,编译,发布。否则人家就不维护了。

我是否应该直接找个oracle的DBA过来给维护一下?但我听说今年已经找过一次了,最好别给领导添乱了。

oracle速度慢排查,oracle整体变慢的排查方法相关推荐

  1. insert oracle速度,如何提高oracle的insert速度

    oracle中insert语句的优化 在oracle中,如果某个表的一条insert语句执行但没有提交,其他的会话中每次都是你先抛下小编.抛下小编在归家的路途星夜下凉了念想,抛下小编在无人的街头看着车 ...

  2. Oracle 多行变一列的方法

    多行变一列的方法有很多,觉得这个第一眼看懂了当时就用的这个办法. 情况是这样的.以下数据前几列是一样的,需要把VAT_VALUE_CHAR 的值放在同一行上. SELECT * FROM ps_vat ...

  3. oracle让电脑变卡以及解决方法

    Oracle让电脑变卡的原因 很多人会发现在安装了oracle软件之后,电脑会变的十分的卡,因为在安装了oracle之后,它就会自动在你的后台运行,占用了大量的内存和cpu计算,所以会导致你的运存不够 ...

  4. oracle数据库的吞吐量,Oracle 吞吐量角度提升数据库整体性能

    Oracle 吞吐量角度提升数据库整体性能 (2013-05-21 08:15:46) 标签: it 本文尝试给出一些最常被使用到的提升系统的策略,希望起到抛砖引玉的效果. 1.尽量保证在内存中完成数 ...

  5. oracle stalestats_深入理解oracle优化器统计数据(Optimizer Statistics)

    理解oracle优化器统计数据 首先来介绍oracle数据库使用基于规则优化器(RBO)来决定如何执行一个sql语句.基于规则优化器顾名思义,它是遵循一组规则来判断一个sql语句的执行计划.这组规则是 ...

  6. oracle免费的环境,【Oracle数据库免费版】Oracle数据库官方下载 v11gR2 免费版-趣致软件园...

    Oracle数据库免费版是一款比较实用的数据库软件,内含强大的功能,支持对数据的完整管理,而且还能实现保存的持久性.Oracle数据库官方版采用了分布式的处理,支持各种数据库的运行,同时软件还能为大大 ...

  7. oracle 9i 11g区别,oracle 9i 和oracle 10g 和oracle 11g有什么区别

    9i比8i多了哪些新特性? 简要说: 9i更易于管理. 详细说: 并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交 ...

  8. 甲骨文正式推出Oracle Solaris11.1和Oracle Solaris Cluster 4.1

    甲骨文近日宣布正式推出Oracle Solaris 11.1 和 Oracle Solaris Cluster 4.1 . Oracle Solaris 11是第一个云操作系统,它使客户能在广泛的SP ...

  9. oracle cdc 提交顺序,Oracle CDC部署流程

    一.ORACLE环境检查 查oracle数据库版本(>9.2.0.4.0). select * from v$version; BANNER Oracle Database 10g Enterp ...

最新文章

  1. 02. SQL表达式的灵活使用
  2. Linux学习笔记:rpm程序包管理
  3. 哈尔滨信息工程学院计算机在哪个校区,2021年哈尔滨信息工程学院有几个校区,大一新生在哪个校区...
  4. Objective-C基础
  5. Java高手需要注意的25个学习目标
  6. Flash 安全策略配置(1)
  7. Solaris系统环境变量声明方法
  8. 大众点评 java_大众点评评分爬取-图文识别ORC
  9. JAVA文件上传限制
  10. jquery图片懒加载函数
  11. 《平成的超级偶像金牌舔狗》之mmdetection,paddle detection安装,demo跑通,训练跑通,保姆级教学
  12. 适合于初学者—软路由全探索系列(一):探索 VMware 虚拟机旁路由安装及设置
  13. [Opencv基础]人脸磨皮
  14. npm install 报错 - node篇
  15. C++实现麻将基本听牌胡牌的算法
  16. 数商云:把握数字化核心趋势,推动煤炭企业数字化转型布局
  17. 如何将vectror<char>转换成string(C++)
  18. 三角形的外接圆 - 计算几何
  19. CADe_SIMu V1.0.0.1手把手学习笔记(3)
  20. c语言——PTA——计算存款利息

热门文章

  1. Android工具类篇 图片拼接
  2. Mysql之innodb
  3. 数据库字段与Java属性映射关系
  4. 一款在线制图工具介绍:如何在线免费绘制UML,云架构,ER模型,平面图,流程图等-...
  5. Qt QImage像素格式小结
  6. 想要接触网络安全,应该怎么入门学习?
  7. SpringCloud 中Feign原理(图解)
  8. linux基本操作/ubuntu
  9. Python中自定义函数参数类型
  10. 【stm32】如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例