Oracle Live

02/04/2016

Exp / Imp Clasicos Tutorial

Filed under: Backup & Recovery — mogukiller @ 1:23 am
Tags: ,

Ejemplos utilies de la herramienta de export / import clasicos.

'
Teoria:
	Modos de exp:
		full		--> FULL=Y
		owner		--> OWNER = (user1,user2)
		table		--> TABLES = (schema1.table1, schema2.table2)
		tablespace
Cuando exportamos un usuario tenemos que tener en cuenta que no se exportan:
		roles y role grants
		public synonyms
		profiles
		privilegios de sistema
		tablespace quotas
		user definitios 		<<< Determina el numero maximo de filas por fetch
		consistent = y  --> Se realiza un export consistente en tiempo. Implicaria un incremento de los segmentos de redo.
							consistent = y sera ignorado cuando nos conectemos como sys o sysdba
		flashback_scn = n --> similar al anterior, en este caso indicamos el scn
		constraints = n --> Para que no exporte las constraints de las tablas 	
		rows = n 		--> Util cuando queremos exportar solo los metadatos
		direct = y		--> Habilitas el direct path
Parametros utiles import:
		constraints = n 	--> Si las constraints de una tabla son importadas.
		indexes	= n			--> Si crea los indices o no
		indexfile=	--> Si crea un fichero .sql con las DDL de los indices.
		show = y			--> Se muestran los objetos a importar pero NO se importan.
		touser				--> Unicamente es necesario para remapear esquemas.
		ignore = y			--> El import de los datos se realiza sobre las tablas ya existentes

'
----------------------
-- EXP
----------------------

-- Fichero de parametros
'nota:	# para comentar lineas'

exp parfile=<file_path.par>

-- Invocamos como as sysdba

exp \' / as sysdba \' parfile=<file_path.par>

-- Podemos lanzar el export desde un backend remoto
'nota: las versiones de las bases de datos tienen que ser iguales'

exp system/manager@MOGULAND file=/recovery_area/export/prueba_export.dmp full=yes buffer=1000000
exp username/password@ipAddress:portNumber/serviceName

-- Export base de datos entera

exp system/manager file=/recovery_area/export/prueba_export.dmp full=yes buffer=1000000

-- Export de tablas

exp scott/tiger file=orasitescott.dmp tables=(emp,dept) buffer=1000000

-- Export tabla con determinada condicion

exp scott/tiger file=c:\orasitempleados.dmp tables=emp query=\"where deptno=10\"
"

-- Exportamos un esquema

exp system/manager owner='production' file='/oracle10/production.dmp' log='/oracle10/production.log' buffer=1000000

-- Comprimimos a la vez que hacemos el export

mkfifo /aplicaciones/nfs_ebil/lmds/exp_pue00.dmp
gzip -c < /aplicaciones/nfs_ebil/lmds/exp_pue00.dmp > salida.out.gz &

exp system/W3lc0m31 file=/aplicaciones/nfs_ebil/lmds/exp_pue00.dmp full=y direct=y

-- Exportamos a la vez que enviamos

--- BE origen
mkfifo /aplicaciones/nfs_ebil/lmds/exp_pue00.dmp

-- BE destino
nohup ssh -q mogube11 'cat /aplicaciones/nfs_ebil/lmds/exp_pue00.dmp' >/home/usodbms/lmds/exp_pue00.dmp

-- BE origen
exp system/temporal file=/aplicaciones/nfs_ebil/lmds/exp_pue00.dmp full=y direct=y

-- Calcular el SCN para versiones anteriores a la 10g
SELECT dbms_flashback.get_system_change_number as current_scn FROM DUAL;
/*
          CURRENT_SCN
---------------------
        8564478461539

*/

-------------------------
-- EXP
-------------------------
-- Monitorizamos Exportación 

SET LINESIZE 132
col message format a100
SELECT  ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE", message
FROM V$SESSION_LONGOPS  WHERE SOFAR  != TOTALWORK AND target NOT LIKE 'SYS%';

PERCENT_COMPLETED MESSAGE
----------------- ------------------------------------------------------------------
            20,38 Table Scan:  NEORA0.NEDSNMMO: 4669524 out of 22911968 Blocks done


-------------------------
-- IMP
-------------------------

nota: cuando importamos un esquema el usuario debe existir. 
Lo que hago es sacar con un expdp una ddl del usuario, drop del user y creas el user con sus roles.

-- Importamos un esquema

cat >imp_schema.par
fromuser=('MOGU1','LMDS') 
file='exp_schema.dmp' 
log='imp_schema.log' 

nohup imp system/temporal parfile=imp_schema.par &

-- Importamos una tabla que ya existe.
cat >imp_schema.par
fromuser=('MOGU1','LMDS') 
ignore = y					<<<<< Con truncar las tablas valdria.
file='exp_schema.dmp' 
log='imp_schema.log' 

nohup imp system/temporal parfile=exp_schema.par &

-- Extraemos las DDL de un export

imp system/W3lc0m31 show=y full=y file=exp_UEORA0.dmp

-- Monitorizamos importacion

select substr(sql_text,instr(sql_text,'INTO "'),30) table_name,
         rows_processed,
         round((sysdate-to_date(first_load_time,'yyyy-mm-dd hh24:mi:ss'))*24*60,1) minutes,
         trunc(rows_processed/((sysdate-to_date(first_load_time,'yyyy-mm-dd hh24:mi:ss'))*24*60)) rows_per_min
  from   sys.v_$sqlarea
  where  sql_text like '%&table_name%'
  and  command_type = 2
  and  open_versions > 0
  ;
/*
TABLE_NAME                     ROWS_PROCESSED    MINUTES ROWS_PER_MIN
------------------------------ -------------- ---------- ------------
INTO "UEFHNLHO" ("EFAC_NU_FACT       99543296       11,6      8593665
*/
  
-- Troubleshooting
/*
EXP-00008: ORACLE error 1455 encountered
ORA-01455: converting column overflows integer datatype
*/
 select 'export NLS_LANG=' || (select VALUE from v$nls_parameters where PARAMETER = 'NLS_LANGUAGE')  
   || '_' || (select VALUE from v$nls_parameters where PARAMETER = 'NLS_TERRITORY')  
   || '.' || (select VALUE from v$nls_parameters where PARAMETER = 'NLS_CHARACTERSET')  
  from dual;

Eso es por que no tiene los codigos correctos, con la query de arriba te los saca bien;

export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: