Frage

Ich versuche ein zu importieren .dmp datei in meine Oracle RAC-Datenbank mit dem folgenden Befehl:

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

Und ich bekomme die folgende Ausgabe von 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

Ich habe mich ein bisschen umgesehen und einige Leute (https://community.oracle.com/thread/3788748?start=0&tstart=0 && https://stackoverflow.com/questions/11878631/expdp-from-oracle-rac-environment) habe gesagt, es könnte eine Berechtigungssache sein, also habe ich die Berechtigungen überprüft mit:

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)

Oracle tnslistener läuft unter PL\PLORACLE Benutzer.<-- das stimmt eigentlich nicht, siehe Änderungen.

Ich habe diese Befehle verwendet, um das Datenpumpenverzeichnis zu erstellen / zu ändern:

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

Sie wurden mit diesem Befehl in einer Batchdatei ausgeführt:

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

Der Benutzer, der die Befehle ausführt, hat sysdba berechtigungen für die Datenbank.Also, mit all dem kann ich nicht wirklich verstehen, warum der Import der .dmp datei funktioniert nicht.

BEARBEITEN:

Oracle tnslistener läuft eigentlich als local service anstatt PL\PLORACLE wie ich dachte.Der OracleJobSchedulePLDB_1, OracleServicePLDB_1 und OracleVssWriterPLDB_1 laufen Sie unter PL\PLORACLE obwohl.Der Rest der Oracle-Dienste wird wie folgt ausgeführt Local System/Service

War es hilfreich?

Lösung 2

Der Weg, den ich versucht hatte c:\app\oracle\admin\pldb\dpdump schien von Oracle gesperrt zu sein, also ging ich stattdessen einfach mit c:\app\ptmp und alles schien für mich gut zu funktionieren...ich weiß nicht warum.

Andere Tipps

Sieht so aus, als ob das Schreiben in das Verzeichnis fehlschlägt, aber auf Betriebssystemebene.

Verfügt der Betriebssystembenutzer, der impdp ausführt, über Betriebssystemberechtigungen zum Schreiben in das Verzeichnis?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top