Cómo importar archivos de base de datos dmp en Oracle
La importación y exportación de datos de Oracle imp/exp es equivalente a la recuperación y copia de seguridad de datos de Oracle. El comando exp puede exportar datos desde un servidor de base de datos remoto a un archivo dmp local, y el comando imp puede importar un archivo dmp desde un servidor de base de datos local a uno remoto. Con esta función, puede configurar dos bases de datos idénticas, una para pruebas y otra para uso en producción.
Entorno de ejecución: se puede ejecutar en SQLPLUS.EXE o DOS (se puede ejecutar en DOS). Esto se debe a que el directorio de instalación está configurado en la ruta global en Oracle 8i y hay EXP. .EXE en este directorio y los archivos IMP.EXE se utilizan para realizar importaciones y exportaciones.
Oracle está escrito en java y los archivos SQLPLUS.EXE, EXP.EXE e IMP.EXE pueden ser archivos de clase encapsulados.
SQLPLUS.EXE llama a las clases encapsuladas por EXP.EXE e IMP.EXE para completar las funciones de importación y exportación.
Los siguientes son ejemplos de importación y exportación.
Exportación de datos:
1 PRUEBA de base de datos se ha exportado por completo y el administrador de contraseñas del sistema de nombre de usuario se exportó a D:\daochu.dmp
exp system/ manager@ TEST file=d:\daochu.dmp full=y
2 Habrá usuarios del sistema y del sistema en la base de datos
exp system/manager@TEST file=d:\ daochu.dmp propietario =(system,sys)
3 Exportar las tablas internal_notify y notify_staff_relat en la base de datos
3 Exportar las tablas internal_notify y notify_staff_relat en la base de datos
3 Exportar las tablas Inner_notify y notify_staff_relat en la base de datos tablas Inner_notify, notify_staff_relat
relat export
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp table=( inside_notify,notify_staff_relat)
4 Exporte la tabla de la base de datos table1. Para comprimir, puede usar winzip para comprimir muy bien el archivo dmp.
También puedes agregar compress=y al comando anterior para lograr esto.
Importar datos
1 Importe los datos en D:\daochu.dmp a la base de datos TEST.
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignorar =y
El método anterior puede tener algunos problemas, porque algunas tablas ya existen, y luego informará un error y no importará la tabla.
Simplemente agrega ignore=y al final.
Agregar: ignore=y le indicará a la base de datos que no cree tablas existentes.
Si hay datos en una tabla existente y los datos de la tabla que se va a importar están duplicados en la tabla existente, se producirá un conflicto de clave principal.
2 Importar tabla1 desde d:\daochu.dmp
imp system/manager@TEST file=d:\daochu.dmp tablas=(tabla1)
Básicamente, la importación/exportación anterior es suficiente. En muchos casos, la tabla debe eliminarse por completo antes de importarla.
Nota:
El operador debe tener autoridad suficiente. Si la autoridad es insuficiente, se mostrará un mensaje.
Puede conectarse a la base de datos. Puede utilizar tnsping TEST para obtener una conexión a la base de datos TEST.
I. Herramienta de exportación exp
1. Es un archivo ejecutable en el sistema operativo y se almacena en el directorio /ORACLE_HOME/bin
herramienta de exportación exp. Comprima la copia de seguridad de los datos de la base de datos en archivos del sistema binario. Se puede migrar entre diferentes sistemas operativos
Tiene tres modos:
a. Modo de usuario: exporta todos los objetos y datos del usuario en los objetos;
b. Modo de tabla: exporta todas las tablas de usuario o tablas especificadas;
c. objeto de base de datos.
2. Ejemplo de uso de la herramienta de exportación exp desde la línea de comando interactiva
$exp test/test123@appdb
Ingrese el tamaño del búfer de recuperación de matriz: 4096 > Ingresar
Exportar archivo: expdat.dmp > m.dmp Generar nombre de archivo de exportación
(1)E(base de datos completa), (2)U(sers) o (3)T (ables) ): (2)U > 3
Exportar datos de la tabla (sí/no): sí > Ingresar
Ingresar el tamaño del búfer de recuperación de matriz: 4096 > Ingresar
Ingrese el tamaño del búfer de recuperación de matriz: 4096 > Volver
Exportar archivo: expdat.dmp Extensión de compresión (sí/no): sí > Ingrese
Exportación realizada en el juego de caracteres ZHS16GBK y Juego de caracteres NCHAR ZHS16GBK
A punto de exportar tablas especificadas a través de la ruta convencional...
La tabla (T) o partición (T:P) que se exportará: (RETURN significa salir) > cmamenu a exportar El nombre de la tabla
.. Exportar tabla CMAMENU ha exportado 4336 filas
La tabla (T) o partición (T:P) a exportar: (RETURN regresar y salir) > cmamenu Al nombre de la tabla exportada n
Tabla(T) o Partición(T:P) a exportar: (volver a salir)> Entrar
La exportación finalizó exitosamente sin previo aviso.
3. Herramienta de exportación de línea de comando no interactiva exp
$exp scott/tiger table=(emp,dept) file=/directory/scott.dmp Grants=y
Explicación: Las dos tablas emp y dept se exportaron desde scott al archivo /directory/scott.dmp
La exportación se realizó correctamente sin previo aviso.
$exp scott/tiger table=emp query=\"where job=\'salesman\' and sal\lt;1600\" file=/directory/scott2.dmp
Explicación: Agregar exportación en la consulta exp condiciones para emp job=' salesman' y sal<1600
(Sin embargo, rara vez uso esto personalmente. Es mejor generar una tabla temporal para los registros que cumplen con las condiciones, y luego exp será más conveniente )
$exp parfile=nombre de usuario.par file=/directorio1/nombre de usuario_1.dmp ,/directorio1/nombre de usuario_2.dmp tamaño=2000M log=/directorio2/nombre de usuario_exp.log
Contenido de parfile nombre_usuario.par p>
id de usuario=nombre de usuario/contraseña de usuario
id de usuario=nombre de usuario/contraseña de usuario
parámetro contraseña de usuario de parfile nombre de usuario.par
búfer =8192000
compress=n
grants=y
Descripción: nombre de usuario.par es el archivo de parámetros de la herramienta de exportación exp, y los parámetros específicos se pueden modificado según sea necesario
el tamaño del tamaño especifica el número máximo de bytes generados por los archivos de copia de seguridad binarios
(se puede utilizar para resolver las limitaciones de los archivos físicos 2G en ciertos sistemas operativos, acelerar la compresión, y facilitar la grabación de discos de datos históricos, etc.)
II. Herramienta de importación imp
1. Es un archivo ejecutable bajo el sistema operativo y se almacena en /ORACLE_HOME/. directorio bin
La herramienta de importación imp forma EXP Los archivos binarios del sistema se importan a la base de datos.
Tiene tres modos:
a. Modo de usuario: exporta todos los objetos del usuario y los datos de los objetos;
b. Modo de tabla: exporta todas las tablas del usuario o tablas especificadas;
c. la base de datos todos los objetos en .
Solo los usuarios con permisos IMP_FULL_DATABASE y DBA pueden importar la base de datos completa
pasos imp:
(1) Crear tabla (2) Insertar datos (3)) Crear índice(4) Crear activadores, restricciones
Importar el archivo de exportación completo (sí/no): No>Sí
. Importando objetos TEST a SCOTT
..Importar tabla "CMAMENU" Importando 4336 filas
La importación finalizó exitosamente con una advertencia.
3. Ejemplo de herramienta de importación de línea de comando no interactiva imp
$ imp system/manager fromuser=jones table=(accts)
$ imp system/ manager fromuser=scott table=( emp,dept)
$ imp system/manager fromuser=scott touser=joe table=emp
$ imp scott/tiger file = expdat.dmp completo =y
$ imp scott/ tigre file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y Grants=y full=y log=/oracle_backup/log/imp_scott.log =/oracle_backup/log/imp_scott
$ sistema imp/administrador parfile=params.dat
contenido de params.dat
file=dba.dmp show=n ignore=n Grants=y fromuser=scott table=(dept,emp)
4 Posibles problemas con la herramienta de importación imp
(1) El objeto de la base de datos ya existe
En términos generales, las tablas, secuencias, funciones/procedimientos, activadores, etc. bajo los datos de destino deben eliminarse por completo antes de importar datos. ;
Si el objeto de la base de datos ya existe, la importación fallará según el parámetro imp predeterminado.
Si se utiliza el parámetro ignore=y, el contenido de los datos en el archivo exp será importado
Si la tabla tiene una restricción de palabra clave única o si la tabla no tiene una restricción de palabra clave única, se producirá una duplicación de filas
(2) Los objetos de la base de datos tienen clave primaria y clave externa restricciones
Cuando no Cuando se cumplen las restricciones, los datos no se pueden importar
Solución: primero importe la tabla principal, luego importe la tabla subordinada
Deshabilite la restricciones de clave primaria y clave externa del objeto de importación de destino y luego habilítelas después de importar los datos.
(3) Permisos insuficientes
Si desea importar los datos del usuario A al usuario B, el usuario A necesita tener permisos imp_full_database
(). 4) Al importar una tabla grande (más de 80 M), la asignación de almacenamiento falla
De forma predeterminada, cuando se usa EXP, comprimir = Y, lo que significa que todos los datos se comprimen en un bloque.
Si no hay grandes bloques de datos contiguos, la importación falla.
Al exportar tablas de más de 80 M, recuerde que compress= N no provocará este error.
(5) Imp y exp usan diferentes conjuntos de caracteres
Si los conjuntos de caracteres son diferentes, la importación fallará. Puede cambiar la información NLS_LANG en la variable de entorno Unix o en el registro NT. .
Si la importación falla, puede cambiar la información NLS_LANG en la variable de entorno Unix o en el registro NT.
(6)imp y exp no son compatibles con versiones anteriores
imp puede importar con éxito archivos generados por una versión inferior de exp, pero no puede importar archivos generados por una versión superior de exp< / p>
Dependiendo de la situación, podemos usar
$ imp nombre de usuario/contraseña@connect_string