Importieren Sie eine Oracle DMP-Datei in eine Neuinstallation von Oracle

29

Ein Kunde hat uns eine Oracle-Datenbank gesendet, gegen die wir testen müssen. Wir setzen Oracle nicht ein und verfügen über keine internen Oracle-Kenntnisse.

Wir müssen die Datenbank einrichten, damit wir eine Verbindung herstellen und ein Problem beheben können.

Ich habe Oracle 9 (die Version, auf der der Client ausgeführt wird) und die Verwaltungstools neu installiert.

Für das Leben von mir kann ich es nicht veranlassen, die Daten zu importieren. Es sollte nicht so kompliziert sein. Ich muss etwas falsch machen.

Ich habe es versucht:

imp 'sys/password AS SYSDBA' file=c:\database.dmp full=yes log=implog.txt

und bekam:

Connected to: Personal Oracle9i Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Export file created by EXPORT:V09.02.00 via conventional path

Warning: the objects were exported by SYSTEM, not by you

import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing SYSTEM's objects into SYS
. importing ABCDE's objects into ABCDE
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
Import terminated successfully with warnings.

Aber nichts taucht im Manager auf, was Tabellen in irgendeinem Schema betrifft, und ich bin am Ende meines Wissens.

RolandoMySQLDBA
quelle
Danke, genaues Problem hier. Habe eine Orakelkippe und wir müssen importieren. Extrem intuitiv im Vergleich zu praktisch jedem anderen Datenbanksystem
NameZero

Antworten:

28

Sie müssen zuerst einen Benutzer (oder ein Schema) erstellen

C:\>sqlplus system/password

SQL> create user CLIENT_TEST identified by client_test_password;
SQL> grant connect, unlimited tablespace, resource to CLIENT_TEST;
SQL> exit

Dann können Sie die Schalter fromuser=und touser=IMP verwenden, um die Daten in den neuen Benutzer / das neue Schema zu importieren:

C:\>imp system/password FROMUSER=ABCDE TOUSER=client_test file=c:\database.dmp full=yes

Hoffentlich hilft das!

Andrew
quelle
ORA-65096: Ungültiger gemeinsamer Benutzer- oder
Rollenname
12

Es ist nicht üblich, Tabellen als SYS oder SYSTEM in Oracle zu erstellen, da diese beiden Konten Administratoren sind.

Fehler bedeutet, dass Ihr Client Tabellen als Benutzer erstellt hat ABCDE.

Sie sollten diesen Benutzer vor dem Import erstellen und dann Daten als dieser Benutzer importieren.

Dies sollte den Fehler beseitigen, da die exportierte Datei Berechtigungen und andere Informationen zu Benutzern ABCDEenthält, die in der Datenbank nicht vorhanden sind.

Überprüfen Sie diese Frage auf zusätzliche Hinweise: So ermitteln Sie die Schemata in einer Oracle Data Pump-Exportdatei.

zendar
quelle
7

Sie müssen zuerst den Benutzer "ABCDE" erstellen

So etwas wie

In SQL * PLUS:

create user ABCDE identified by password;
grant connect, resource to ABCDE;

Es gibt unzählige Optionen für "Benutzer erstellen", dies würde jedoch die Standardeinstellungen verwenden.

Nick Pierpoint
quelle
3

Hat der Client die Details zur Generierung der Dump-Datei angegeben? Sind Sie sich insbesondere sicher, dass dies ein vollständiger Export ist, nicht ein Export auf Schemaebene, ein Export auf Tabellenbereichsebene oder ein Export auf Tabellenebene?

Justin Cave
quelle
Ich habe eine verwandte Frage. Bist du bereit, dies zu kommentieren? Hier ist der Link: dba.stackexchange.com/questions/130515/…
CodeMed
3

Versuchen Sie statt "sys / password AS SYSDBA" "system / password".

Für das Oracle-Tool muss derselbe Benutzer importiert werden, der den Export erstellt hat, obwohl sys der "allmächtige" Benutzer ist.

Dacracot
quelle
1

Es wurde die Warnung ausgegeben, dass die Daten, die Sie importieren, tatsächlich vom SYS-Benutzer als DMO-Datei exportiert wurden. Versuche dies..

C:\oracle\ora92\bin>imp sys/pwd@dbname file=c:\database.dmp full=yes

Datenbankname ist der von Ihnen angegebene Datenbankname


quelle
0
c:\\ imp database name/password@oracle9i file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name
vikas
quelle
1
Sie sollten Ihre Antwort klarstellen, indem Sie erklären, wie dies funktioniert, welche Parameter verwendet werden und alles , was wirklich über eine Befehlszeile hinausgeht.
Max Vernon