今天测试oracle数据库的时候,把表空间连带内容和数据文件一并删除了,但是删除之后,查看数据文件不存在了,但是目录的带下没有释放

SQL> drop tablespace users including contents and  datafiles;

查看目录大小

$ df -h

/dev/mapper/oravg01-oradglv01
30G 26G 2.7G 91% /oradata01

发现目录剩余空间只有2.7G大小,明显不对,进入目录查看是否存在有文件

$ ls
control01.ctl control02.ctl redo01.log redo02.log redo03.log sysaux01.dbf system01.dbf temp01.dbf temp2_01.dbf undotbs01.dbf

发现并没有users01.dbf这个文件,说明这个文件已经被删除了

这就很奇怪了,没有数据文件,但是目录空间没有释放。这是因为删除文件时,删除的并不是磁盘上真正存在的数据文件,而是删除的目录,因此你看不到目录(文件路径报错文件名)

但是实际的数据仍在,也就是可覆盖的,这时候,如果有一个程序,打开了文件句柄,没有关闭,也就是仍然在往这个文件写东西的话,就没办法覆盖,因此目录没有释放

解决方法:

# lsof|grep -i delete

oracle    11472    oracle  259u      REG              253,4 17179877376     393221 /oradata01/monkey/users01.dbf (deleted)
oracle 16477 oracle 261u REG 253,4 6442459136 393229 /oradata01/monkey/users01.dbf (deleted)

使用lsof命令(root),查看哪些进程还在往已经删除的文件中写数据

我这个找到后,是我打开的oracle客户端,因此我把oracle客户端关闭后,目录就释放出来了

# df -h

/dev/mapper/oravg01-oradglv01
30G 9.3G 19G 34% /oradata01

最新文章

  1. js原生代码实现轮播图案例
  2. dotNet使用HttpWebRequest模拟浏览器
  3. 表格类似Excel
  4. UC如被百度控股,手机qq浏览器改如何进攻和防守
  5. cdoj 851 方老师与素数 bfs
  6. 我的一点关于把WndProc指向类的成员函数的看法
  7. FileOutputStream和FileInputStream
  8. tcprstat的使用方式
  9. 代写java程序qq:928900200
  10. 理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处(转)
  11. HashMap和ConcurrentHashMap流程图
  12. JS 监听浏览器各个标签间的切换
  13. JavaScript 中的正则表达式
  14. 官网下载的Struts 2解压后缺少xwork-core.jar文件
  15. [转] css选择器中:first-child与:first-of-type的区别
  16. 执行webpack-dev-server时,提示端口被占用。
  17. selective search
  18. 开发 FastAdmin 时见识到 php opcache 厉害
  19. 本地chrome调试服务器node
  20. Check类之duplicate declaration checking/Class name generation/Type Checking

热门文章

  1. 精尽Spring MVC源码分析 - HandlerMapping 组件(二)之 HandlerInterceptor 拦截器
  2. Java JVM——2.类加载器子系统
  3. 用DirectX 11绘制一个Cube
  4. 个人博客搭建Python实现-尝试-遇到的问题(10.1.1)
  5. PHPCMS V9.6.0 SQL注入漏洞分析
  6. angular8
  7. UWP 适配不同设备 屏幕
  8. 精尽Spring MVC源码分析 - HandlerExceptionResolver 组件
  9. matplotlib学习日记(十一)---坐标轴高阶应用
  10. Sentinel入门学习记录