3

I'm trying to import a .dmp file to my oracle RAC database using the following command:

C:\app\ptmp>impdp [user]/[password]@'DEVRAC-SCAN:1521/DB' DUMPFILE=UPG_E_7d291ff.dmp
 LOGFILE=UPG_E_7d291ff.log TABLE_EXISTS_ACTION=REPLACE

And I get the following output from oracle:

Import: Release 12.1.0.2.0 - Production on Thu Dec 17 09:43:13 2015

Copyright (c) 1982, 2015, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
Production
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Advanced Analytics and Real Application Testing options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

I've looked around a little bit and some people (https://community.oracle.com/thread/3788748?start=0&tstart=0 && https://stackoverflow.com/questions/11878631/expdp-from-oracle-rac-environment) have said it could be a permissions thing so I checked permissions with:

C:\app\ptmp>icacls c:\app\oracle\admin\pldb\dpdump
c:\app\oracle\admin\pldb\dpdump Everyone:(R,W)
                                BUILTIN\Administrators:(OI)(CI)(F)
                                NT AUTHORITY\SYSTEM:(OI)(CI)(F)
                                PL\PLORACLE:(OI)(CI)(F)
                                DEVRAC1\Administrator:(OI)(CI)(F)
                                DEVRAC1\ORA_GRID_LISTENERS:(OI)(CI)(F)
                                BUILTIN\Administrators:(I)(OI)(CI)(F)
                                NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
                                PL\PLORACLE:(I)(OI)(CI)(F)
                                DEVRAC1\Administrator:(I)(OI)(CI)(F)
                                DEVRAC1\ORA_GRID_LISTENERS:(I)(OI)(CI)(F)

the oracle tnslistener runs under PL\PLORACLE user. <-- this is actually not true, see edits.

I used these commands to create/change the data pump directory:

echo create or replace directory DATA_PUMP_DIR as 'C:\app\oralce\admin\pldb\dpdump\'; >1_UPDATE_DUMP_LOC.SQL
echo grant read,write on directory DATA_PUMP_DIR to public; >>1_UPDATE_DUMP_LOC.SQL

They were ran using this command in a batch file:

sqlplus -S [user]/[password]@'DEVRAC-SCAN:1521/PLDB' <1_UPDATE_DUMP_LOC.SQL >1_UPDATE_DUMP_LOC.LST

The user that is running the commands has sysdba privileges for the database. So, with all this, I can't really understand why the import of the .dmp file isn't working.

EDIT:

The oracle tnslistener is actually running as local service rather than PL\PLORACLE as I thought. The OracleJobSchedulePLDB_1, OracleServicePLDB_1 and OracleVssWriterPLDB_1 run under PL\PLORACLE though. The rest of the oracle services run as Local System/Service

2
  • Have you tried elevating your command prompt? As in, right click on the Command Prompt Icon => Run as Administrator, then run impdp. Dec 18 '15 at 15:18
  • @KrisJohnston I had tried that, to no avail.
    – B-M
    Dec 21 '15 at 14:59
0

Looks like it's the write to the directory that's failing, but at the OS level.

Does the OS user runing impdp have OS permissions to write to the directory?

3
  • Should, I was logged in as DEVRAC1\Administrator while running the commands.
    – B-M
    Dec 17 '15 at 19:42
  • It does not matter. User "ploracle" must have write permission. Dec 17 '15 at 19:51
  • @WernfriedDomscheit Would these two entries from icacls (PL\PLORACLE:(I)(OI)(CI)(F) and PL\PLORACLE:(OI)(CI)(F)) not indicate full permissions for the folder location?
    – B-M
    Dec 17 '15 at 20:12
0

The path I had been tryig c:\app\oracle\admin\pldb\dpdump seemed to be locked down by Oracle so I just instead went with c:\app\ptmp and everything seemed to work just fine for me...not sure why.

Not the answer you're looking for? Browse other questions tagged or ask your own question.