Skip to Main Content
  • Questions
  • Expdp error: GetFileInformationByHandle() failure, unable to obtain file info

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question.

Asked: October 27, 2020 - 5:51 am UTC

Answered by: Connor McDonald - Last updated: October 29, 2020 - 2:51 am UTC

Category: Database Administration - Version: 19.8.0.0

Viewed 100+ times

You Asked

Hello TOM,

We've recently upgraded an 11.2.0.4 database to 19.3 on Windows 2012R2.

As post-upgrade actions recommended, we changed the symbolic links on directories from UNC shares(\\computer_name\xxx) to a network drive with letter (e.g. Y:\)

While trying to run expdp (with both 11.2 and 19.3 binaries) jobs on that network drive, we get the following errors

ORA-39000: bad dump file specification
ORA-31641: unable to create dump file "Y:\...\...\..."
ORA-27037: unable to obtain file status
OSD-04011: GetFileInformationByHandle() failure, unable to obtain file info
O/S-Error: (OS 5) Access is denied.


I googled this OSD-04011 error message that looks a Microsoft OS error, but they are simply sending me back to Oracle.
Could it be linked to the OS user that installed Oracle database/ORACLE_HOME ?

We are running the database service using "LocalSystem" and the permissions are set correctly (i would say) on the share, namely using server's domain account (SERVERNAME$).

Any thoughts ?

and we said...

Interestingly MOS note 739772.1 says the opposite to the post-upgrade notes

See here for the details of that

https://asktom.oracle.com/pls/apex/asktom.search?tag=oracle-user-unable-to-access-network-locations-or-permission-issues

But putting aside that discrepancy, I would try the actions in the note that discuss setting a fixed account (as opposed to Local System) that can be used for running both the database and allowing Full Control for the file share.

(plus the bit about a full stop/start of the database services).

and you rated our response

  (1 rating)

Reviews

Follow-up

October 28, 2020 - 11:29 am UTC

Reviewer: Alex from Europe

Thanks Connor for the insight.
We've run some checks and i'm in the position to share the results:

(1) `expdp` is not working with UNC shares, nor with driver letters that are not local drives (network shares mapped as local drives).

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_FULL_08":  "SYS/********@DB_NAME AS SYSDBA" PARFILE=E:\temp\export_full.par
ORA-39155: error expanding dump file name "\\SERVERNAME\EXPORT\FILE.DMP"
ORA-48128: opening of a symbolic link is disallowed


(2) `rman` is working with UNC shares

(3) We could follow the advice and create a domain account for (a) running Oracle db services (making it part of the local ora_dba group should be enough, isn't it ?) and (b) write permission on UNC shares, but we still need to figure out a solution for DB servers outside the domain.

(4) Oracle 19 post-upgrade recommended actions are conflicting with MOS 739772.1 in terms of using UNC shares; so, in the end, which side of the coin is valid (use/avoid UNC shares) ? Probably the answer here is `it depends` on the program...

Thanks,
Connor McDonald

Followup  

October 29, 2020 - 2:51 am UTC

With (1) and (4) I think thats worth taking up with Support for clarification.

The "ORA-48128: opening of a symbolic link is disallowed" is a security fix, because you could as a non-priv'd user, create a symlink to (say) an Oracle datafile and then run a dump or utl_file etc etc and .... splat.

I guess the same *could* be done with a UNC name.

More to Explore

Utilities

All of the database utilities are explained in the Utilities guide.