Buscar en el Blog

Mostrando entradas con la etiqueta Oracle 11g. Mostrar todas las entradas
Mostrando entradas con la etiqueta Oracle 11g. Mostrar todas las entradas

jueves, 22 de noviembre de 2012

Cómo exportar un DMP de Oracle 11g a 10g

En ésta publicación explico el procedimiento para exportar un DMP de Oracle 11g a Oracle 10g. Para esto tenemos que usar las aplicaciones expdp e impdp.


                                                    

Para exportar
Usar el siguiente comando para realizar una exportación FULL usando el usuario system:

expdp system/password@BDD dumpfile="respaldoDDMMYYYY.dmp" logfile="
respaldoDDMMYYYY.dmp" version=10.2.0.1 schemas=esquema1,esquema2,esquemaN

En dónde version deberá corresponder con la versión de  Oracle 10g dónde se importará la base de datos y schemas los nombres de los esquemas que se quiere exportar.

Las versiones posibles son:
  • Para Oracle Database 10g Release 1: 10.1.0.2 – 10.1.0.5
  • Para Oracle Database 10g Release 2: 10.2.0.1 – 10.2.0.5
NOTA: el archivo DMP por defecto se creará en el directorio de Instalación de Oracle, en mi caso: c:\oracle\product\11.1.0\db_1\RDBMS\log

Para importar
Usar el siguiente comando:

impdp system/password@BDD dumpfile="respaldoDDMMYYYY.dmp" logfile="
respaldoDDMMYYYY.dmp"

miércoles, 22 de junio de 2011

Cómo cambiar de Tablespace a una tabla de Oracle

Para cambiar de TABLESPACE a una tabla se usa la siguiente instrucción SQL:

ALTER TABLE NOMBRE_TABLA MOVE TABLESPACE NUEVO_TABLESPACE;

Además, después de esto es importante reconstruir todos los índices que tenga la tabla usando la siguiente instrucción SQL:

ALTER INDEX NOMBRE_INDICE REBUILD;

viernes, 17 de junio de 2011

Consulta SQL para conocer el espacio que ocupa una tabla de Oracle

A continuación comparto una consulta SQL para conocer el tamaño en Bytes, Kilobytes, Megabytes y Gigabytes que ocupa una tabla de Oracle 10g o superior.

SELECT segment_name AS "TABLE_NAME",
SUM (BYTES) AS "[Bytes]",
SUM (BYTES) / 1024 AS "[Kb]",
SUM (BYTES) / (1024*1024) AS "[Mb]",
SUM (BYTES) / (1024*1024*1024) AS "[Gb]"
FROM dba_segments
WHERE segment_name = 'NOMBRE_TABLA' and segment_type = 'TABLE'
GROUP BY segment_name;

En dónde en segment_name se especifica el nombre de la tabla que se desea consultar.