您好,欢迎访问一九零五行业门户网

mv oracle数据文件os分区不释放处理

生产系统的oracle数据文件的分区/home满了,需要移动部分oracle datafile到别的空闲分区 [oracle@localhost ~]$ df -h filesystem size used avail use% mounted on /dev/sda3 97g 9.6g 83g 11% / /dev/sda6 582g 552g 0 100% /home /dev/sda2 388g 95g 274g
生产系统的oracle数据文件的分区/home满了,需要移动部分oracle datafile到别的空闲分区
[oracle@localhost ~]$ df -h
filesystem size used avail use% mounted on
/dev/sda3 97g 9.6g 83g 11% /
/dev/sda6 582g 552g 0 100% /home
/dev/sda2 388g 95g 274g 26% /oracle
/dev/sda1 190m 12m 169m 7% /boot
tmpfs 16g 9.2g 6.6g 58% /dev/shm
[oracle@localhost ~]$ mv /home/rman_backup/sms_01.dbf /oracle/oracle_back/sms_01.dbf
you have new mail in /var/spool/mail/oracle
[oracle@localhost ~]$ mv /home/rman_backup/sms_02.dbf /oracle/oracle_back/sms_02.dbf
移动完成后发现 /home 分区依旧占用率100%
[oracle@localhost ~]$ df -h
filesystem size used avail use% mounted on
/dev/sda3 97g 9.6g 83g 11% /
/dev/sda6 582g 552g 0 100% /home
/dev/sda2 388g 127g 242g 35% /oracle
/dev/sda1 190m 12m 169m 7% /boot
tmpfs 16g 9.2g 6.6g 58% /dev/shm
由于linux下都是由文件组成的,对于大型文件的mv或者rm操作,很有可能由于相应进程没有释放对这个文件的锁定,我们用lsof查看下oracle占用的数据文件
[root@localhost ~]# lsof |grep delete|grep oracle
oracle 32173 oracle 257u reg 8,6 34359730176 94142471 /home/rman_backup/sms_01.dbf (deleted)
oracle 32173 oracle 258u reg 8,6 34359730176 94142473 /home/rman_backup/sms_02.dbf (deleted)
oracle 32173 oracle 261u reg 8,6 11010056192 94142490 /home/rman_backup/temp001.dbf (deleted)
oracle 32175 oracle 256u reg 8,6 34359730176 94142473 /home/rman_backup/sms_02.dbf (deleted)
oracle 32175 oracle 257u reg 8,6 34359730176 94142471 /home/rman_backup/sms_01.dbf (deleted)
oracle 32175 oracle 258u reg 8,6 11010056192 94142490 /home/rman_backup/temp001.dbf (deleted)
oracle 32250 oracle 256u reg 8,6 34359730176 94142473 /home/rman_backup/sms_02.dbf (deleted)
看看这几个进程对应的是哪些进程,如果是核心的后台进程那么请慎重了,这里由于是服务器进程可以直接kiil掉来释放这些文件的锁定。
[root@localhost ~]# ps -ef|grep 32173|grep -v grep
oracle 32173 1 0 may10 ? 00:02:39 oracledxdb (local=no)
[root@localhost ~]# ps -ef|grep 32175|grep -v grep
oracle 32175 1 0 may10 ? 00:02:40 oracledxdb (local=no)
[root@localhost ~]# ps -ef|grep 32250|grep -v grep
oracle 32250 1 0 may10 ? 00:00:00 oracledxdb (local=no)
[root@localhost ~]# kill -9 32173
[root@localhost ~]# kill -9 32175
[root@localhost ~]# kill -9 32250
kill掉进程再进行查看发现空间已经释放了。
[root@localhost ~]# df -h
filesystem size used avail use% mounted on
/dev/sda3 97g 9.6g 83g 11% /
/dev/sda6 582g 478g 75g 87% /home
/dev/sda2 388g 159g 210g 44% /oracle
/dev/sda1 190m 12m 169m 7% /boot
tmpfs 16g 9.2g 6.6g 58% /dev/shm
原文地址:mv oracle数据文件os分区不释放处理, 感谢原作者分享。
其它类似信息

推荐信息