Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

utl_file.fremove doesn't delete files - kind of

MarwimOct 18 2018 — edited Nov 15 2018

Hello,

we have a filer (Windows) where user can put files that have to be processed in the database. These files are either XML or zipped XML.

This filer is mounted on the db server (Oracle Linux 6.7)

Share: zvctransferprod

                     CIFS Server NetBIOS Name: V-ADAM

                                         Path: /vol/vol2/zv2/transfer/Prod

lix000:

Filesystem               Size  Used Avail Use% Mounted on

//filer0/zvctransferprod  11G 11G  974M  92% /cifs/zvctransfer

When the files are processed they are copied into a SAV-directory. This is done in chunks in binary mode because of another problem (Metalink Doc ID 317338.1)

Then the files are deleted with utl_file.fremove.

If I look at the filer from Windows Explorer, then the files are gone. But I can still read them from the Linux side

[oracle1@lix000]:/cifs/zvctransfer/Eingang/SEPA # ls -lart | grep apt03

-rw-rw---- 1 oracle1 oinstall 21585 Jul 17 03:34 apt03-sepa.20180717.032514.dta.xml

-rw-rw---- 1 oracle1 oinstall    7940 Aug 17 03:17 apt03-sepa.20180817.031645.dta.xml

-rw-rw---- 1 oracle1 oinstall    2208 Aug 18 09:34 apt03-sepa.20180818.093402.dta.xml

-rw-rw---- 1 oracle1 oinstall    2234 Sep 27 01:40 apt03-sepa.20180927.014002.dta.xml

Therefore they are also visible from the db, the following script shows that they are not empty

DECLARE

v_dateiHandle utl_file.FILE_TYPE;

zeile VARCHAR2(32000);

BEGIN

v_dateiHandle := utl_file.fopen ('ZVC_IMP_SEPA', 'apt03-sepa.20180717.032514.dta.xml', 'R', 32760);

utl_file.get_line (

   v_dateiHandle

   ,zeile

   );

dbms_output.put_line(SUBSTR(zeile,1,80));

utl_file.fclose (v_dateiHandle);

END;

/

<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tec

PL/SQL-Prozedur erfolgreich abgeschlossen.

Why are they still there and how to get rid of them?

Regards

Marcus

P.S.: I can't reproduce this in test and development :-(

DB version

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning option

Comments
Post Details
Added on Oct 18 2018
14 comments
2,189 views