Release space to the disk


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Release space to the disk
# 1  
Release space to the disk

Hi Guys

I am running Oracle Database and I have released about 200G from the datafiles but the space is not reflecting on the filesystem.

These space was allocated to the datafiles and then I reduced the datatfiles but I can see these space on the O/S (i.e. the filesystem/mount point).

What might be the issue here and how can I fix this?

Thanks in advance...

Please help!!!
# 2  
Quote:
Originally Posted by Phuti
What might be the issue here and how can I fix this?
Perhaps "beginners error number 2" or so ;-)) : the space to a file is released only when the last process opening the file has ended. before this, the system-call unlink(), which really destroys the files content, cannot be issued.

If you want to shorten a file to zero length, which might be written to by a background process, do:

Code:
cat /dev/null > /path/to/file

This reduces the file immediately while preserving its inode, so that the process that holds it open can still write to it.

Right now, if you have already removed the file, the only way is to identify the process still holding it open. User strace, fuser, lsof or a similar tool to identify the process(es) and then kill the process(es). As it is a Databse you might want to stop and restart the DB properly.

As an afterthought: you should stay away from doctoring on files a DB uses as long as it is up and you are not absolutely damned sure about what you do and why. This is a great way for exploding the DB into shards of unusable diskspace.

I hope this helps.

bakunin

PS: Regarding what i said above: don't worry, that happened to all of us.
This User Gave Thanks to bakunin For This Post:
# 3  
Thanks guys...

I used lsof to identify the files and kill them then the space was released.

The files were still open hence they could not release the space.

Thanks
# 4  
Quote:
Originally Posted by bakunin
If you want to shorten a file to zero length, which might be written to by a background process, do:
Code:
cat /dev/null > /path/to/file

This reduces the file immediately while preserving its inode, so that the process that holds it open can still write to it.
Note that the "cat /dev/null" part is useless as there is nothing to cat from /dev/null in the first place. You can actually shorten a file with any command that output nothing, e.g. :
Code:
true > /path/to/file

or
Code:
: > /path/to/file

and with most shells like sh, dash, bash, ksh, zsh and the likes (actually any shell but the csh family ones), you can even skip the command and only use a redirection for the expected effect :
Code:
> /path/to/file

# 5  
Quote:
Originally Posted by jlliagre
Note that the "cat /dev/null" part is useless as there is nothing to cat from /dev/null in the first place.
Thats not entirely correct. When /dev/null is read it produces a EOF-marker and this way it is made sure that the file to be shortened is well-formed (i.e. contains a end-of-file sign).

It may well be that other tools or devices do the same. I have never claimed that my method is the only one that works - just one i know for sure to work.

I hope this helps.

bakunin
# 6  
Quote:
Originally Posted by bakunin
Thats not entirely correct. When /dev/null is read it produces a EOF-marker and this way it is made sure that the file to be shortened is well-formed (i.e. contains a end-of-file sign).
It's not write-ing anything which truncates the file here -- just open-ing it with mode O_TRUNC is enough, as is done by > but not >>.

I know really early versions of DOS used to use end-of-file symbols, but I've never observed such a thing in UNIX before. Is that an Oracle thing? I would have thought that'd be handled internally by the filesystem driver. Do you have more information?
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #497
Difficulty: Medium
A computer compiler or interpreter is just as smart as a human.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

Disk Space

I know there are other threads but they have not helped. My server is running low on disk space and I haven't been able to re-allocate. I think my solaris machine is missing tools or the way it was originally setup, may not have the right pathing. $ df -k Filesystem kbytes used... (5 Replies)
Discussion started by: lnxjenn
5 Replies

2. UNIX for Dummies Questions & Answers

How much disk space?

Hi, I have this : uname -a Linux servername 2.6.18-194.11.3.el5PAE #1 SMP Mon Aug 23 15:57:10 EDT 2010 i686 i686 i386 GNU/Linux df -k Sys. de fich. 1K-blocs Occupied Disponible Capacity Monted on /u01/applis 10321208 3190160 6606760 33% /applis Does it mean... (1 Reply)
Discussion started by: big123456
1 Replies

3. Solaris

Disk Space

Hi, I am installing TAM-eb components in solaris V10.o, unfortunately am running out of space. when I -df i come across a lot of directories. i would like to know whether there is any way to free some disk space. (10 Replies)
Discussion started by: ichwaiznicht
10 Replies

4. Shell Programming and Scripting

Disk Space

Hi Guys i have a nice little piece of code then i need to modify so that is does not look at /Voulmes/* thanks sub disk_full { my $i = 0; open( DF, "df -l|" ); while (<DF>) { #chomp(); next if (/^\/proc\b/); $i++; next if ( $i == 1 ); ... (3 Replies)
Discussion started by: ab52
3 Replies

5. Shell Programming and Scripting

Disk Space

Hi This is my script for disk space monitoring clear if then echo "You must be root user to execute the script" fi ALERT_LEVEL=10 CONSUMPTION_LEVEL= `df -k | awk {'print $5'} | cut -d '%' -f1 | sed "1 d"` for i in $CONSUMPTION_LEVEL do FILE_SYSTEM=`df -k | awk {'print $1'} |... (3 Replies)
Discussion started by: chrs0302
3 Replies

6. Filesystems, Disks and Memory

disk space

Hello All- Am new member to this forum. Have some unix experience. But true believer in it compared to windows. Have a question regarding the disk space. I know a command to check the total disk space utilization using: df -k . but what is the command to check the same disk space by... (6 Replies)
Discussion started by: milkyway
6 Replies

7. HP-UX

Disk Space

Hi Experts. I had 100% disk full , even though i have removed 2 GB space still dbf command shows 100%. How to rectify that. Appreciate your prompt help. Thanks (1 Reply)
Discussion started by: test10002
1 Replies

8. Solaris

Disk space?

I'm a Unix newbie running Solaris 9. After installing a fresh copy on a 40GB drive I noticed the available disk space is 2% free or approximately 200MB available. Is that possible? Did I do something wrong? (4 Replies)
Discussion started by: jbarbuto
4 Replies

9. UNIX for Dummies Questions & Answers

available disk space on disk device???

Hello, Can someone please tell me which command to use to determine the available disk space on a given disk device? I have to write a shell script that compresses files and stores them in a specific location but I am not sure how "conservative" I should be? Thanks in advance! Al. (4 Replies)
Discussion started by: alan
4 Replies

10. Filesystems, Disks and Memory

Disk space

Can someone tell me how to determine how much disk space has been allocated to me and how much of it I am using? Thanks in advance. (1 Reply)
Discussion started by: jxh461
1 Replies

Featured Tech Videos