Oracle Live

11/04/2016

Mapea Metadatos

Filed under: Backup & Recovery,Scripts — mogukiller @ 11:00 pm

Datapump permite extraer en formato sql los metadatos de un export con el parametro sqlfile del impdp . Este script separa en ficheros .sql los diferentes metadatos: tablas, indices, constraints.
Parametros: path del fichero

#!/bin/sh
#set -x
#-------------------------------------------------------------
# Script: SCRIPT_Parsea_Metadatos.sh
# 
# INFO: Dado un ddl de metadatos genera .sql con cada uno de los objetos
# Parametros: Path fichero Metadatos. Opcional. Se puede configurar la variable PATH_FICHERO
#
# Autor: lmdiaz
# Fecha: 10/02/2015
# Version: 1.0
#-------------------------------------------------------------

PATH_FICHERO=/shared_acfs/export/metadatos_full_ddl.sql

f_objetos=objetos_parseados.out
n_start_line=0
n_end_line=0
n_script_number=1
s_next_file=""
s_file=""

 if [ $# -ne 0 ]; then
	PATH_FICHERO=$1
	[ ! -f $PATH_FICHERO ] && (echo "ERROR: El fichero no existe"; exit 1) 
 fi
 grep -n "new object type path:" $PATH_FICHERO >$f_objetos
 
 while read line
 do
	if [ $n_start_line -eq 0 ]; then
		n_start_line=`echo $line | cut -d: -f1`
		s_next_file=`echo $line | cut -d: -f3|sed -e 's/\//-/g'`
	else
		n_end_line=`echo $line | cut -d: -f1`
		s_file=`echo $s_next_file | awk '{print $1}'`
		sed -n "${n_start_line},${n_end_line}p" $PATH_FICHERO >${n_script_number}"_"${s_file}".sql"
		n_start_line=$n_end_line
		s_next_file=`echo $line | cut -d: -f3|sed -e 's/\//-/g'`
		(( n_script_number++ ))
	fi
 done < $f_objetos

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: