oracle - impdp - import data pump
¿Cómo importar una base de datos Oracle desde un archivo dmp y un archivo de registro? (2)
¿Cómo voy a crear una base de datos desde un archivo dmp? No tengo una base de datos existente con la misma estructura en mi sistema, así que debe estar completa con trabajos, eventos, tablas, etc.
Coloqué dmp y el archivo de registro en E: unidad
He probado la utilidad de importación
E:/>impdp system/tiger@oratest FILE=WB_PROD_FULL_20MAY11.dmp
Pero recibo un error como
invalid argument value
bad dump file specification
unable to open dump file "E:/app/Vensi/admin/oratest/dpdump/WB_PROD_F
ULL_20MAY11.dmp" for read
unable to open file
unable to open file
(OS 2) The system cannot find the file specified.
Y cuando veo en Windows Explorer, el archivo dmp (tomado del servidor Linux) se muestra como un archivo de volcado Crash
No entiendo cómo puedo resolver este problema. Porfavor ayudame a resolver este problema.
Soy un novato completo en Oracle ...
¿Cómo se exportó la base de datos?
Si se exportó usando
exp
y se exportó un esquema completo, entoncesCrear el usuario:
create user <username> identified by <password> default tablespace <tablespacename> quota unlimited on <tablespacename>;
Concede los derechos:
grant connect, create session, imp_full_database to <username>;
Comience la importación con
imp
:imp <username>/<password>@<hostname> file=<filename>.dmp log=<filename>.log full=y;
Si se exportó usando
expdp
, entonces comience la importación conimpdp
:impdp <username>/<password> directory=<directoryname> dumpfile=<filename>.dmp logfile=<filename>.log full=y;
Al dmp
el registro de errores, parece que no ha especificado el directorio, por lo que Oracle intenta encontrar el archivo dmp
en el directorio predeterminado (es decir, E:/app/Vensi/admin/oratest/dpdump/
).
Mueva el archivo de exportación a la ruta anterior o cree un objeto de directorio para apuntar a la ruta donde está presente el archivo dmp
y pase el nombre del objeto al comando impdp
anterior.
Toda esta paz de código puesta en el archivo * .bat y ejecute todo de una vez:
Mi código para crear usuario en Oracle. archivo crate_drop_user.sql
drop user "USER" cascade;
DROP TABLESPACE "USER";
CREATE TABLESPACE USER DATAFILE ''D:/ORA_DATA/ORA10/USER.ORA'' SIZE 10M REUSE
AUTOEXTEND
ON NEXT 5M EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
/
CREATE TEMPORARY TABLESPACE "USER_TEMP" TEMPFILE
''D:/ORA_DATA/ORA10/USER_TEMP.ORA'' SIZE 10M REUSE AUTOEXTEND
ON NEXT 5M EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M
/
CREATE USER "USER" PROFILE "DEFAULT"
IDENTIFIED BY "user_password" DEFAULT TABLESPACE "USER"
TEMPORARY TABLESPACE "USER_TEMP"
/
alter user USER quota unlimited on "USER";
GRANT CREATE PROCEDURE TO "USER";
GRANT CREATE PUBLIC SYNONYM TO "USER";
GRANT CREATE SEQUENCE TO "USER";
GRANT CREATE SNAPSHOT TO "USER";
GRANT CREATE SYNONYM TO "USER";
GRANT CREATE TABLE TO "USER";
GRANT CREATE TRIGGER TO "USER";
GRANT CREATE VIEW TO "USER";
GRANT "CONNECT" TO "USER";
GRANT SELECT ANY DICTIONARY to "USER";
GRANT CREATE TYPE TO "USER";
crea el archivo import.bat y pon estas líneas en él:
SQLPLUS SYSTEM/systempassword@ORA_alias @"crate_drop_user.SQL"
IMP SYSTEM/systempassword@ORA_alias FILE=user.DMP FROMUSER=user TOUSER=user GRANTS=Y log =user.log
Tenga cuidado si va a importar de un usuario a otro. Por ejemplo, si tiene un usuario llamado usuario1 e importará a usuario2, puede perder todas las concesiones, por lo que debe volver a crearlo.
Buena suerte, Ivan