Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Antecedentes: hace poco, le han planteado una serie de preguntas acerca del esquema
HR. Para analizarlas, sin interferir en las actividades diarias, decide utilizar el asistente de
pump de datos para exportar el esquema HR a un archivo. Cuando realiza la exportación,
no está seguro de la base de datos en la que va a importar este esquema.
Al final, descubre que la única base de datos en la que sus superiores aprueban una
importación, es orcl. De modo que realiza la importación con el asistente de pump de
datos, y reasigna el esquema HR al esquema DBA1.
A continuación, recibe dos solicitudes de carga de datos para las que decide utilizar
SQL*Loader.
m y
d e
c a
e A
c l
r a
O ly
l & On
n a e
t e r U s
I n
c l e
r a
O
Oracle Database 11g: Taller de Administración I A-137
Práctica 17-1: Movimiento de Datos mediante Pump de Datos
En esta práctica, primero otorgará al usuario DBA1 los privilegios necesarios para
acceder al directorio DATA_PUMP_DIR. A continuación, exportará el esquema HR para
poder importar luego las tablas que desea en el esquema DBA1. En la práctica, importará
sólo la tabla EMPLOYEES en este momento.
1) Primero, es necesario otorgar al usuario DBA1 los privilegios necesarios en el
directorio DATA_PUMP_DIR y crear los usuarios y roles necesarios para esta
práctica. Existe un script que realiza todos los pasos necesarios para configurar el
entorno de esta práctica.
a) Revise el script lab_17_01_01.sql, que otorga al usuario DBA1 los
privilegios en el directorio DATA_PUMP_DIR y realiza otras configuraciones en
el entorno, ejecutando lo siguiente en el directorio labs:
$ cat lab_17_01_01.sql
m y
Tablespace created.
d e
User created.
c a
Role created.
e A
c l
Grant succeeded.
r a
O ly
Grant succeeded.
l & On
Table altered.
n a e
Grant succeeded.
t e r U s
I n
l e
Grant succeeded.
c
Ora You may now login as: hr_test/oracle_4U
spool off
$
j) En la página Export: Review, haga clic en Show PL/SQL y revise el PL/SQL que
le ha ayudado a crear el asistente de exportación.
k) Haga clic en Submit Job para enviar el trabajo.
l) Haga clic en el enlace al trabajo HREXP para supervisar el progreso. Refresque el
explorador hasta que vea que el trabajo ha terminado correctamente y vaya al
siguiente paso.
m y
d e
c a
e A
c l
r a
3) Ahora, importe la tabla EMPLOYEES del esquema HR exportado al esquema DBA1.
Para apreciar la interfaz de línea de comandos, puede utilizar la utilidad impdp en la
O ly
línea de comandos para importar la tabla EMPLOYEES al esquema de usuario DBA1.
l & On
a) Asegúrese de que el entorno está configurado para la base de datos orcl
ejecutando oraenv.
n a e
$ . oraenv
e r s
ORACLE_SID = [oracle] ? orcl
t
The Oracle base for
U
I n
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is
/u01/app/oracle
$
c l e
r a
O
Oracle Database 11g: Taller de Administración I A-140
Práctica 17-1: Movimiento de Datos mediante Pump de Datos
(continuación)
b) Introduzca toda la cadena de comandos siguiente. No pulse [Intro] hasta llegar al
final del comando:
impdp dba1/oracle_4U DIRECTORY=data_pump_dir
DUMPFILE=HREXP01.DMP REMAP_SCHEMA=hr:dba1
TABLES=hr.employees LOGFILE=empimport.log
$ impdp dba1/oracle_4U DIRECTORY=data_pump_dir
DUMPFILE=HREXP01.DMP REMAP_SCHEMA=hr:dba1 TABLES=hr.employees
LOGFILE=empimport.log
r a
SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type
O ly
SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
error:
l & On
ORA-39083: Object type REF_CONSTRAINT failed to create with
e r
ALTER TABLE "DBA1"."EMPLOYEES" ADD CONSTRAINT "EMP_JOB_FK"
s
FOREIGN KEY ("JOB_ID") REFERENCES "DBA1"."JOBS" ("JOB_ID")
ENABLE
t U
I n
ORA-39083: Object type REF_CONSTRAINT failed to create with
e
error:
l
ORA-00942: table or view does not exist
c
Failing sql is:
r a
ALTER TABLE "DBA1"."EMPLOYEES" ADD CONSTRAINT "EMP_DEPT_FK"
FOREIGN KEY ("DEPARTMENT_ID") REFERENCES "DBA1"."DEPARTMENTS"
O ("DEPARTMENT_ID") ENABLE
$ sqlplus dba1
c a
SQL*Plus: Release 11.1.0.6.0 - Production on Sun Aug 31
16:54:32 2008
e A
Copyright (c) 1982, 2007, Oracle.
c l All rights reserved.
Enter Password:
r a
Connected to:
O ly
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 -
Production
l & On
With the Partitioning, OLAP, Data Mining and Real Application
Testing options
n a e
SQL>
t e r U s
b) Seleccione un recuento de las filas de la tabla EMPLOYEES del esquema DBA1
I n
para verificar la importación.
l e
SQL> select count(*) from employees;
cCOUNT(*)
r a----------
107
O SQL>
m y
d e
c a
e A
c l
d) En la página Load Data: Control File, introduzca
/home/oracle/labs/lab_17_02_01.ctl como nombre y ruta de acceso
r a
del archivo de control, o utilice el icono de linterna para seleccionar este archivo
O ly
de control. Haga clic en Next.
l & On
n a e
t e r U s
I n
c l e
r a
O
Oracle Database 11g: Taller de Administración I A-143
Práctica 17-2: Carga de Datos con SQL*Loader (continuación)
e) En la página Load Data: Data File, haga clic en Provide the full path and name
on the database server machine e introduzca
/home/oracle/labs/lab_17_02_01.dat como nombre y ruta de acceso
del archivo de datos, o utilice el icono de linterna para seleccionar este archivo de
datos. Haga clic en Next.
f) En la página Load Data: Load Method, seleccione Conventional Path y haga clic
en Next.
g) En la página Load Data: Options, acepte todos los valores por defecto, pero
introduzca /home/oracle/labs/lab_17_02_01.log como nombre y
ruta de acceso del archivo log. Revise las opciones avanzadas si lo desea, pero no
m y
las cambie, y haga clic en Next.
d e
c a
e A
c l
r a
O ly
l & On
n a e
t e r U s
I n
c l e
r a
O
Oracle Database 11g: Taller de Administración I A-144
Práctica 17-2: Carga de Datos con SQL*Loader (continuación)
h) En la página Load Data: Schedule, introduzca lab_17_02_01 en Job Name y
Load data into the PRODUCT_MASTER table en Description. Deje
que el trabajo se inicie inmediatamente y haga clic en Next.
m y
d e
c a
A
k) Para confirmar los resultados, examine el archivo lab_17_02_01.log en el
e
directorio /home/oracle/labs.
c l
r a
2) Como usuario INVENTORY, cargue los datos en la tabla PRODUCT_ON_HAND mediante
la línea de comandos SQL*Loader. El archivo de datos lab_17_02_02.dat contiene
O ly
filas de datos de la tabla PRODUCT_ON_HAND. El archivo lab_17_02_02.ctl es el
l & On
archivo de control de esta carga.
Opcionalmente, consulte los archivos lab_17_02_02.dat y lab_17_02_02.ctl
a e
para obtener más información sobre su estructura antes de continuar.
n
t e r U s
a) Abra una ventana de terminal y acceda al directorio /home/oracle/labs.
b) Asegúrese de que el entorno está configurado para la base de datos orcl
I n
ejecutando oraenv.
l e
$ . oraenv
c
ORACLE_SID = [oracle] ? orcl
O /u01/app/oracle
$
m y
d e
c a
e A
c l
r a
O ly
l & On
n a e
t e r U s
I n
c l e
r a
O
Oracle Database 11g: Taller de Administración I A-146