oracle表插入数据慢

zinseer 2011-01-14 03:14:46
数据库:oracel 10G
数据库其中有一张表(其他表正常的),经常发生插入一条数据很慢,慢时通常10秒,正常情况是不到1秒,
数据量不大就几十万条,都不到一百万.
有时一个星期发生一次,有时两三天一次;
发生后,有时过几个小时,有时过一天,又恢复正常。也不知道什么原因产生,什么原因恢复正常。
请教大家有什么方法知道什么环节有问题?
如果是客户端程序有问题,有什么方法快速定位?
如果表结构有问题,如何查出原因?
如果oracle数据库本身问题,如何知道原因?但想应该不会oracle数据库问题,因为就一张表有问题,其他正常
...全文
1000 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dl_tianj 2011-01-17
  • 打赏
  • 举报
回复
我的观点:暂且不要把精力都放在分析Oracle的问题上,先重点考虑Application的问题,换句话就是程序的问题,以下几个思路:
1. 通过日志详细记录一下,执行慢的SQL语句,以及SQL处理到数据的特征,看看有没有思路。
2. 通过日志输出执行SQL时的用时,和执行SQL的相关方法的用时,以备分析和参考使用,量化分析。
3. 重点分析应用,看一看当你说的情况恢复时,应用或应用服务器都干了什么?
4. ...
zinseer 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wkc168 的回复:]
引用楼主 zinseer 的回复:
数据库:oracel 10G
数据库其中有一张表(其他表正常的),经常发生插入一条数据很慢,慢时通常10秒,正常情况是不到1秒,
数据量不大就几十万条,都不到一百万.
有时一个星期发生一次,有时两三天一次;
发生后,有时过几个小时,有时过一天,又恢复正常。也不知道什么原因产生,什么原因恢复正常。
请教大家有什么方法知道什么环节有问题?
如果是客户端……
[/Quote]
能否详细说明,本人对这个不是很了解,谢谢!
1、redo空间如何查看是否满了
2、如果满了,改如何处理
zinseer 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lxyzxq2008 的回复:]
慢的时候,你把数据库服务重启,看看是不是正常了,如果是正常了,可能就是事务问题了,有人在操作这张表,你只能等别人操作完才能接着操作~
[/Quote]
1、重启数据库基本不可能,想想如果中国移动业务发生问题,或者银行业务有问题,不可能去重启数据库吧,
本人虽不是做这些业务,但也是个重要性相关的行业,不能暂停使用
2、如果有其他事务,其他人在操作,应该是一定要等其他事务完成后才能进行操作,而现在情况是能操作,但
数据很慢
zinseer 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lzd_83 的回复:]
1、查看日志是否是那个表空间满了,如果是表空间满了,扩表空间了。
2、权限不足造成提交问题呀
[/Quote]

1、基本肯定不是表空间满的问题:一方面去看过表空间还很多,另一方面如果满了应该全部表都会有问题,而不会就一张表
2、这个问题该怎么理解?使用过程中数据库不可能随机去变更权限问题的吧。人为变更不可能存在
Rotel-刘志东 2011-01-15
  • 打赏
  • 举报
回复
1、查看日志是否是那个表空间满了,如果是表空间满了,扩表空间了。
2、权限不足造成提交问题呀
搞怪的索引 2011-01-15
  • 打赏
  • 举报
回复
很可能是锁表的问题!
lxyzxq2008 2011-01-15
  • 打赏
  • 举报
回复
慢的时候,你把数据库服务重启,看看是不是正常了,如果是正常了,可能就是事务问题了,有人在操作这张表,你只能等别人操作完才能接着操作~
njlywy 2011-01-14
  • 打赏
  • 举报
回复
看看日志有没有异常信息…
coolkisses 2011-01-14
  • 打赏
  • 举报
回复
资源争跑道? 关注一下这种非正常时段的环境吧
心中的彩虹 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 zinseer 的回复:]
数据库:oracel 10G
数据库其中有一张表(其他表正常的),经常发生插入一条数据很慢,慢时通常10秒,正常情况是不到1秒,
数据量不大就几十万条,都不到一百万.
有时一个星期发生一次,有时两三天一次;
发生后,有时过几个小时,有时过一天,又恢复正常。也不知道什么原因产生,什么原因恢复正常。
请教大家有什么方法知道什么环节有问题?
如果是客户端程序有问题,有……
[/Quote]

看那个时候的日志 可能是redo空间满了 那个时候的事务多
南风呼呼的吹 2011-01-14
  • 打赏
  • 举报
回复
当你们插入数据的时候 有没有事务正在执行哦
zinseer 2011-01-14
  • 打赏
  • 举报
回复
第一次遇到这个问题,首先也想到是不是锁表
但是经过查询v$session,v$lock找不到相关表锁住信息
即使锁表的话,应该是一条也不能插入,不可能可以插入但速度慢的情况
南风呼呼的吹 2011-01-14
  • 打赏
  • 举报
回复
看看表有没有被锁吧~~~
---涛声依旧--- 2011-01-14
  • 打赏
  • 举报
回复
检查前台程序是不是有犯低级错误,比如:用到该表的事务使用不当(如事务提交前有提示信息等)从而造成该表死锁的情况
Phoenix_99 2011-01-14
  • 打赏
  • 举报
回复
关注。。。。

首先,查看这条慢的数据和其它数据的区别
二、查看慢的数据是否是同一个用户提交的

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧