今天遇见了一个从未遇见的问题,刚发现的时候,都不知道如何搜索,
后来一个大牛,跟我说是:空洞文件
问题是这样的,我检查oracle数据库等待事件的时候,发现存在I/O问题,于是查看了一下,每个数据文件的使用情况,在查看临时表空的时候,发现了一个奇怪的现在,上图:
看出来了吧,下面几个都使用满了,上面几个文件几乎没有使用,去操作系统上du 一下,文件大小居然是1.1m,我去。
本以为是自己以前的语句错误(不可能),所以是试想着resize一下,可发现resize之后,依然如此。于是又想到新添加一个文件,可,问题还是那样,上图:
可是ll显示的字节大小正常:
[root@ZBSHOES tempfile]# ll
total 61499380
-rw-r----- 1 oracle oinstall 32212262912 Sep 1 17:03 temp202.dbf
-rw-r----- 1 oracle oinstall 32212262912 Sep 1 17:02 temp205.dbf
-rw-r----- 1 oracle oinstall 10737426432 Sep 1 10:01 temp207.dbf
-rw-r----- 1 oracle oinstall 10737426432 Aug 13 17:08 temp211.dbf
-rw-r----- 1 oracle oinstall 10737426432 Sep 1 09:55 temp213.dbf
重新创建一个临时表空间temp 初始大小10G,结果,du查看还是1m。
百度了一下“空洞文件”,网上copy版的博客,几乎都是你复制我的,我复制你的,
现在就我所了解的一点点,就是
空洞文件,影响读性能,不影响写性能,所以适用的场景,你应该想想也会知道。
这也是为什么,我的库里面有:User I/O direct path read
系统是 RedHat 5.8 64位
数据库是11.2.0.3 64位
后续更进,如果你了解的多,希望可以和你交流一下。
现在发现,我resize其他表空间的文件,都很正常,例如undo和普通表空间,郁闷中!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30936525/viewspace-2018400/
,如需转载,请注明出处,否则将追究法律责任。