Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

18

积分

1

好友

18

主题
1#
发表于 2013-8-8 11:01:05 | 查看: 2201| 回复: 0
这是昨天同事在客户现场遇到的一个问题,数据库数据文件存放在AIX的文件系统/oracle目录下,/oracle目录大小为250G,由于/oracle目录容量过高,他需要删除一些东西清理一些空间出来。
他选择了删除其中一个实例名test的数据库的数据文件目录,该目录也在/oracle目录之下,大小为42G。他用rm -r命令删除了该目录,df命令查看/oracle的使用率,并没有变换,但是该目录已经删除,
这是什么原因呢?

我们知道,如果在windows的环境下,如果实例没有关闭,由于windows的服务保护打开的数据文件,所以我们直接删除数据文件时会报错:

E:\oradata\test>dir
驱动器 E 中的卷是 work
卷的序列号是 082F-6479

E:\oradata\test 的目录

2013/03/29  17:09    <DIR>          .
2013/03/29  17:09    <DIR>          ..
2013/08/08  09:50         7,061,504 CONTROL01.CTL
2013/08/08  09:50         7,061,504 CONTROL02.CTL
2013/08/08  09:50         7,061,504 CONTROL03.CTL
2013/07/24  11:28        52,429,312 REDO01.LOG
2013/07/24  11:28        52,429,312 REDO02.LOG
2013/07/24  11:28        52,429,312 REDO03.LOG
2013/07/24  11:28       314,580,992 SYSAUX01.DBF
2013/07/24  11:28       513,810,432 SYSTEM01.DBF
2013/07/15  22:03        20,979,712 TEMP01.DBF
2013/07/24  11:28        31,465,472 UNDOTBS01.DBF
2013/07/24  11:28         7,872,512 USERS01.DBF
              11 个文件  1,067,181,568 字节
               2 个目录 66,252,713,984 可用字节

E:\oradata\test>del system01.dbf
E:\oradata\test\SYSTEM01.DBF
另一个程序正在使用此文件,进程无法访问。

但是在unix系统中,即使实例正常运行,还是可以直接rm掉数据文件,其实,在unix系统中,不仅是对oracle的数据文件,当你rm一个文件的时候,如果这个文件是被某个进程打开的,你命令能够运行成功,也可以删除掉文件
甚至所在目录,但是该文件仍然被打开它的进程抓着,所以只是一种假删除现象,直到进程终止,才能够真正释放空间。

让同事ps -ef | grep smon查看test实例是否运行,果然是启动的,登进去shutdown abort后df命令再查看,容量已经释放,使用率降下来了。
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2025-1-1 10:00 , Processed in 0.045345 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569