Chinaunix首页 | 论坛 | 博客
  • 博客访问: 844434
  • 博文数量: 105
  • 博客积分: 636
  • 博客等级: 中士
  • 技术积分: 1704
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-11 10:57
文章分类

全部博文(105)

文章存档

2017年(4)

2016年(9)

2015年(18)

2014年(16)

2013年(34)

2012年(24)

分类: Oracle

2013-01-05 14:17:52

oracle 10.2.0.5.0

 

今天门店反应系统比较慢,做业务做不下去了。于是我看了一下服务器的状态  发生了大量的锁等待会话

锁的类型是FB 

select * from v$lock_type where type='FB'

1 FB  Format Block  tablespace # dba NO 

Ensures that only one process can format data blocks in auto segment space managed tablespaces

以上是查询出来的内容。这个锁的说明是,请确定只有一个进程正在格式化你的数据块,在一个自动段管理的表空间中。

然后我又查看了这些等待锁的会话,发现很多是执行dml语句

查看p1,p2参数  再结合dba_data_files 和dba_tablespaces 我发现了问题

应该是表空间数据文件满了,虽然设置的是autoextend on  但是由于业务操作,会有多个进程对数据文件

的新空间去格式化,这样就产生了竞争contention,就产生了FB lock死锁 。看来以后要自己手动去调整

数据文件的大小了,自动增长好像有点靠不住啊。

手动调整数据文件的大小的语句是 ALTER DATABASE DATAFILE '/oradata/NNC_DATA01_01.dbf' RESIZE 15360m

也可以在表空间里增加数据文件 来起到相同的作用 语句是

alter tablespace ts_name add datafile ''/oradata/NNC_DATA01_01.dbf' size xxxM

 

 

阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~