Ir al contenido principal
Ir al contenido secundario

Dba stuff

Un cajon desastre para el día a día

Dba stuff

Menú principal

  • Inicio

Archivo de la etiqueta: GET_DDL

Obtener el código de un objeto con DBMS_METADATA.GET_DDL

Posted on 22 julio, 2014 por admin

En alguna otra entrada hemos visto el uso de la llamada DBMS_METADATA.
Hoy vamos a ver las pequeñas peculiaridades que rodean a la variable para poder extraer el código de varias tablas.

La primera de las cosas a tener en cuenta es el formateo de la salida.
Hemos de prever el tamaño del código de las tablas, con lo que deberemos de formatear el sqlplus, para ellos pondremos la línea al máximo permitido y un valor muy alto en long

set head off
set feedback off
set pages 0
set linesize 32767
set long  2000000

Lo segundo que hemos de tener en cuenta es que , no vamos a tener ningún tipo de carácter que nos marce la separación entre las sentencias, con lo que deberemos de decirle a la librería dbms_metadata que nos marque el carácter. Ese parámetro es un parámetro de sesión con lo que deberemos de ejecutarlo en cada sesión en la que queramos obtener los datos.

exec dbms_metadata.set_transform_param 
   (DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR',TRUE);

A partir de aquí ya podemos usar la llamada DBMS_METADATA.GET_DDL para obtener el código deseado :

select DBMS_METADATA.GET_DDL
 ('TABLE','NOMBRE_TABLA','OWNER') 
      from dual ;

Nota En el caso de las tablas podemos seleccionar algunas de las características que queremos mostrar (incluso transformarlas) como pueden ser las de almacenamiento o particionamiento con la opción SET_TRANSFORM_PARAM.

Mas información en lamágina de DBMS_METADATA de la documentación de Oracle.

Publicado en 11g, 12c, Tunning | Etiquetado dbms_metadata, DBMS_METADATA.GET_DDL, GET_DDL
diciembre 2025
L M X J V S D
1234567
891011121314
15161718192021
22232425262728
293031  
« Dic    

Categorías

  • 11g
  • 11g
  • 12c
  • 12c
  • 18c
  • 19c
  • ACFS/ADVM
  • Ansible
  • ASM
  • backup
  • CDB/PDB
  • cliente
  • cloud
  • consultillas
  • Dataguard
  • dummie
  • Errores ORA
  • grid
  • Licenciamiento
  • licenciamiento
  • migracion
  • OEM 11g /OEM 12c /OEM 13c /EMC /EM express
  • ORA- ERRORS
  • Oracle
  • Oracle Linux
  • Parametrizacion
  • parcheados
  • Partitioning
  • PLSQL
  • RAC
  • RESOURCE MANAGER
  • RMAN
  • scripting
  • seguridad
  • Sin categoría
  • Sistema operativo
  • sqlplus
  • Tablespaces
  • Tunning
  • Virtualbox

Entradas recientes

  • Evitar mensajes SWITCHOVER de dataguard en el alert log
  • Errores RMAN-07540: Cleanup is required for the VPC user schema
  • Limpiando el CONTROLFILE AUTOBACKUP en rman
  • Resincronizar un dataguard bastante desactualizado
  • CRS falla al arrancar con el error CRS-6706: Oracle Clusterware Release patch level
  • Jugando con las estadisticas de un esquema
  • Corrupcion de bloques no detectados por validate
  • Bucle sleep en codigo PL-SQL
  • Formatear el prompt del SQLplus
  • ORA-600 en la ejecucion de DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
  • Correlar discos de ASM con sistema
  • Como crear un asm sin tener discos
  • Uso de variables de entorno en script sde rman
  • Comandos basicos del Trace File Analyzer
  • Error PRKO-2207 : Warning:–spfile option has been deprecated and will be ignored
  • Eliminar un nodo del rac
  • Comandos basicos del RAC II añadir bases de datos
  • Consultas utiles con Rman
  • Problemas con el fichero crsgenconfig_params al intentar extender un rac
  • restaurar una base de datos desde el backup de una Standby

Archivos

  • diciembre 2024
  • julio 2024
  • febrero 2024
  • noviembre 2023
  • agosto 2023
  • julio 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • octubre 2021
  • agosto 2021
  • junio 2021
  • abril 2021
  • marzo 2021
  • febrero 2021
  • enero 2021
  • abril 2020
  • febrero 2020
  • enero 2020
  • diciembre 2019
  • octubre 2019
  • septiembre 2019
  • agosto 2019
  • marzo 2019
  • febrero 2019
  • enero 2019
  • octubre 2018
  • septiembre 2018
  • julio 2018
  • mayo 2018
  • abril 2018
  • marzo 2018
  • febrero 2018
  • enero 2018
  • diciembre 2017
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • junio 2017
  • mayo 2017
  • marzo 2017
  • febrero 2017
  • enero 2017
  • diciembre 2016
  • noviembre 2016
  • agosto 2016
  • julio 2016
  • junio 2016
  • mayo 2016
  • abril 2016
  • marzo 2016
  • febrero 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • octubre 2015
  • septiembre 2015
  • agosto 2015
  • julio 2015
  • mayo 2015
  • abril 2015
  • marzo 2015
  • febrero 2015
  • enero 2015
  • diciembre 2014
  • noviembre 2014
  • octubre 2014
  • septiembre 2014
  • agosto 2014
  • julio 2014
  • mayo 2014
  • abril 2014
  • marzo 2014
  • febrero 2014
  • enero 2014
  • diciembre 2013
  • agosto 2013
  • julio 2013
  • junio 2013
  • mayo 2013
  • abril 2013
  • marzo 2013
  • febrero 2013
  • enero 2013
  • diciembre 2012
  • noviembre 2012
  • octubre 2012
  • septiembre 2012
  • agosto 2012
  • julio 2012
  • junio 2012
  • marzo 2012

Acerca de:

Tras más de 30 años trabajando con tecnologías Oracle, me decidí a recopilar en un Blog algunas de las cosillas útiles para el día a día.

Este Blog no tiene otra pretensión que ser un pequeño cajón desastre con soluciones a esos pequeños problemas diarios de la vida de cualquier dba oracle




Funciona gracias a WordPress