Importe un archivo Oracle DMP en una instalación nueva de Oracle

30

Un cliente nos envió una base de datos Oracle con la que debemos probar. No utilizamos Oracle ni tenemos experiencia interna en Oracle.

Necesitamos configurar la base de datos para que podamos conectarnos a ella y depurar un problema.

Hice una nueva instalación de Oracle 9 (la versión que ejecuta el cliente) y las herramientas de administración.

Por mi vida, no puedo conseguir que importe los datos. No debería ser tan complicado. Debo estar haciendo algo mal.

He intentado:

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

y consiguió:

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.

Pero nada aparece en el administrador en cuanto a las tablas en cualquier esquema y estoy en mi ingenio final.

RolandoMySQLDBA
fuente
Gracias, problema exacto aquí. Tengo un vertedero de oráculo y tenemos que importar. Extremadamente intuitivo en comparación con, bueno, prácticamente cualquier otro sistema de base de datos
namezero

Respuestas:

28

Primero deberá crear un usuario (o esquema)

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

Luego puede usar los modificadores fromuser=y touser=IMP para importar los datos al nuevo usuario / esquema:

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

¡Espero que ayude!

Andrés
fuente
ORA-65096: usuario común o nombre de rol
inválido
12

No es común crear tablas como SYS o SYSTEM en Oracle, ya que esas dos cuentas son administradores.

Error significa que su cliente creó tablas como usuario ABCDE.

Debe crear ese usuario antes de importar, luego debe importar datos como ese usuario,

Esto debería eliminar el error porque el archivo exportado contiene permisos y otra información relacionada con el usuario ABCDEque no existe en la base de datos.

Consulte esta pregunta para obtener sugerencias adicionales: Cómo determinar los esquemas dentro de un archivo de exportación de Oracle Data Pump.

Zendar
fuente
7

Primero debe crear el usuario "ABCDE"

Algo como

En SQL * PLUS:

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

Hay un conjunto de opciones en "crear usuario", pero esto usaría los valores predeterminados.

Nick Pierpoint
fuente
3

¿El cliente proporcionó los detalles de cómo generaron el archivo de volcado? En particular, ¿está seguro de que se trata de una exportación completa en lugar de una exportación a nivel de esquema, una exportación a nivel de espacio de tabla o una exportación a nivel de tabla?

Justin Cave
fuente
Tengo una pregunta relacionada. ¿Estás dispuesto a comentarlo? Aquí está el enlace: dba.stackexchange.com/questions/130515/…
CodeMed
3

En lugar de 'sys / password AS SYSDBA', intente 'system / password'.

La herramienta de Oracle requiere que el mismo usuario importe como creó la exportación, aunque sys es el usuario "todopoderoso".

dacracot
fuente
1

Se advirtió que los datos que está importando fueron realmente exportados por el usuario de SYS como archivo .dmo. Prueba esto..

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

dbname es el nombre de la base de datos que ha proporcionado


fuente
0
c:\\ imp database name/password@oracle9i file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name
vikas
fuente
1
Debería aclarar su respuesta explicando cómo funciona esto, cuáles son los parámetros, cualquier cosa realmente más allá de una línea de comandos.
Max Vernon el