it-swarm-eu.dev

Importujte soubor Oracle DMP do čerstvé instalace Oracle

Klient nám poslal databázi Oracle, kterou musíme testovat. Nepoužíváme společnost Oracle ani nemáme vlastní znalosti společnosti Oracle.

Musíme databázi nastavit, abychom se k ní mohli připojit a odladit problém.

Provedl jsem novou instalaci systému Oracle 9 (verze, kterou klient používá) a nástrojů pro správu.

Za celý svůj život si nemůžu nechat importovat data. Nemělo by to být tak komplikované. Musím mít něco špatně.

Zkusil jsem:

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

a dostal:

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.

Ve správci se ale nic neobjevuje, pokud jde o tabulky v jakémkoli schématu a já jsem na konci svého rozumu.

30
James

Nejprve musíte vytvořit uživatele (nebo schéma)

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

Pak můžete použít fromuser= a touser= Přepínače IMP importují data do nového uživatele/schématu:

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

Doufám, že to pomůže!

29
Andrew

V Oracle není běžné vytvářet tabulky jako SYS nebo SYSTEM, protože tyto dva účty jsou správci.

Chyba znamená, že klient vytvořil tabulky jako uživatel ABCDE.

Měli byste tohoto uživatele vytvořit před importem, pak byste měli importovat data jako tento uživatel,

To by mělo vyloučit chybu, protože exportovaný soubor obsahuje oprávnění a další informace týkající se uživatele ABCDE, který v databázi neexistuje.

V této otázce naleznete další rady: Jak určit schémata uvnitř exportního souboru Oracle Data Pump.

12
zendar

Nejprve musíte vytvořit uživatele „ABCDE“

Něco jako

V SQL * PLUS:

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

Na „vytvoření uživatele“ je k dispozici milión možností, ale to by použilo výchozí hodnoty.

7
Nick Pierpoint

Poskytl klient podrobnosti o tom, jak vygenerovali soubor výpisu? Zejména jste si jisti, že se jedná spíše o úplný export než o export na úrovni schématu, export na úrovni tabulkového prostoru nebo export na úrovni tabulky?

3
Justin Cave

Spíše než 'sys/password AS SYSDBA', zkuste 'system/password'.

Nástroj Oracle vyžaduje, aby stejný uživatel importoval jako vytvořený export, i když sys je „všem mocným“ uživatelem.

3
dacracot

Bylo vydáno varování ohledně toho, že importovaná data byla uživatelem SYS exportována jako soubor .dmo. Zkuste to..

C:\Oracle\ora92\bin>imp sys/[email protected] file=c:\database.dmp full=yes

dbname je název databáze, který jste zadali

1
Dhruv
c:\\ imp database name/[email protected] file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name
0
vikas