奇怪的建表,oracle就hang了的问题

有个数据库,奇怪的是一建表就hang了,oracle也不报错,alert日志也没有任何告警和ora-的错误产生!

非常奇怪,重启数据库很多次,都是这种现象,搞得很郁闷!

跟踪了建表的session,发现处于死循环状态;等待事件是"control file seq... wait";搞得人相当的郁闷!

然后我查看表空间是否充足,结果看不到建表所在的表空间的大小!

非常奇怪!

数据库正常启动,该表空间的数据也能正常查询!

我查了下dba_data_files,发现该表空间的数据文件都存在,但是发现一处,有个数据文件的状态处于recover状态(后问了下,原来该数据文件曾经坏过,offline and drop了该数据文件),bytes字段是空,我发现了不能查询该表空间大小的原因了,因为bytes为空,sun(bytes)自然也是空,所以不能获取!

然后将查询语句改为:

select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files where bytes is not nullgroup by tablespace_name) a,
(select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name;

加上bytes is not null就可以获取了!

查询结果发现该表空间已被使用完了,给该表空间添加一个数据文件,然后建表,成功!

我奇怪的是,表空间用完了,oracle也不告警,难道oracle在统计表空间大小的时候也忘记加入bytes is not null条件,所以不会因此告警?这个有待查证!

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7916042/viewspace-1034107/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7916042/viewspace-1034107/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值