Export Oracle 10g con datapump
En este documento se expone un ejemplo de cómo poder hacer un export en oracle 10g mediante la utilidad datapump.
1. DataPump
La utilidad DataPump es la que ORACLE10g utiliza para realizar los exports. (expdp). Para poder hacer uso de esta utilidad hay que especificar el directorio que va a ser utilizado por ORACLE10g Export/Import (impdp) para poder exportar e importar los datos.
Existen diversas formas de especificar este directorio, una de las formas que se puede utilizar es la siguiente:
SQL > CONNECT system/manager
-- creamos el mapeo del directorio export a /backup/database/BBDD/orasite
SQL > CREATE OR REPLACE DIRECTORY export as ‘/’backup/database/BBDD/orasite’;
-- creamos el mapeo del directorio export a /backup/database/BBDD/orasite/log
SQL > CREATE OR REPLACE DIRECTORY log as ‘/backup/database/BBDD/orasite/log’;
-- otorgamos permisos lectura, escritura a esos directorios
SQL > GRANT read,write ON DIRECTORY export TO system;
SQL > GRANT read, write ON DIRECTORY log TO system;
En este caso es system el usuario encargado de hacer el export, por eso se le otorgan los privilegios a el
NOTA:
Directory: Este parámetro especifica la localización en la cual Export DataPump or Import DataPump pueden escribir el “dump file”, “log file”, “SQL file”
Si queremos ver los directorios disponibles podemos utilizar dicha consulta
SQL >SELECT privilege,directory_name
FROM user_tab_privs t, all_directories d
WHERE t.table_name(+)=d.directory_name ORDER BY 2,1;
Los permisos de lectura y escritura en un directorio sólo significa que la base de datos ORACLE deberá leer o escribir el fichero en esa ubicación.
2. EXPDP
Dando los permisos ( anteriormente vistos ) a los directorios en los que se van a generar el backup ( export ) podemos realizar un export completo de la base de datos de la siguiente forma
$ expdp system/manager DUMPFILE=export:orasite.dmp FULL=Y LOGFILE=log:orasite.log
Aclaraciones del export:
Realizamos el export con el usuario system (system/manager)
Ponemos el nombre del fichero mediante DUMPFILE indicándole el directorio que hemos creado y dado permisos para el efecto. (export)
Indicamos el nombre del fichero log mediante LOGFILE indicándole el directorio creado para ubicar estos archivos ( log )
Si quisiera hacer un export de solo algunas tablas. ¿ Cómo lo haría?
En vez de poner FULL=Y ( que significa que haremos un export completo de toda la base de datos ) tenemos que sustituirlo por
tables=EMP,DEPT ( siendo emp y dept las tablas que queremos exportar ).
y si tuviese que hacer un export desde un oracle 10g corriendo en linux? cómo variarían los comandos?
Como hacemos para importar un archivo exportado en el oracle 10g en un oracle 9i
diste el ejemplo de solo exporrtar unas tablas o la base de datos completo, y para exportar otras cosas distintas? cuales son los comandos?
Como se exporta un solo esquema?
Para importar un solo esquema lo que tienes que hacer es esto: (ojo que esto es solo para backups logicos)
$imp system/password file= fromuser= touser= buffer=10000.
Por ejemplo si quieres importar solo el esquema HR seria asi:
$imp system/password file=backup20071231.dmp fromuser=HR touser=HR buffer=1000
Espero te sirva.
GJ
No vi la respuesta de como importar un backup en 9i si fue exportado en 10g
Buenas a todos, alguno me podria ayudar tengo que exportar datos de una base de datos en oracle a un fichero .txt para luego utilizar en sap?
Un Saludo y gracias.
Muy buenas, Diego. Yo no utilizo la 10g, pero ¿Por qué no utilizar un unload, y no un export? Un saludo.
Compañeros necesito realizar el unload de un select en ORACLE9i, pero no tengo la sintaxis correcta, la verdad manejo mas sql pero no me funciono la sintasix
unload to «/tmp/tablas.txt
select table_name ,owner from all_tables
Me podrian indicar como hacerlo en ORACLE.
Mil gracias.
Hola. He instalado el oracle10g e intento exportar 1 tabla y trato de hacer uso del comando exp través del sql +; pero obtengo un error
SP2-0042: comando desconocido «exp» – resto de la línea ignorado
Alguien me puede decir que no reconoce el comando y como solucionarlo?
Tambien intente hacerlo x la interfaz web y me pide que ingrese en Credenciales de Host, un Usuario y su Contraseña ; pero pongo system y su clave pero em da error de clave…. es raro porque con ese loguin y esa clave estoy logueado en la aplicacion?
Saludos
RE: Export Oracle 10g
Hola. He instalado el oracle10g e intento exportar 1 tabla y trato de hacer uso del comando exp través del sql +; pero obtengo un error
SP2-0042: comando desconocido «exp» – resto de la línea ignorado
Alguien me puede decir que no reconoce el comando y como solucionarlo?
Tambien intente hacerlo x la interfaz web y me pide que ingrese en Credenciales de Host, un Usuario y su Contraseña ; pero pongo system y su clave pero em da error de clave…. es raro porque con ese loguin y esa clave estoy logueado en la aplicacion?
Saludos
————————————
Tienes instaldo el cliente Oracle?
Albeto prueba poniendo el signo $ antes de exp. Así lo probé , así aparentemente me funciona. Te doy un ejemplo:
sql> $exp file=mi_back.dmp log=mi_log.log full=y
o bien aprovecha, prueba mientras aprovechas de leer la ayuda:
sql> $exp help=yes
Espero te sirva. Saludos. Virginia.
Estoy tratando de que el export datapump de la base de datos sol que esta en la maquina A pueda ser generado en la máquina B, no he sido capaz ya que veo que todo se configura local. Gracias.
Hola:
Mi comentario es si el expdp y impdp tiene mucho mejor perfornance que el exp/imp original, ademas de que si hay un documento con las equivalencias o comparaciones de que hacen los parametros del expdp/impdp con los parametros del exp/imp original.
Por ejemplo en el import original los parametros fromuser y touser, cuales seria el equivalente en el import data pump.
Saludos.
Quiero saber si se puede hacer un export desde una fecha determinada en adelante o utilizar rangos de fechas, desde hasta
ala esto me ayudo =D me dio problema con el .log decia que el archivo no se podia abrir =s asi que omiti esa parte xD pero esta muy bueno eso que pusiste
Yo son nuevo en oracle 10g
pero tengo algunas preguntas??
-este esport es mejor que el por convencional
-y como se raliza el import
buena las ayudas, pero necesito hacer lo contrario, esportar un usuario completo menos 2 tablas de todo el equema, sin individualizar tooodas las tablas del usuario..
saludos y muchas gracias
¿que permisos necesita un usuario para exportar todas las tablas de otro usuario?
Consulta:
¿Es necesario que ningun ususrio este accesando la base de datos Oracle en el mometo de realizar el expdp?
hola,
si no tengo espacio en disco para hacer un expdp y necesito realizarlo en otra maquina, ¿podría crear el directorio en otra maquina e indicar que se haga en esta ubicación?
gracias