Skip to main content

SPACE IS NOT GETTING RELEASED AFTER DROPPING DATA FILES IN LINUX MACHINE.



Please see below ...


We have encountered the below situation many times.

The space is not getting released after dropping the data files in LINUX machine.

 SQL> drop user TMP561 cascade;

SQL> drop tablespace TMP561 including contents and datafiles;

Note: The schema size is around 300Gig. And its having 11 datafiles each  data-file 30G.

But after dropping the User/Tbs. Space is not reclaimed in the Server.

SOLUTION:

After dropping the datafiles still one process is holding these files. Check like below


oracle@/oracle/tmp: /usr/sbin/lsof |grep deleted |grep TMP*

oracle    13683    oracle   17u      REG             253,16 33286004736   40550413 /user/TMP/TMP561_01.dbf (deleted)
oracle    13683    oracle   18u      REG             253,16 33286004736   40550414 /user/TMP/TMP561_02.dbf (deleted)
oracle    13683    oracle   20u      REG             253,16 32212262912  206487553 /user/TMP/TMP561_03.dbf (deleted)
oracle    13683    oracle   21u      REG             253,16 28183633920   40566785 /user/TMP/TMP561_04.dbf (deleted)
oracle    13683    oracle   22u      REG             253,16 24587214848  302956545 /user/TMP/TMP561_05.dbf (deleted)
oracle    25070    oracle   16u      REG             253,16 33286004736   40550413 /user/TMP/TMP561_06.dbf (deleted)
oracle    25070    oracle   17u      REG             253,16 33286004736   40550414 /user/TMP/TMP561_07.dbf (deleted)
oracle    25070    oracle   19u      REG             253,16 32212262912  206487553 /user/TMP/TMP561_08.dbf (deleted)
oracle    25070    oracle   20u      REG             253,16 28183633920   40566785 /user/TMP/TMP561_09.dbf (deleted)
oracle    25070    oracle   21u      REG             253,16 24587214848  302956545 /user/TMP/TMP561_10.dbf (deleted)

oracle    25070    oracle   21u      REG             253,16 24587214848  302956545 /user/TMP/TMP561_11.dbf (deleted)

The marked processes are still holding these datafiles. 

Kill those processes to re-claim the space in the server.

oracle@kill -9  13683

oracle@kill -9  25070

Alert Log shows like below:

oracle@ tail -f alert_HGU11.log
Immediate Kill Session: sess: 0x9ff8f060  OS pid: 13683
Thu Jan 15 22:51:11 PST 2015
Process OS id : 13683 alive after kill
Errors in file
Thu Jan 15 22:53:54 PST 2015
Immediate Kill Session#: 158, Serial#: 10
Immediate Kill Session: sess: 0x9ff8f060  OS pid: 13683
Thu Jan 15 22:53:55 PST 2015
Process OS id : 13683 alive after kill

SOLUTION 2:
Another way is to RESTART the database. To reclaim the space in the server.



Thank You!







Comments

Popular posts from this blog

Registering The Database to RMAN catalog database:

Registering The Database to RMAN catalog database: Need to start RMAN as follows: RMAN target=sys/password@database_to_backup rcvcat=sys/password@recovery_catalog_database Another variation on the command, if the recovery catalog and the database were on the same server, might be as shown: oraenv ORACLE_SID = [KKUY] ? KKUY RMAN rcvcat=sys/password@recovery_catalog_database RMAN> connect target Recovery Manager: Release 8.0.5.1.0 - Production RMAN-06005: connected to target database: KKUY RMAN-06008: connected to recovery catalog database Use the below command to register the database. RMAN>register database; Want to verify if a database is registered in the recovery catalog. To do this, connect to RMAN and issue the command LIST INCARNATION OF DATABASE. RMAN> list incarnation of database; RMAN-03022: compiling command: list RMAN-06240: List of Database Incarnations RMAN-06241: DB Key Inc Key DB Name DB ID      CUR Reset SCN   Reset Time RMAN

ORA-39014: One or more workers have prematurely exited.ORA-00018: maximum number of sessions exceeded

ERROR: I was Performing a full database import and during the import I faced the below error. ORA-39014: One or more workers have prematurely exited. ORA-39029: worker 6 with process name "DW07" prematurely terminated ORA-31672: Worker process DW07 died unexpectedly. Job "SYSTEM"."SYS_IMPORT_FULL_04" stopped due to fatal error at 00:59:40 ORA-39014: One or more workers have prematurely exited. SOLUTION:  Run the import with fewer parallel processes, like PARALLEL=2 instead of 8. I was able to run the import successfully. NOTE 1: This errors occurs when there are less session allocation in the database. check the session,process parameters and increase them accordingly. To avoid such errors again. NOTE 2 : Note: Increasing processes parameter increases the amount of shared memory that needs to be reserved & the OS must be configured to support the larger amount of shared memory. So here we first need to increase the Memory & SG