<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Templarios de San Oracle &#187; Paquetes de utilidad</title>
	<atom:link href="http://www.tsoracle.com/wparchives/category/paquetes-de-utilidad/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tsoracle.com</link>
	<description>Diario de un Templario de San Oracle</description>
	<lastBuildDate>Wed, 30 Sep 2009 14:09:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
		<item>
		<title>Paquete DBMS_STATS (II)</title>
		<link>http://www.tsoracle.com/wparchives/2007/10/10/paquete-dbms_stats-ii/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/10/10/paquete-dbms_stats-ii/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 18:19:27 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/10/10/paquete-dbms_stats-ii/</guid>
		<description><![CDATA[Delfino ya ha publicado la segunda parte de la gu&#237;a sobre DBMS_STATS. No s&#233; cu&#225;ntas horas le habr&#225; llevado pero est&#225; mejor si cabe que la anterior. Estilo Tom pero en espa&#241;ol, que queda como m&#225;s clarito. Por si a alguien le interesa: DBMS_STATS Parte 2. Habr&#225; que estar atentos porque ha prometido una tercera [...]]]></description>
			<content:encoded><![CDATA[<p>Delfino ya ha publicado la segunda parte de la gu&iacute;a sobre DBMS_STATS. No s&eacute; cu&aacute;ntas horas le habr&aacute; llevado pero est&aacute; mejor si cabe que la anterior. Estilo Tom pero en espa&ntilde;ol, que queda como m&aacute;s clarito. Por si a alguien le interesa: <a href="http://delfinonunez.wordpress.com/2007/10/06/dbms_stats-parte-2/" target="_blank" title="Delfino: DBMS_STATS Parte 2">DBMS_STATS Parte 2</a>. Habr&aacute; que estar atentos porque ha prometido una tercera parte&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/10/10/paquete-dbms_stats-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Paquete DBMS_STATS</title>
		<link>http://www.tsoracle.com/wparchives/2007/10/03/paquete-dbms_stats/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/10/03/paquete-dbms_stats/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 15:54:17 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/10/03/paquete-dbms_stats/</guid>
		<description><![CDATA[No fue hasta los tres a&#241;os de andadura bajo las alas de Oracle que supe de la existencia de las estad&#237;sticas y del amigo optimizer. Desde ese d&#237;a no deja de sorprenderme el hecho de que al 100% de las bases de datos (Oracle) de producci&#243;n con las que me cruzo nunca jam&#225;s se les [...]]]></description>
			<content:encoded><![CDATA[<p>No fue hasta los tres a&ntilde;os de andadura bajo las alas de Oracle que supe de la existencia de las estad&iacute;sticas y del amigo <em>optimizer</em>. Desde ese d&iacute;a no deja de sorprenderme el hecho de que al 100% de las bases de datos (Oracle) de producci&oacute;n con las que me cruzo nunca jam&aacute;s se les haya hecho un analyze en condiciones.<br />
<span id="more-78"></span><br />
Cuando tuve conocimiento, lo que se estilaba era usar el comando <a href="http://download.oracle.com/docs/html/A86647_01/vmqintro.htm" title="Introduction to Oracle SQL Analyze" target="_blank">ANALYZE</a>. M&aacute;s tarde naci&oacute; <a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_stats.htm" target="_blank" title="DBMS_STATS">DBMS_STATS</a>. Comenc&eacute; a usarlo pero la base de datos empez&oacute; a dar algunos errores internos. Creo que el problema radicaba en que esa base de datos naci&oacute; de un import en el que ya viajaban estad&iacute;sticas generadas con <a href="http://download.oracle.com/docs/html/A86647_01/vmqintro.htm" title="Introduction to Oracle SQL Analyze" target="_blank">ANALYZE</a>. De todas formas, como <a href="http://download.oracle.com/docs/html/A86647_01/vmqintro.htm" title="Introduction to Oracle SQL Analyze" target="_blank">ANALYZE</a> me funcionaba al pelo y con &eacute;l la base de datos no petaba pues hice caso omiso de la recomendaci&oacute;n de Oracle y me olvid&eacute; de momento de <a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_stats.htm" target="_blank" title="DBMS_STATS">DBMS_STATS</a>.</p>
<p>El caso es que ahora estoy en otra base de datos con un esquema que est&aacute; limpio de estad&iacute;sticas y me dispon&iacute;a a recordar todo esto cuando me he cruzado con una gu&iacute;a muy clara en castellano sobre DBMS_STATS: <a href="http://delfinonunez.wordpress.com/2007/10/02/dbms_stats-parte-1/" title="Delfino en la G&uuml;eb: DBMS_STATS. Parte 1" target="_blank">DBMS_STATS. Parte 1</a>. </p>
<p>Para el que no sepa nada de las estad&iacute;sticas de Oracle o quiera refrescar conocimientos esta gu&iacute;a es la ca&ntilde;a y est&aacute; muy currada: <a href="http://delfinonunez.wordpress.com/2007/01/11/estadisticas-estadisticas-y-mas-estadisticas-parte-1/" title="Delfino en la G&uuml;eb: Estad&iacute;sticas, estad&iacute;sticas y m&aacute;s estad&iacute;sticas Parte 1." target="_blank">Estad&iacute;sticas, estad&iacute;sticas y m&aacute;s estad&iacute;sticas Parte 1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/10/03/paquete-dbms_stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>DDL de FKs que apuntan a una tabla</title>
		<link>http://www.tsoracle.com/wparchives/2007/07/26/ddl-de-fks-que-apuntan-a-una-tabla/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/07/26/ddl-de-fks-que-apuntan-a-una-tabla/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 17:08:32 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/07/26/ddl-de-fks-que-apuntan-a-una-tabla/</guid>
		<description><![CDATA[Uniendo el script que obtiene las tablas que apuntan a una con la utilidad del todopoderoso paquete DMBS_METADATA me he hecho otro script que me obtiene el ddl de las claves for&#225;neas que apuntan a una tabla determinada. No s&#233; si me volver&#225; a hacer falta alg&#250;n d&#237;a pero por si acaso o por si [...]]]></description>
			<content:encoded><![CDATA[<p>Uniendo el script que obtiene las tablas que apuntan a una con la utilidad del todopoderoso paquete <em>DMBS_METADATA</em> me he hecho otro script que me obtiene el ddl de las claves for&aacute;neas que apuntan a una tabla determinada. <span id="more-64"></span>No s&eacute; si me volver&aacute; a hacer falta alg&uacute;n d&iacute;a pero por si acaso o por si a alguien m&aacute;s le interesa, aqu&iacute; est&aacute; el script:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="plsql" style="font-family:monospace;"><span style="color: #080; font-style: italic;">-- Script para obtener el ddl de la lista de claves foráneas que</span>
<span style="color: #080; font-style: italic;">-- referencian a una tabla</span>
<span style="color: #080; font-style: italic;">-- http://www.tsoracle.com</span>
<span style="color: #080; font-style: italic;">---------------</span>
<span style="color: #080; font-style: italic;">-- Sets varios</span>
<span style="color: #080; font-style: italic;">--------------</span>
<span style="color: #00F;">SET</span> VERIFY OFF
<span style="color: #00F;">SET</span> <span style="color: #00F;">LONG</span> <span style="color: #800;">5000</span>
<span style="color: #080; font-style: italic;">------------</span>
<span style="color: #080; font-style: italic;">-- Parámetros</span>
<span style="color: #080; font-style: italic;">------------</span>
ACCEPT propi PROMPT <span style="color: #F00;">&quot;Propietario (enter para usuario conectado): &quot;</span>
ACCEPT tabla PROMPT <span style="color: #F00;">&quot;Nombre de la tabla: &quot;</span>
BREAK <span style="color: #00F;">ON</span> TABLE_NAME
COLUMN DEFI FORMAT A120
<span style="color: #080; font-style: italic;">------------</span>
<span style="color: #080; font-style: italic;">-- Select</span>
<span style="color: #080; font-style: italic;">------------</span>
PROMPT Tablas que referencian a &amp;&amp;tabla
<span style="color: #00F;">SELECT</span> <span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>get_DDL<span style="color: #00F;">&#40;</span> <span style="color: #F00;">'REF_CONSTRAINT'</span><span style="color: #00F;">,</span> 
                              r<span style="color: #00F;">.</span>CONSTRAINT_NAME<span style="color: #00F;">,</span> 
                              r<span style="color: #00F;">.</span>OWNER <span style="color: #00F;">&#41;</span> 
       DEFI
<span style="color: #00F;">FROM</span>   ALL_CONSTRAINTS T<span style="color: #00F;">,</span> ALL_CONSTRAINTS R
<span style="color: #00F;">WHERE</span>  T<span style="color: #00F;">.</span>OWNER      <span style="color: #00F;">=</span> <span style="color: #000;">NVL</span><span style="color: #00F;">&#40;</span> <span style="color: #000;">UPPER</span><span style="color: #00F;">&#40;</span> <span style="color: #F00;">'&amp;&amp;propi'</span> <span style="color: #00F;">&#41;</span><span style="color: #00F;">,</span> <span style="color: #000;">USER</span> <span style="color: #00F;">&#41;</span>
  <span style="color: #00F;">AND</span>  T<span style="color: #00F;">.</span>TABLE_NAME <span style="color: #00F;">=</span> <span style="color: #000;">UPPER</span><span style="color: #00F;">&#40;</span> <span style="color: #F00;">'&amp;&amp;tabla'</span> <span style="color: #00F;">&#41;</span>
  <span style="color: #00F;">AND</span>  T<span style="color: #00F;">.</span>CONSTRAINT_TYPE <span style="color: #00F;">IN</span> <span style="color: #00F;">&#40;</span> <span style="color: #F00;">'P'</span><span style="color: #00F;">,</span> <span style="color: #F00;">'U'</span> <span style="color: #00F;">&#41;</span> <span style="color: #080; font-style: italic;">-- Que sean pk o uk</span>
  <span style="color: #00F;">AND</span>  R<span style="color: #00F;">.</span>R_OWNER           <span style="color: #00F;">=</span> T<span style="color: #00F;">.</span>OWNER
  <span style="color: #00F;">AND</span>  R<span style="color: #00F;">.</span>R_CONSTRAINT_NAME <span style="color: #00F;">=</span> T<span style="color: #00F;">.</span>CONSTRAINT_NAME
  <span style="color: #00F;">AND</span>  R<span style="color: #00F;">.</span>CONSTRAINT_TYPE   <span style="color: #00F;">=</span> <span style="color: #F00;">'R'</span>         <span style="color: #080; font-style: italic;">-- Que sea una fk</span>
<span style="color: #00F;">ORDER</span> <span style="color: #00F;">BY</span> R<span style="color: #00F;">.</span>TABLE_NAME<span style="color: #00F;">,</span> R<span style="color: #00F;">.</span>CONSTRAINT_NAME
<span style="color: #00F;">/</span>
<span style="color: #080; font-style: italic;">---------------------</span>
<span style="color: #080; font-style: italic;">-- Restauro el verify</span>
<span style="color: #080; font-style: italic;">---------------------</span>
<span style="color: #00F;">SET</span> VERIFY <span style="color: #00F;">ON</span></pre></td></tr></table></div>

<p>S&eacute; que se nota que estoy flipao con el <em>dbms_metadata</em> pero es que no puedo creer que haya podido vivir tanto tiempo sin &eacute;l. La de r&iacute;os de c&oacute;digo que me podr&iacute;a haber ahorrado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/07/26/ddl-de-fks-que-apuntan-a-una-tabla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Obtener ddl de permisos</title>
		<link>http://www.tsoracle.com/wparchives/2007/07/24/obtener-ddl-de-permisos/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/07/24/obtener-ddl-de-permisos/#comments</comments>
		<pubDate>Tue, 24 Jul 2007 14:04:53 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/07/24/obtener-ddl-de-permisos/</guid>
		<description><![CDATA[Otra funci&#243;n interesante del paquete DBMS_METADATA es get_Granted_DDL. Tal como su nombre sugiere, te devuelve el c&#243;digo ddl de los permisos que tenga el usuario que le pasas como par&#225;metro. En este caso le pasar&#237;amos dos par&#225;metros, el primero de los cuales es el tipo(a elegir entre AUDIT, DEFAULT_ROLE, OBJECT_GRANT, PROXY, ROLE_GRANT, SYSTEM_GRANT y TABLESPACE_QUOTA), [...]]]></description>
			<content:encoded><![CDATA[<p>Otra funci&oacute;n interesante del paquete <em>DBMS_METADATA</em> es <a href="http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_metad2.htm#1031407" target="_blank" title="Funci&oacute;n DBMS_METADATA.get_Granted_DDL">get_Granted_DDL</a>. Tal como su nombre sugiere, te devuelve el c&oacute;digo ddl de los permisos que tenga el usuario que le pasas como par&aacute;metro. <span id="more-62"></span>En este caso le pasar&iacute;amos dos par&aacute;metros, el primero de los cuales es el tipo(a elegir entre <a href="http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_metad2.htm#1031407" title="Lista de posibles valores para el primer par&aacute;metro de la funci&oacute;n get_granted_ddl" target="_blank">AUDIT, DEFAULT_ROLE, OBJECT_GRANT, PROXY, ROLE_GRANT, SYSTEM_GRANT y TABLESPACE_QUOTA</a>), el segundo es el usuario. Los otros par&aacute;metros pueden tomar los valores por defecto. Por ejemplo, la siguiente select nos dar&iacute;a el ddl de creaci&oacute;n de permisos de sistema para el viejo <em>Scott</em></p>

<div class="wp_syntax"><div class="code"><pre class="plsql" style="font-family:monospace;"><span style="color: #00F;">SET</span> <span style="color: #00F;">LONG</span> <span style="color: #800;">5000</span>
<span style="color: #00F;">SELECT</span> <span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>GET_GRANTED_DDL<span style="color: #00F;">&#40;</span> <span style="color: #F00;">'SYSTEM_GRANT'</span><span style="color: #00F;">,</span> <span style="color: #F00;">'SCOTT'</span> <span style="color: #00F;">&#41;</span>
<span style="color: #00F;">FROM</span>   DUAL
<span style="color: #00F;">/</span></pre></div></div>

<p>Esta nos dar&iacute;a la de los objetos a los que tiene privilegios directamente, sin pasar por un rol:</p>

<div class="wp_syntax"><div class="code"><pre class="plsql" style="font-family:monospace;"><span style="color: #00F;">SET</span> <span style="color: #00F;">LONG</span> <span style="color: #800;">5000</span>
<span style="color: #00F;">SELECT</span> <span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>GET_GRANTED_DDL<span style="color: #00F;">&#40;</span> <span style="color: #F00;">'OBJECT_GRANT'</span><span style="color: #00F;">,</span> <span style="color: #000;">USER</span> <span style="color: #00F;">&#41;</span> <span style="color: #00F;">AS</span> CPRIVILEGIO
<span style="color: #00F;">FROM</span>   DUAL
<span style="color: #00F;">/</span></pre></div></div>

<p>Para los otros posibles valores para el tipo, no he conseguido hacerlo funcionar. No s&eacute; si es que me faltan privilegios o que estoy haciendo algo mal (o las dos cosas a la vez).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/07/24/obtener-ddl-de-permisos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Obtener ddl de objetos</title>
		<link>http://www.tsoracle.com/wparchives/2007/07/23/obtener-ddl-de-objetos/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/07/23/obtener-ddl-de-objetos/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 14:16:44 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/07/23/obtener-ddl-de-objetos/</guid>
		<description><![CDATA[Para aquellos que utilizan el Toad(el lado oscuro de la fuerza) o similares nunca es un problema recuperar de la base de datos el ddl de una tabla o un paquete. Para los fan&#225;ticos del plus como yo puede ser algo tedioso. El c&#243;digo de los paquetes, funciones y procedimientos puedes obtenerlo de la vista [...]]]></description>
			<content:encoded><![CDATA[<p>Para aquellos que utilizan el <em>Toad</em>(el lado oscuro de la fuerza) o similares nunca es un problema recuperar de la base de datos el <em>ddl</em> de una tabla o un paquete. Para los fan&aacute;ticos del <em>plus</em> como yo puede ser algo tedioso. El c&oacute;digo de los paquetes, funciones y procedimientos puedes obtenerlo de la vista <a href="http://download.oracle.com/docs/cd/B12037_01/server.101/b10755/statviews_1154.htm#i1588578" target="_blank" title="ALL_SOURCE">ALL_SOURCE</a>, el de las vistas de <a href="http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/statviews_1202.htm#i1593583" target="_blank" title="ALL_VIEWS">ALL_VIEWS</a> y el de los triggers de <a href="http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/statviews_1192.htm#sthref1482" target="_blank" title="ALL_TRIGGERS">ALL_TRIGGERS</a>. A partir de la <em>Oracle 9i</em> hay una función que nos puede sacar el código <em>ddl</em> de cualquier objeto de tu esquema: <a href="http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_metad2.htm#1024701" target="_blank" title="Función Dbms_MetaData.Get_DDL">DBMS_METADATA.get_DDL</a>. <span id="more-61"></span>Tiene varios par&aacute;metros, pero s&oacute;lo los tres primeros son obligatorios. Los otros toman valores por defecto. El primer par&aacute;metro se refiere al <a href="http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_metad2.htm#1031407" target="_blank" title="tipos de objeto posibles">tipo de objeto</a>, el segundo al nombre del objeto y el tercero al esquema al que pertenece. El paquete pertenece a <em>SYS</em> pero, como es l&oacute;gico, s&oacute;lo te deja consultar objetos para los que tengas permiso.<br />
Por ejemplo, si creamos esta tabla:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="plsql" style="font-family:monospace;"><span style="color: #00F;">CREATE</span> <span style="color: #00F;">TABLE</span> PRUEBA<span style="color: #00F;">&#40;</span>
  A <span style="color: #00F;">VARCHAR2</span><span style="color: #00F;">&#40;</span><span style="color: #800;">1</span><span style="color: #00F;">&#41;</span> PRIMARY KEY<span style="color: #00F;">,</span>
  B <span style="color: #00F;">DATE</span>        <span style="color: #00F;">NOT</span> <span style="color: #00F;">NULL</span><span style="color: #00F;">,</span>
  C <span style="color: #00F;">VARCHAR2</span><span style="color: #00F;">&#40;</span><span style="color: #800;">3</span><span style="color: #00F;">&#41;</span> <span style="color: #00F;">&#41;</span>
<span style="color: #00F;">/</span></pre></td></tr></table></div>

<p>Asumiendo que el esquema propietario fuese TSORACLE, el resultado del <em>get_ddl</em> ser&iacute;a este:</p>

<div class="wp_syntax"><div class="code"><pre class="plsql" style="font-family:monospace;">SQL<span style="color: #00F;">&gt;</span> <span style="color: #00F;">SET</span> <span style="color: #00F;">LONG</span> <span style="color: #800;">5000</span>
SQL<span style="color: #00F;">&gt;</span> <span style="color: #00F;">SELECT</span> <span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>get_DDL<span style="color: #00F;">&#40;</span><span style="color: #F00;">'TABLE'</span><span style="color: #00F;">,</span><span style="color: #F00;">'PRUEBA'</span><span style="color: #00F;">,</span><span style="color: #F00;">'TSORACLE'</span><span style="color: #00F;">&#41;</span> <span style="color: #00F;">FROM</span> DUAL<span style="color: #00F;">;</span>
&nbsp;
<span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>GET_DDL<span style="color: #00F;">&#40;</span><span style="color: #F00;">'TABLE'</span><span style="color: #00F;">,</span><span style="color: #F00;">'PRUEBA'</span><span style="color: #00F;">,</span><span style="color: #F00;">'TSORACLE'</span><span style="color: #00F;">&#41;</span>
<span style="color: #080; font-style: italic;">--------------------------------------------------------------------------------</span>
&nbsp;
  <span style="color: #00F;">CREATE</span> <span style="color: #00F;">TABLE</span> <span style="color: #F00;">&quot;TSORACLE&quot;</span><span style="color: #00F;">.</span><span style="color: #F00;">&quot;PRUEBA&quot;</span>
   <span style="color: #00F;">&#40;</span>    <span style="color: #F00;">&quot;A&quot;</span> <span style="color: #00F;">VARCHAR2</span><span style="color: #00F;">&#40;</span><span style="color: #800;">1</span><span style="color: #00F;">&#41;</span><span style="color: #00F;">,</span>
        <span style="color: #F00;">&quot;B&quot;</span> <span style="color: #00F;">DATE</span> <span style="color: #00F;">NOT</span> <span style="color: #00F;">NULL</span> ENABLE<span style="color: #00F;">,</span>
        <span style="color: #F00;">&quot;C&quot;</span> <span style="color: #00F;">VARCHAR2</span><span style="color: #00F;">&#40;</span><span style="color: #800;">3</span><span style="color: #00F;">&#41;</span><span style="color: #00F;">,</span>
         PRIMARY KEY <span style="color: #00F;">&#40;</span><span style="color: #F00;">&quot;A&quot;</span><span style="color: #00F;">&#41;</span>
  USING <span style="color: #00F;">INDEX</span> <span style="color: #00F;">PCTFREE</span> <span style="color: #800;">10</span> INITRANS <span style="color: #800;">2</span> MAXTRANS <span style="color: #800;">255</span>
  STORAGE<span style="color: #00F;">&#40;</span>INITIAL <span style="color: #800;">131072</span> NEXT <span style="color: #800;">131072</span> MINEXTENTS <span style="color: #800;">1</span> MAXEXTENTS <span style="color: #800;">2147483645</span>
  PCTINCREASE <span style="color: #800;">0</span> FREELISTS <span style="color: #800;">1</span> FREELIST GROUPS <span style="color: #800;">1</span> BUFFER_POOL <span style="color: #00F;">DEFAULT</span><span style="color: #00F;">&#41;</span>
  TABLESPACE <span style="color: #F00;">&quot;TSORACLE&quot;</span>  ENABLE
   <span style="color: #00F;">&#41;</span> <span style="color: #00F;">PCTFREE</span> <span style="color: #800;">10</span> PCTUSED <span style="color: #800;">40</span> INITRANS <span style="color: #800;">1</span> MAXTRANS <span style="color: #800;">255</span> NOCOMPRESS LOGGING
  STORAGE<span style="color: #00F;">&#40;</span>INITIAL <span style="color: #800;">131072</span> NEXT <span style="color: #800;">131072</span> MINEXTENTS <span style="color: #800;">1</span> MAXEXTENTS <span style="color: #800;">2147483645</span>
  PCTINCREASE <span style="color: #800;">0</span> FREELISTS <span style="color: #800;">1</span> FREELIST GROUPS <span style="color: #800;">1</span> BUFFER_POOL <span style="color: #00F;">DEFAULT</span><span style="color: #00F;">&#41;</span>
  TABLESPACE <span style="color: #F00;">&quot;TSORACLE&quot;</span></pre></div></div>

<p>El <em>SET LONG</em> es importante porque el valor por defecto del <em>plus</em> es bajo. Habr&iacute;a que ajustarlo seg&uacute;n la salida esperada.<br />
Otro ejemplo podr&iacute;a ser c&oacute;mo obtener el ddl de creaci&oacute;n de todos los sin&oacute;nimos del esquema:</p>

<div class="wp_syntax"><div class="code"><pre class="plsql" style="font-family:monospace;"><span style="color: #00F;">SET</span> <span style="color: #00F;">LONG</span> <span style="color: #800;">5000</span>
<span style="color: #00F;">SELECT</span> <span style="color: #00F;">DBMS_METADATA</span><span style="color: #00F;">.</span>get_DDL<span style="color: #00F;">&#40;</span> <span style="color: #F00;">'SYNONYM'</span><span style="color: #00F;">,</span> SYNONYM_NAME<span style="color: #00F;">,</span> <span style="color: #000;">USER</span> <span style="color: #00F;">&#41;</span> 
<span style="color: #00F;">FROM</span>   ALL_SYNONYMS 
<span style="color: #00F;">ORDER</span>  <span style="color: #00F;">BY</span> SYNONYM_NAME<span style="color: #00F;">;</span></pre></div></div>

<p>No s&eacute;, me ha parecido una utilidad molona.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/07/23/obtener-ddl-de-objetos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Paquete UTL_INADDR</title>
		<link>http://www.tsoracle.com/wparchives/2007/07/19/paquete-utl_inaddr/</link>
		<comments>http://www.tsoracle.com/wparchives/2007/07/19/paquete-utl_inaddr/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 22:43:09 +0000</pubDate>
		<dc:creator>Sir Ragnar</dc:creator>
				<category><![CDATA[Paquetes de utilidad]]></category>

		<guid isPermaLink="false">http://www.tsoracle.com/wparchives/2007/07/19/paquete-utl_inaddr/</guid>
		<description><![CDATA[¡Qu&#233; ca&#241;a!. Me acabo de enterar de la existencia del paquete UTL_INADDR que sirve para obtener informaci&#243;n de direcciones de internet. Hasta ahora, la &#250;nica forma que conoc&#237;a era utilizando las vistas v$session y compa&#241;&#237;a. Y siempre ten&#237;a que andar pidiendo al dba de turno que me diese permiso. Este art&#237;culo ilustra sobre el uso [...]]]></description>
			<content:encoded><![CDATA[<p>¡Qu&eacute; ca&ntilde;a!. Me acabo de enterar de la existencia del paquete UTL_INADDR que sirve para obtener informaci&oacute;n de direcciones de internet. Hasta ahora, la &uacute;nica forma que conoc&iacute;a era utilizando las vistas v$session y compa&ntilde;&iacute;a. Y siempre ten&iacute;a que andar pidiendo al dba de turno que me diese permiso. Este art&iacute;culo ilustra sobre el uso del paquete: <a href="http://awads.net/wp/2007/07/17/oracle-database-11g-old-feature-internet-addressing/" target="_blank" title="Oracle Database 11g Old Feature: Internet Addressing">Oracle Database 11g Old Feature: Internet Addressing</a>. La lista de enlaces asociados es tambi&eacute;n muy interesante. La documentaci&oacute;n oficial est&aacute; <a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_inaddr.htm" target="_blank" title="UTL_INADDR">aqu&iacute;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tsoracle.com/wparchives/2007/07/19/paquete-utl_inaddr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>
