viernes, 31 de julio de 2009

Cómo hacer un export de forma remota en Oracle10g con DATAPUMP

Un elemento importante en el proceso de generación de un respaldo ó importación de datos, con los nuevas herramientas de DATAPUMP, es el directorio de "DUMP", definido a nivel de la base de datos. Por tanto, para que el directorio sea creado a nivel de la instancia de base de datos, es necesario que el directorio ó sistema de archivos, sea presentado por parte del S.O.
No podemos hacer un respaldo a un equipo remoto, si:
  1. El sistema de archivos no ha sido montado en nuestro servidor local, ó
  2. Si el servidor remoto, no cuenta con un Oracle Server instalado y una instancia de base de datos corriendo para la versión Oracle10g ó superior.
Si el sistema de archivos es montado, ya sea en windows como carpeta compartida, o en UNIX/LINUX por NFS, samba, etc, es como que si existiera en el servidor local, por tanto, yo puedo definir el directorio sin problema alguno desde la base de datos.
Si por el contrario, tenemos dos servidores de base de datos y en ambos tenemos Oracle Server release 10g o superior con al menos una instancia corriendo, podemos definir un directorio de DUMP en la instancia del servidor con espacio físico libre en disco y exportar los datos de una instancia remota, a través de la utilización de un dblink creado desde el servidor de origen al servidor de la instancia del servidor local, en donde deseo guardar el archivo producto del DUMP.
Ejemplo: expdp respaldo/respaldo directory=EXPDMP dumpfile=prueba_respaldo.dmp tables=scott.t1 network_link=admin.lab1.co.cr
Explicación: En este caso, me conecto con un usuario a la instancia del servidor en donde tengo espacio físico disponible. Indico el directorio de DATAPUMP definido en mi servidor actual, le indico el nombre del archivo de DMP de PUMP, le estoy pasando el nombre de la tabla que deseo exportar, que para este caso, es la tabla T1, del esquema SCOTT y le indico con el nuevo parámetro "NETWORK_LINK", de dónde tiene que traerse la tabla.
Este es el ejemplo desarrollado en laboratorio, para que lo puedan "PARSEAR"

Servidor 2

[oracle@serv_lab2 respaldos]$ mkdir DUMPDIR
[oracle@serv_lab2 respaldos]$ cd DUMPDIR
[oracle@serv_lab2 DUMPDIR]$ pwd
/respaldos/DUMPDIR
[oracle@serv_lab2 DUMPDIR]$ mkdir lab2
[oracle@serv_lab2 DUMPDIR]$ mkdir admin
[oracle@serv_lab2 DUMPDIR]$ cd lab2
[oracle@serv_lab2 lab2]$ pwd
/respaldos/DUMPDIR/lab2
[oracle@serv_lab2 lab2]$ ORACLE_SID=lab22
[oracle@serv_lab2 lab2]$ export ORACLE_SID

[oracle@serv_lab2 lab2]$ ORACLE_SID=admin2
[oracle@serv_lab2 lab2]$ export ORACLE_SID

[oracle@serv_lab2 lab2]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 31 09:21:42 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> connect / as sysdba
Connected.
SQL> create directory EXPDMP as '/respaldos/DUMPDIR/admin';

Directory created.

SQL> grant read,write on directory EXPDMP to respaldo;

Grant succeeded.

SQL> exit

Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option
[oracle@serv_lab2 lab2]$ ORACLE_SID=lab22
[oracle@serv_lab2 lab2]$ export ORACLE_SID
[oracle@serv_lab2 lab2]$ sqlplus scott/tiger

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 31 09:25:11 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
NO_DOCU NOT NULL VARCHAR2(12)
NO_LINEA NOT NULL NUMBER(6)

[oracle@serv_lab2 lab2]$ expdp respaldo/respaldo directory=EXPDMP dumpfile=prueba_respaldo.dmp tables=scott.t1 network_link=admin.lab1.co.cr

Export: Release 10.2.0.4.0 - 64bit Production on Friday, 31 July, 2009 9:28:10

Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option
Starting "RESPALDO"."SYS_EXPORT_TABLE_01": respaldo/******** directory=EXPDMP dumpfile=prueba_respaldo.dmp

tables=cemaconaf.t1 network_link=admin.lab1.co.cr
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."T1" 5.132 KB 21 rows
Master table "RESPALDO"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for RESPALDO.SYS_EXPORT_TABLE_01 is:
/respaldos/DUMPDIR/lab2/prueba_respaldo.dmp
Job "RESPALDO"."SYS_EXPORT_TABLE_01" successfully completed at 09:29:51

[oracle@serv_lab2 lab2]$


[oracle@serv_lab2 lab2]$
[oracle@serv_lab2 lab2]$ ORACLE_SID=lab22
[oracle@serv_lab2 lab2]$ export ORACLE_SID
[oracle@serv_lab2 lab2]$ sqlplus scott/tigger

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 31 09:34:38 2009

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
NO_DOCU NOT NULL VARCHAR2(12)
NO_LINEA NOT NULL NUMBER(6)

SQL> select count(*) from t1;

COUNT(*)
----------
1011

SQL> drop table t1;

Table dropped.

SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

[oracle@serv_lab2 lab2]$ pwd
/respaldos/DUMPDIR/lab2

[oracle@serv_lab2 lab2]$ ls -la
total 92
drwxr-xr-x 2 oracle oinstall 4096 Jul 31 09:28 .
drwxr-xr-x 4 oracle oinstall 4096 Jul 31 09:19 ..
-rw-rw-r-- 1 oracle oinstall 1084 Jul 31 09:29 export.log
-rw-rw---- 1 oracle oinstall 73728 Jul 31 09:29 prueba_respaldo.dmp
-rw-r----- 1 oracle oinstall 700 Jul 31 09:25 sqlnet.log

[oracle@serv_lab2 lab2]$ impdp respaldo/respaldo directory=EXPDMP dumpfile=prueba_respaldo.dmp

Import: Release 10.2.0.4.0 - 64bit Production on Friday, 31 July, 2009 9:35:33
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option
Master table "RESPALDO"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "RESPALDO"."SYS_IMPORT_FULL_01": respaldo/******** directory=EXPDMP dumpfile=prueba_respaldo.dmp
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "SCOTT"."T1" 5.132 KB 21 rows
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "RESPALDO"."SYS_IMPORT_FULL_01" successfully completed at 09:35:37

Servidor 1

[oracle@serv_lab1 lab1]$ ORACLE_SID=lab11
[oracle@serv_lab1 lab1]$ export ORACLE_SID
[oracle@serv_lab1 lab1]$ sqlplus scott/tiger

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 31 09:35:48 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
NO_FISICO VARCHAR2(12)

SQL> select count(*) from t1;

COUNT(*)
----------
21

SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

Devuelta en el servidor nodo 2
[oracle@serv_lab2 lab2]$ pwd
/respaldos/DUMPDIR/lab2
[oracle@serv_lab2 lab2]$


>[oracle@serv_lab2 lab2]$ ORACLE_SID=lab22
[oracle@serv_lab2 lab2]$ export ORACLE_SID
[oracle@serv_lab2 lab2]$ sqlplus scott/tiger

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jul 31 09:35:48 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
NO_FISICO VARCHAR2(12)

SQL> select count(*) from t1;

COUNT(*)
----------
21

SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
With the Real Application Clusters option

No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar