<?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/"
	>

<channel>
	<title>Administración Oracle</title>
	<atom:link href="http://www.xgodoy.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xgodoy.com/wordpress</link>
	<description>Blog para compartir experiencias y conocimientos en administración de bases de datos Oracle</description>
	<lastBuildDate>Fri, 25 Dec 2009 17:09:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Feliz Navidad</title>
		<link>http://www.xgodoy.com/wordpress/2009/12/25/feliz-navidad/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/12/25/feliz-navidad/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 17:06:28 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Saludo Navideño]]></category>

		<guid isPermaLink="false">http://www.xgodoy.com/wordpress/?p=302</guid>
		<description><![CDATA[Un afectuoso saludos de  navidad y que el próximo año este lleno de paz, amor, éxito, optimismo y fe.
]]></description>
			<content:encoded><![CDATA[<p>Un afectuoso saludos de  navidad y que el próximo año este lleno de paz, amor, éxito, optimismo y fe.</p>
<div id="attachment_304" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.xgodoy.com/wordpress/2009/12/25/feliz-navidad/saludo-nabideno-2/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" rel="attachment wp-att-304"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/12/Saludo-Nabideño1-500x278.jpg" alt="Saludo Navideño" title="Saludo Navideño" width="500" height="278" class="size-large wp-image-304" /></a><p class="wp-caption-text">Saludo Navideño Oracle.Xgodoy.Com</p></div>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/12/25/feliz-navidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar nombre de base de datos Oracle</title>
		<link>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 21:18:08 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Administración]]></category>
		<category><![CDATA[Cambiar nombre de base de datos]]></category>
		<category><![CDATA[Cambiar Nombre de Base de Datos Oracle]]></category>
		<category><![CDATA[DNNEWID]]></category>
		<category><![CDATA[NID]]></category>

		<guid isPermaLink="false">http://www.xgodoy.com/wordpress/?p=272</guid>
		<description><![CDATA[Una utilidad llamada DBNEWID, fácil de utilizar pero con consideraciones no documentadas explícitamente, en el siguiente artículo realizaremos un par de ejemplos sobre cómo utilizar el DBNEWID y las consideraciones que se deben tener en cuenta.]]></description>
			<content:encoded><![CDATA[<p align="justify" class = "parrafo">Por alguna raz&oacute;n puede que se requiera modificar el nombre de la base de datos, modificando un par de par&aacute;metros y recreando el controlfile puede ser una tarea entre par&eacute;ntesis f&aacute;cil pero esto no asegura el cambio &iacute;ntegro ya que solo cambia el DBNAME pero no el DBID, el DBID es interno y &uacute;nico identificador de la base de datos. Por ejemplo, se requiere restaurar una base de datos en el mismo servidor de origen (algo as&iacute; como una copia de la base de datos), se ve algo f&aacute;cil, solo bastar&iacute;a con levantar una instancia con otro nombre, restaurar la base de datos sobre esa instancia y recrear el controlfile, pero las dos base de datos seguir&iacute;an con el mismo DBID, algunos de los problemas con esto son por ejemplo los backups con RMAN ya que este identifica a las bases de datos con el DBID. Otro caso pr&aacute;ctico es restaurar una copia de nuestra base de datos en el mismo servidor donde se encuentra nuestro DATAGUARD, simplemente nuestro DATAGUARD tendr&aacute; muchos problemas al encontrarse dos bases de datos en el mismo servidor con el mismo DBID (aunque las instancias tengan distinto nombre). La soluci&oacute;n para estos casos es una utilidad llamada DBNEWID, f&aacute;cil de utilizar pero con consideraciones no documentadas expl&iacute;citamente, en el siguiente art&iacute;culo realizaremos un par de ejemplos sobre c&oacute;mo utilizar el DBNEWID y las consideraciones que se deben tener en cuenta.</p>
<p class = "subtitulo">Cambiando solo el DBNAME</p>
<p align="justify" class = "parrafo">Se cuenta con una base de datos llamada jimydb, cambiaremos solo el nombre de esta a TESTDB:</p>
<p align="justify" class = "parrafo">Lo primero es crear un archivo de init:</p>
<p class = "shell"> cp $ORACLE_HOME/dbs/initjimydb.ora $ORACLE_HOME/dbs/initTESTDB.ora </p>
<p align="justify" class = "parrafo">Modificamos el par&aacute;metro db_name en el init y todo par&aacute;metro que haga referencia al nombre de la instancia o la base de datos. Luego es necesario agregar al listener.ora, tnsnames.ora y /etc/oratab la instancia TESTDB.</p>
<p align="justify" class = "parrafo">Ahora a renombrar la base de datos.</p>
<p align="justify" class = "parrafo">La base de datos debe est&aacute;n en modo <strong>MOUNT:</strong></p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [jimydb] ? jimydb<br />
[oracle@SERVER dbs]$sqlplus / as sysdba </p>
<p class = "sql">SQL&gt; shutdown immediate<br />SQL&gt;startup mount</p>
<p align="justify" class = "parrafo"> Luego de sede ejecutar el utilitario DBNEWID con un usuario con privilegios sysdba de la siguiente forma: </p>
<p class = "shell">nid TARGET=SYS/password@jimydb DBNAME=TESTDB SETNAME=YES</p>
<p align="justify" class = "parrafo">Preguntar&aacute; si deseas cambiar el nombre de la base de datos, le damos &ldquo;Y&rdquo;:</p>
<p align="justify" class = "parrafo">La salida es algo por el estilo:</p>
<p class = "shell"> DBNEWID: Release 10.2.0.3.0 &#8211; Production on Wed Jul 8 16:57:36 2009<br />
&nbsp;<br />
Copyright (c) 1982, 2005, Oracle.&nbsp; All rights reserved.<br />
&nbsp;<br />
Connected to database JIMYDB (DBID=3309000021)<br />
&nbsp;<br />
Connected to server version 10.2.0<br />
&nbsp;<br />
Control Files in database:<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control01.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control02.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control03.ctl<br />
&nbsp;<br />
Change database name of database JIMYDB to TESTDB? (Y/[N]) =&gt; Y<br />
&nbsp;<br />
Proceeding with operation<br />
Changing database name from JIMYDB to TESTDB<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/system01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/undotbs01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/sysaux01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/users01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat2.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/temp01.dbf &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; wrote new name<br />
&nbsp;&nbsp;&nbsp; Instance shut down<br />
&nbsp;<br />
Database name changed to TESTDB.<br />
Modify parameter file and generate a new password file before restarting.<br />
Succesfully changed database name.DBNEWID &#8211; Completed succesfully. </p>
<p align="justify" class = "parrafo">Se puede apreciar la modificaci&oacute;n del controlfile y como marca los datafiles. Termina la correcta ejecuci&oacute;n bajando la base de datos. Luego y ya que el archivo <strong><em>initTESTDB.ora</em></strong> ya esta creado nos ambientamos como TESTDB y levantamos la base de datos:</p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [jimydb] ? TESTDB<br />
[oracle@SERVER dbs]$ sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; startup</p>
<p align="justify" class = "parrafo">Verificamos par&aacute;metros y nombre de la base de datos:</p>
<p class = "sql"> SQL&gt; sho parameters name<br />
NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
- &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211;  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
db_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
db_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
db_unique_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
global_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
instance_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB<br />
lock_name_space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
log_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
service_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TESTDB</p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
3309000021 TESTDB&nbsp;&nbsp;&nbsp; TESTDB</p>
<p align="justify" class = "parrafo">Listo!, por ultimo creamos un nuevo archivo de password y verificamos los procesos oracle:</p>
<p class = "shell"> [oracle@SERVER dbs]$ orapwd file=/u01/app/oracle/db/dbs/orapwTESTDB password=password entries=10;<br />
[oracle@SERVER dbs]$ ps -fea |grep ora_<br />
oracle&nbsp;&nbsp;&nbsp; 1108&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_pmon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1110&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_psp0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1112&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mman_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1114&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 ora_dbw0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1116&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_lgwr_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1118&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_ckpt_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1120&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_smon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1122&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 ora_reco_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1124&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_cjq0_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1126&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmon_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1128&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmnl_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1134&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:01 ora_j000_TESTDB<br />
oracle&nbsp;&nbsp;&nbsp; 1136&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:21 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_j001_TESTDB </p>
<p><strong class = "subtitulo">Cambiando el DBNAME y DBID</strong></p>
<p align="justify" class = "parrafo">Actualmente la base de datos se llama TESTDB, la renombraremos a PRUEBADB y adem&aacute;s cambiaremos el DBID de esta:</p>
<p align="justify" class = "parrafo"> Primero identificaremos el nombre actual y DBID de la base de datos:</p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
3309000021 TESTDB&nbsp;&nbsp;&nbsp; TESTDB</p>
<p align="justify" class = "parrafo">Crear un archivo de init:</p>
<p class = "shell"> cp $ORACLE_HOME/dbs/initTESTDB.ora $ORACLE_HOME/dbs/initPRUEBADB.ora </p>
<p align="justify" class = "parrafo">Modificamos el par&aacute;metro db_name en el init y todo par&aacute;metro que haga referencia al nombre de la instancia o la base de datos. Luego es necesario agregar al listener.ora, tnsnames.ora y /etc/oratab la instancia PRUEBADB.</p>
<p align="justify" class = "parrafo">La base de datos debe est&aacute;n en modo <strong>MOUNT:</strong></p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [TESTDB] ? TESTDB<br />
[oracle@SERVER dbs]$sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; shutdown immediate<br />
SQL&gt; startup mount</p>
<p>Luego de sede ejecutar el utilitario DBNEWID con un usuario con privilegios sysdba de la siguiente forma:</p>
<p class = "shell"> nid TARGET=SYS/password@TESTDB DBNAME=PRUEBADB</p>
<p align="justify" class = "parrafo">Preguntar&aacute; si deseas cambiar el nombre de la base de datos, le damos &ldquo;Y&rdquo;:</p>
<p align="justify" class = "parrafo">La salida es algo por el estilo:</p>
<p class = "shell"> DBNEWID: Release 10.2.0.3.0 &#8211; Production on Wed Jul 8 23:40:07 2009<br />
Copyright (c) 1982, 2005, Oracle.&nbsp; All rights reserved.<br />
Connected to database TESTDB (DBID=3309000021)<br />
Connected to server version 10.2.0<br />
Control Files in database:<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control01.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control02.ctl<br />
&nbsp;&nbsp;&nbsp; /u02/oradata/jimydb/control03.ctl<br />
Change database ID and database name TESTDB to PRUEBADB? (Y/[N]) =&gt; Y<br />
Proceeding with operation<br />
Changing database ID from 3309000021 to 455356631<br />
Changing database name from TESTDB to PRUEBADB<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; modified<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/system01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/undotbs01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/sysaux01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/users01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/testdat2.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Datafile /u02/oradata/jimydb/temp01.dbf &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control01.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control02.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Control File /u02/oradata/jimydb/control03.ctl &#8211; dbid changed, wrote new name<br />
&nbsp;&nbsp;&nbsp; Instance shut down<br />
Database name changed to PRUEBADB.<br />
Modify parameter file and generate a new password file before restarting.<br />
Database ID for database PRUEBADB changed to 455356631.<br />
All previous backups and archived redo logs for this database are unusable.<br />
Database is not aware of previous backups and archived logs in Recovery Area.<br />
Database has been shutdown, open database with RESETLOGS option.<br />
Succesfully changed database name and ID.<br />
DBNEWID &#8211; Completed succesfully. </p>
<p align="justify" class = "parrafo">Se puede apreciar la modificaci&oacute;n del controlfile y como marca los datafiles. A diferencia del proceso anterior el utilitario avisa el cambio de DBID. Termina la correcta ejecuci&oacute;n bajando la base de datos.</p>
<p align="justify" class = "parrafo">Luego y ya que el archivo <strong><em>initPRUEBADB.ora</em></strong> ya esta creado nos ambientamos como PRUEBADB y levantamos la base de datos:</p>
<p class = "shell"> [oracle@SERVER dbs]$ . oraenv<br />
ORACLE_SID = [TESTDB] ? PRUEBADB<br />
[oracle@SERVER dbs]$ sqlplus / as sysdba </p>
<p class = "sql"> SQL&gt; startup mount<br />
SQL&gt; alter database open resetlogs; </p>
<p align="justify" class = "parrafo">Verificamos par&aacute;metros y nombre de la base de datos:</p>
<p class = "sql"> SQL&gt; sho parameters name<br />
NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
- &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
db_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
db_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
db_unique_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
global_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
instance_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB<br />
lock_name_space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
log_file_name_convert&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br />
service_names&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRUEBADB </p>
<p class = "sql"> SQL&gt; select DBID, NAME, DB_UNIQUE_NAME from v$database;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBID NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DB_UNIQUE_NAME<br />
- &#8211; - &#8211; -  &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; - &#8211; -<br />
455356631&nbsp; PRUEBADB&nbsp; PRUEBADB </p>
<p align="justify" class = "parrafo">Listo!, por ultimo creamos un nuevo archivo de password y verificamos los procesos oracle:</p>
<p class = "shell">[oracle@SERVER dbs]$ orapwd file=/u01/app/oracle/db/dbs/orapwPRUEBADB password=password entries=10;<br />
[oracle@SERVER dbs]$ ps -fea |grep ora_<br />
oracle&nbsp;&nbsp;&nbsp; 1208&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_pmon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1210&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_psp0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1212&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mman_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1214&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_dbw0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1216&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_lgwr_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1218&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_ckpt_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1220&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_smon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1222&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_reco_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1224&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_cjq0_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1226&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmon_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1228&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 ora_mmnl_PRUEBADB<br />
oracle&nbsp;&nbsp;&nbsp; 1234&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 23:25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:01 ora_j000_PRUEBADB </p>
<p class = "subtitulo">Consideraciones</p>
<p align="justify" class = "parrafo">Al cambiar el nombre y el DBID de la base de datos, todos los backup v&iacute;a RMAM y los archivelogs que existan no servir&aacute; m&aacute;s ya que despu&eacute;s de cambiar el DBID se debe abrir la base de datos con la opci&oacute;n RESETLOGS lo que resetea la secuencia de los redologs a 1. Luego, inmediatamente despu&eacute;s de realizar el cambio de DBID se debe realizar un backup full de la base de datos.</p>
<p align="justify" class = "parrafo">Si de desea cambiar el DBID de una base de datos recientemente restaurada (sin abrir aun), es necesario crear un tablespace temporal, si un tablespace temporal no existe el DBID fallar&aacute; y no se podr&aacute; revertir el cambio, luego la base de datos quedar&aacute; inservible y la documentaci&oacute;n al respecto dice que es necesario entre muchos pasos recrear el controlfile (BUG 5861994). Del problema descrito conozco casos de &eacute;xito donde se ha logrado salvar la base de datos, pero el proceso es muy engorroso y lo mejor es evitar esos casos.</p>
<p class = "subtitulo">Referencias Metalink:</p>
<p align="justify" class = "parrafo"><strong>DOC ID 552053.1: NID Fails if Tempfiles Do Not Exist</strong><br />
<strong>DOC ID 224266.1: How to Change the DBID and the DBNAME by using NID</strong></p>
<p align="justify" class = "parrafo"><strong>Saludos!</strong><br /><strong>Jimy Godoy Maureira</strong></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/11/18/cambiar-nombre-de-base-de-datos-oracle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CLOUG Noviembre 2009</title>
		<link>http://www.xgodoy.com/wordpress/2009/11/18/cloug-noviembre-2009/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/11/18/cloug-noviembre-2009/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 12:29:42 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[CLOUG]]></category>

		<guid isPermaLink="false">http://www.xgodoy.com/wordpress/?p=266</guid>
		<description><![CDATA[El 16 de noviembre de 2009 de realizó el segundo evento del Grupo De Usuarios Oracle Chile – CLOUG, este evento contó con la presencia de un gran exponente de Oracle a nivel mundial, el Sr. Tom Kyte de ASK TOM.]]></description>
			<content:encoded><![CDATA[<table id="px1" title="CLOUG Noviembre 2005" border="0" cellspacing="0" cellpadding="0"><tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMB_Mp3xlI/AAAAAAAAFoA/jsT3NJDvIJs/IMG_5257.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMB_Mp3xlI/AAAAAAAAFoA/jsT3NJDvIJs/s72/IMG_5257.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMB_Mp3xlI%2FAAAAAAAAFoA%2FjsT3NJDvIJs%2Fs72%2FIMG_5257.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMB_Mp3xlI%2FAAAAAAAAFoA%2FjsT3NJDvIJs%2FIMG_5257.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCBVXiBdI/AAAAAAAAFoE/R7nwbeRMKF0/IMG_5260.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCBVXiBdI/AAAAAAAAFoE/R7nwbeRMKF0/s72/IMG_5260.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCBVXiBdI%2FAAAAAAAAFoE%2FR7nwbeRMKF0%2Fs72%2FIMG_5260.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCBVXiBdI%2FAAAAAAAAFoE%2FR7nwbeRMKF0%2FIMG_5260.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCEyWjdtI/AAAAAAAAFoI/vVT40SRf6JE/IMG_5261.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCEyWjdtI/AAAAAAAAFoI/vVT40SRf6JE/s72/IMG_5261.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCEyWjdtI%2FAAAAAAAAFoI%2FvVT40SRf6JE%2Fs72%2FIMG_5261.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCEyWjdtI%2FAAAAAAAAFoI%2FvVT40SRf6JE%2FIMG_5261.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCHQL-XJI/AAAAAAAAFoQ/yPxvoabODRA/IMG_5262.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCHQL-XJI/AAAAAAAAFoQ/yPxvoabODRA/s72/IMG_5262.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCHQL-XJI%2FAAAAAAAAFoQ%2FyPxvoabODRA%2Fs72%2FIMG_5262.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCHQL-XJI%2FAAAAAAAAFoQ%2FyPxvoabODRA%2FIMG_5262.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCLibqjZI/AAAAAAAAFoU/r5aIJQRnnq8/IMG_5263.JPG?imgmax=800" title="" alt=""><img src="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCLibqjZI/AAAAAAAAFoU/r5aIJQRnnq8/s72/IMG_5263.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCLibqjZI%2FAAAAAAAAFoU%2Fr5aIJQRnnq8%2Fs72%2FIMG_5263.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCLibqjZI%2FAAAAAAAAFoU%2Fr5aIJQRnnq8%2FIMG_5263.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
</tr>
<tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCOBEq4rI/AAAAAAAAFoY/J6zuhN2PbgQ/IMG_5268.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCOBEq4rI/AAAAAAAAFoY/J6zuhN2PbgQ/s72/IMG_5268.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCOBEq4rI%2FAAAAAAAAFoY%2FJ6zuhN2PbgQ%2Fs72%2FIMG_5268.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCOBEq4rI%2FAAAAAAAAFoY%2FJ6zuhN2PbgQ%2FIMG_5268.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCQmUU49I/AAAAAAAAFoc/Kh9YyyKXuvA/IMG_5269.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCQmUU49I/AAAAAAAAFoc/Kh9YyyKXuvA/s72/IMG_5269.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCQmUU49I%2FAAAAAAAAFoc%2FKh9YyyKXuvA%2Fs72%2FIMG_5269.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCQmUU49I%2FAAAAAAAAFoc%2FKh9YyyKXuvA%2FIMG_5269.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCUsiJXlI/AAAAAAAAFog/PkWCXbxUqEI/IMG_5270.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCUsiJXlI/AAAAAAAAFog/PkWCXbxUqEI/s72/IMG_5270.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCUsiJXlI%2FAAAAAAAAFog%2FPkWCXbxUqEI%2Fs72%2FIMG_5270.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCUsiJXlI%2FAAAAAAAAFog%2FPkWCXbxUqEI%2FIMG_5270.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCXXdWiaI/AAAAAAAAFoo/25jUTxyli_g/IMG_5272.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCXXdWiaI/AAAAAAAAFoo/25jUTxyli_g/s72/IMG_5272.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCXXdWiaI%2FAAAAAAAAFoo%2F25jUTxyli_g%2Fs72%2FIMG_5272.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCXXdWiaI%2FAAAAAAAAFoo%2F25jUTxyli_g%2FIMG_5272.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCZgr6TqI/AAAAAAAAFos/BnTsJC41f_U/IMG_5274.JPG?imgmax=800" title="" alt=""><img src="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCZgr6TqI/AAAAAAAAFos/BnTsJC41f_U/s72/IMG_5274.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCZgr6TqI%2FAAAAAAAAFos%2FBnTsJC41f_U%2Fs72%2FIMG_5274.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCZgr6TqI%2FAAAAAAAAFos%2FBnTsJC41f_U%2FIMG_5274.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
</tr>
<tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCbz574sI/AAAAAAAAFow/_ibCWD3Owtw/IMG_5276.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCbz574sI/AAAAAAAAFow/_ibCWD3Owtw/s72/IMG_5276.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCbz574sI%2FAAAAAAAAFow%2F_ibCWD3Owtw%2Fs72%2FIMG_5276.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCbz574sI%2FAAAAAAAAFow%2F_ibCWD3Owtw%2FIMG_5276.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCeS2jBRI/AAAAAAAAFo0/kUTewxVs1gI/IMG_5281.JPG?imgmax=800" title="" alt=""><img src="http://lh4.ggpht.com/_LQkGWPbIztw/SwMCeS2jBRI/AAAAAAAAFo0/kUTewxVs1gI/s72/IMG_5281.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCeS2jBRI%2FAAAAAAAAFo0%2FkUTewxVs1gI%2Fs72%2FIMG_5281.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMCeS2jBRI%2FAAAAAAAAFo0%2FkUTewxVs1gI%2FIMG_5281.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMChE1GyRI/AAAAAAAAFo4/0VVLUzRTiV0/IMG_5282.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMChE1GyRI/AAAAAAAAFo4/0VVLUzRTiV0/s72/IMG_5282.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMChE1GyRI%2FAAAAAAAAFo4%2F0VVLUzRTiV0%2Fs72%2FIMG_5282.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMChE1GyRI%2FAAAAAAAAFo4%2F0VVLUzRTiV0%2FIMG_5282.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCjl1hHdI/AAAAAAAAFo8/7Hs7e1YLXEg/IMG_5283.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCjl1hHdI/AAAAAAAAFo8/7Hs7e1YLXEg/s72/IMG_5283.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCjl1hHdI%2FAAAAAAAAFo8%2F7Hs7e1YLXEg%2Fs72%2FIMG_5283.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCjl1hHdI%2FAAAAAAAAFo8%2F7Hs7e1YLXEg%2FIMG_5283.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCmRxa_XI/AAAAAAAAFpE/zFOORpquUrA/IMG_5284.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMCmRxa_XI/AAAAAAAAFpE/zFOORpquUrA/s72/IMG_5284.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCmRxa_XI%2FAAAAAAAAFpE%2FzFOORpquUrA%2Fs72%2FIMG_5284.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMCmRxa_XI%2FAAAAAAAAFpE%2FzFOORpquUrA%2FIMG_5284.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
</tr>
<tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCoXvlxDI/AAAAAAAAFpI/-u0Q_L4bWms/IMG_5291.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMCoXvlxDI/AAAAAAAAFpI/-u0Q_L4bWms/s72/IMG_5291.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCoXvlxDI%2FAAAAAAAAFpI%2F-u0Q_L4bWms%2Fs72%2FIMG_5291.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMCoXvlxDI%2FAAAAAAAAFpI%2F-u0Q_L4bWms%2FIMG_5291.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCqtsH2tI/AAAAAAAAFpM/TKNByh-4x1M/IMG_5292.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCqtsH2tI/AAAAAAAAFpM/TKNByh-4x1M/s72/IMG_5292.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCqtsH2tI%2FAAAAAAAAFpM%2FTKNByh-4x1M%2Fs72%2FIMG_5292.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCqtsH2tI%2FAAAAAAAAFpM%2FTKNByh-4x1M%2FIMG_5292.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCtRKEpbI/AAAAAAAAFpQ/SQkV5bjueiY/IMG_5293.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCtRKEpbI/AAAAAAAAFpQ/SQkV5bjueiY/s72/IMG_5293.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCtRKEpbI%2FAAAAAAAAFpQ%2FSQkV5bjueiY%2Fs72%2FIMG_5293.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCtRKEpbI%2FAAAAAAAAFpQ%2FSQkV5bjueiY%2FIMG_5293.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCv2danRI/AAAAAAAAFpU/6rjJWi51CRQ/IMG_5298.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCv2danRI/AAAAAAAAFpU/6rjJWi51CRQ/s72/IMG_5298.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCv2danRI%2FAAAAAAAAFpU%2F6rjJWi51CRQ%2Fs72%2FIMG_5298.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCv2danRI%2FAAAAAAAAFpU%2F6rjJWi51CRQ%2FIMG_5298.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCymJ3jPI/AAAAAAAAFpY/5Y4HZOdMyPU/IMG_5299.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMCymJ3jPI/AAAAAAAAFpY/5Y4HZOdMyPU/s72/IMG_5299.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCymJ3jPI%2FAAAAAAAAFpY%2F5Y4HZOdMyPU%2Fs72%2FIMG_5299.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMCymJ3jPI%2FAAAAAAAAFpY%2F5Y4HZOdMyPU%2FIMG_5299.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
</tr>
<tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMC1rUHLSI/AAAAAAAAFpg/jD5aLN-v8RI/IMG_5300.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMC1rUHLSI/AAAAAAAAFpg/jD5aLN-v8RI/s72/IMG_5300.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMC1rUHLSI%2FAAAAAAAAFpg%2FjD5aLN-v8RI%2Fs72%2FIMG_5300.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMC1rUHLSI%2FAAAAAAAAFpg%2FjD5aLN-v8RI%2FIMG_5300.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh5.ggpht.com/_LQkGWPbIztw/SwMC4C4ZfJI/AAAAAAAAFpk/VT4VbF02lFU/IMG_5302.JPG?imgmax=800" title="" alt=""><img src="http://lh5.ggpht.com/_LQkGWPbIztw/SwMC4C4ZfJI/AAAAAAAAFpk/VT4VbF02lFU/s72/IMG_5302.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMC4C4ZfJI%2FAAAAAAAAFpk%2FVT4VbF02lFU%2Fs72%2FIMG_5302.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh5.ggpht.com%2F_LQkGWPbIztw%2FSwMC4C4ZfJI%2FAAAAAAAAFpk%2FVT4VbF02lFU%2FIMG_5302.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMC7nKAw0I/AAAAAAAAFpo/LVio-qjacDc/IMG_5305.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMC7nKAw0I/AAAAAAAAFpo/LVio-qjacDc/s72/IMG_5305.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMC7nKAw0I%2FAAAAAAAAFpo%2FLVio-qjacDc%2Fs72%2FIMG_5305.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMC7nKAw0I%2FAAAAAAAAFpo%2FLVio-qjacDc%2FIMG_5305.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh4.ggpht.com/_LQkGWPbIztw/SwMC-G24c3I/AAAAAAAAFps/-YCm6sDj6Dg/IMG_5306.JPG?imgmax=800" title="" alt=""><img src="http://lh4.ggpht.com/_LQkGWPbIztw/SwMC-G24c3I/AAAAAAAAFps/-YCm6sDj6Dg/s72/IMG_5306.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMC-G24c3I%2FAAAAAAAAFps%2F-YCm6sDj6Dg%2Fs72%2FIMG_5306.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh4.ggpht.com%2F_LQkGWPbIztw%2FSwMC-G24c3I%2FAAAAAAAAFps%2F-YCm6sDj6Dg%2FIMG_5306.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMDAlxQkiI/AAAAAAAAFpw/oPshHEApp98/IMG_5309.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMDAlxQkiI/AAAAAAAAFpw/oPshHEApp98/s72/IMG_5309.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMDAlxQkiI%2FAAAAAAAAFpw%2FoPshHEApp98%2Fs72%2FIMG_5309.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMDAlxQkiI%2FAAAAAAAAFpw%2FoPshHEApp98%2FIMG_5309.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
</tr>
<tr>
<td>
<a class="lightboxbe" rel="g1" href="http://lh6.ggpht.com/_LQkGWPbIztw/SwMDC1nPazI/AAAAAAAAFp0/2o0ART7OV0k/IMG_5310.JPG?imgmax=800" title="" alt=""><img src="http://lh6.ggpht.com/_LQkGWPbIztw/SwMDC1nPazI/AAAAAAAAFp0/2o0ART7OV0k/s72/IMG_5310.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMDC1nPazI%2FAAAAAAAAFp0%2F2o0ART7OV0k%2Fs72%2FIMG_5310.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh6.ggpht.com%2F_LQkGWPbIztw%2FSwMDC1nPazI%2FAAAAAAAAFp0%2F2o0ART7OV0k%2FIMG_5310.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDFAGXz7I/AAAAAAAAFp8/WILhvutTy-k/IMG_5311.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDFAGXz7I/AAAAAAAAFp8/WILhvutTy-k/s72/IMG_5311.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDFAGXz7I%2FAAAAAAAAFp8%2FWILhvutTy-k%2Fs72%2FIMG_5311.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDFAGXz7I%2FAAAAAAAAFp8%2FWILhvutTy-k%2FIMG_5311.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDHbniMLI/AAAAAAAAFqA/_YvEynL-4DA/IMG_5312.JPG?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDHbniMLI/AAAAAAAAFqA/_YvEynL-4DA/s72/IMG_5312.JPG" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDHbniMLI%2FAAAAAAAAFqA%2F_YvEynL-4DA%2Fs72%2FIMG_5312.JPG%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDHbniMLI%2FAAAAAAAAFqA%2F_YvEynL-4DA%2FIMG_5312.JPG%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>
<a class="lightboxbe" rel="g1" href="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDIOKDbFI/AAAAAAAAFqE/WWxYbzjMRSs/Sin%20t%C3%ADtulo-1.jpg?imgmax=800" title="" alt=""><img src="http://lh3.ggpht.com/_LQkGWPbIztw/SwMDIOKDbFI/AAAAAAAAFqE/WWxYbzjMRSs/s72/Sin%20t%C3%ADtulo-1.jpg" metadata="%7B%22t%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDIOKDbFI%2FAAAAAAAAFqE%2FWWxYbzjMRSs%2Fs72%2FSin%2520t%25C3%25ADtulo-1.jpg%22%2C%22f%22%3A%22http%3A%2F%2Flh3.ggpht.com%2F_LQkGWPbIztw%2FSwMDIOKDbFI%2FAAAAAAAAFqE%2FWWxYbzjMRSs%2FSin%2520t%25C3%25ADtulo-1.jpg%3Fimgmax%3D800%22%2C%22a%22%3A%22%22%7D" alt=""/></a><p></p></td>
<td>&nbsp;</td>
</tr>
</table><link id="px_editstylesheet" type="text/css" href="http://www.xgodoy.com/wordpress/wp-content/plugins/photoxhibit/photoxhibit.php?option=css&gid=1&1283837503" rel="stylesheet"/><div class="wp-caption alignnone" style="width: 610px"><img title="CLOUG Noviembre 2009" src="http://www.xgodoy.com/wp-content/uploads/2009/11/wsb_704x144_banner_cloug_tom1.gif" alt="CLOUG Noviembre 2009" width="90%" height="90%" /><p class="wp-caption-text">CLOUG Noviembre 2009</p></div>
<p>El 16 de noviembre de 2009 de realizó el segundo evento del Grupo De Usuarios Oracle Chile – CLOUG, este evento contó con la presencia de un gran exponente de Oracle a nivel mundial, el Sr. Tom Kyte de <a href="http://asktom.oracle.com">ASK TOM</a>, los expositores fueron:</p>
<p>• Francisco Muñoz (Chile), organizador del evento junto a Juan Puga. Las presentaciones de Francisco fueron:<br />
           o Tips and Best Practices for DBA<br />
           o Logging or NoLogging: That’s the question!<br />
• Juan Camilo Ruiz (Colombia), presentando:<br />
           o Creating SOA Composite Applications with ADF and SOA Suite 11g.<br />
• Tom Kyte, presentando:<br />
           o All about binding.<br />
           o Reorganizing Objects<br />
           o Top 10, no 11, new features of Oracle database 11g realese 2.<br />
           o All about metadata; why telling the database about your schema matters.</p>
<p>Excelente presentación, un poco agotadora, fueron casi 9 horas seguidas de presentaciones.</p>
<p>Cuando estén disponibles las diapositivas del evento, subiré la documentación.</p>
<p></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/11/18/cloug-noviembre-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoreo db_recovery_file_dest_size</title>
		<link>http://www.xgodoy.com/wordpress/2009/06/08/monitoreo_db_recovery_file_dest_size/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/06/08/monitoreo_db_recovery_file_dest_size/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 21:02:31 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Administración]]></category>
		<category><![CDATA[archivelog mode]]></category>
		<category><![CDATA[habilitar archivelog]]></category>
		<category><![CDATA[Monitoreo db_recovery_file_dest_size]]></category>

		<guid isPermaLink="false">http://www.xgodoy.com/wordpress/?p=229</guid>
		<description><![CDATA[Si la base de datos se encuentra en modo archivelog, es necesario determinar una política de respaldo y eliminación de estos, si los archivelog no son borrados, el espacio configurado para estos puede volverse insuficiente generando incluso que la base de datos se &#8220;congele&#8221; debido a que no puede generar un archivelog. Un error (WARNING) [...]]]></description>
			<content:encoded><![CDATA[<p class="parrafo">Si la base de datos se encuentra en modo archivelog, es necesario determinar una política de respaldo y eliminación de estos, si los archivelog no son borrados, el espacio configurado para estos puede volverse insuficiente generando incluso que la base de datos se &#8220;congele&#8221; debido a que no puede generar un archivelog.</p>
<p class="parrafo">Un error (WARNING) típico que se puede apreciar en el alertlog es:</p>
<p class="Mensaje_sql">ORA-19815: WARNING: db_recovery_file_dest_size of 85899345920 bytes is 100.00% used, and has 0 remaining bytes available.<br />
Mon Mar 30 01:11:02 2009<br />
**********************************************************************<br />
You have following choices to free up space from flash recovery area:<br />
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,<br />
then consider changing RMAN ARCHIVELOG DELETION POLICY.<br />
2. Back up files to tertiary device such as tape using RMAN<br />
BACKUP RECOVERY AREA command.<br />
3. Add disk space and increase db_recovery_file_dest_size parameter to<br />
reflect the new space.<br />
4. Delete unnecessary files using RMAN DELETE command. If an operating<br />
system command was used to delete files, then use RMAN CROSSCHECK and<br />
DELETE EXPIRED commands.<br />
**********************************************************************</p>
<p class="parrafo">En este caso, el WARNING se convierte en un error grave, no hay espacio suficiente (&#8220;100.00% used&#8221;) configurado para la generación de archivelog, luego comienzan errores como:</p>
<p class="Mensaje_sql">Mon Mar 30 01:11:02 2009<br />
Errors in file /u01/app/oracle/db/admin/jimydb/bdump/caefdb2_arc0_10217.trc:<br />
ORA-19809: limit exceeded for recovery files<br />
ORA-19804: cannot reclaim 97741824 bytes disk space from 85899345920 limit<br />
ARC0: Error 19809 Creating archive log file to &#8216;/u02&#8242;<br />
ARCH: Archival stopped, error occurred. Will continue retrying<br />
Mon Mar 30 01:11:02 2009<br />
ORACLE Instance jimydb &#8211; Archival Error<br />
Mon Mar 30 01:11:02 2009<br />
ORA-16038: log 11 sequence# 54433 cannot be archived<br />
ORA-19809: limit exceeded for recovery files<br />
ORA-00312: online log 11 thread 2: &#8216;/u02/jimydb/onlinelog/group_11.315.681334097&#8242;<br />
ORA-00312: online log 11 thread 2: &#8216;/u02/jimydb/onlinelog/group_11.789.681334099&#8242;</p>
<p class="parrafo">Como se puede observar el error es grave, la base de datos ya no puede escribir archivelogs, el error indica que no se puede escribir en el directorio /u02, realmente esto no significa que el directorio no tenga espacio disponible (aunque podría ser causa del error), realmente el error es que se han almacenado archivelog ocupando más espacio que los permitidos por el parametro <em>db_recovery_file_dest_size</em>, para este caso se ha excedido el límite de 80 GB:</p>
<p class="sql">SQL&gt; sho parameters db_recovery_file_dest_size<br />
NAME                                 TYPE       VALUE<br />
db_recovery_file_dest_size           big integer 80G<br />
SQL&gt;</p>
<p class="parrafo">Una salida rápida es el aumento del valor de este parámetro (si el espacio físico y real lo permite):</p>
<p class="sql">SQL&gt; alter system set db_recovery_file_dest_size = 90G scope=both;<br />
System altered.<br />
SQL&gt; sho parameters db_recovery_file_dest_size<br />
NAME                                 TYPE       VALUE<br />
db_recovery_file_dest_size           big integer 90G<br />
SQL&gt;</p>
<p class="parrafo">Listo!, la base de datos comienza a operar nuevamente, la acción inmediata tras esta alteración es eliminar los archivelog (previo respaldo) .</p>
<p class="parrafo">Lo importante es ser proactivo y no esperar a que se congele la base de datos, la siguiente query ayuda a monitorear el espacio disponible en el directorio <em>db_recovery_file_dest</em>  según lo configurado en <em>db_recovery_file_dest_size</em>:</p>
<p class="sql"><span style="font-family: Courier New; font-size: 10px;"><br />
<span style="color: blue; ">SELECT</span><br />
  <span style="color: blue; ">NAME</span> <span style="color: blue; ">AS</span> <span style="color: maroon; ">&#8220;Directorio Raiz Recovery Dest&#8221;</span><span style="color: silver; ">,</span><br />
  <span style="color: maroon; ">space_limit</span><br />
    <span style="color: silver; ">/</span> <span style="color: black; ">1024</span><br />
    <span style="color: silver; ">/</span> <span style="color: black; ">1024</span> <span style="color: blue; ">AS</span> <span style="color: maroon; ">&#8220;Max Espacio Configurado [MB]&#8220;</span><span style="color: silver; ">,</span><br />
  <span style="color: #FF0080; font-weight: bold; ">TRUNC</span><span style="color: maroon; ">(</span><span style="color: maroon; ">space_used</span><br />
          <span style="color: silver; ">/</span> <span style="color: black; ">1024</span><br />
          <span style="color: silver; ">/</span> <span style="color: black; ">1024</span><span style="color: silver; ">,</span><span style="color: black; ">2</span><span style="color: maroon; ">)</span> <span style="color: blue; ">AS</span> <span style="color: maroon; ">&#8220;Espacio Utilizado [MB]&#8220;</span><span style="color: silver; ">,</span><br />
  <span style="color: maroon; ">number_of_files</span> <span style="color: blue; ">AS</span> <span style="color: maroon; ">&#8220;Cantidad De Archivos&#8221;</span><span style="color: silver; ">,</span><br />
  <span style="color: #FF0080; font-weight: bold; ">TRUNC</span><span style="color: maroon; ">(</span><span style="color: maroon; ">space_used</span><br />
          <span style="color: silver; ">*</span> <span style="color: black; ">100</span><br />
          <span style="color: silver; ">/</span> <span style="color: maroon; ">space_limit</span><span style="color: silver; ">,</span><span style="color: black; ">2</span><span style="color: maroon; ">)</span> <span style="color: blue; ">AS</span> <span style="color: maroon; ">&#8220;% Utilizado Recovery Dest&#8221;</span><br />
<span style="color: blue; ">FROM</span><br />
  <span style="color: maroon; ">v$recovery_file_dest</span><span style="color: silver; ">;</span><br />
</span></p>
<p class="subtitulo">Resultado:</p>
<p align="center"><img longdesc="Monitoreo db_recovery_file_dest_size" src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/monitoreo-db_recovery_file_dest_size.jpg" alt="monitoreo db recovery file dest size Monitoreo db recovery file dest size " width="500" height="25" title="Monitoreo db recovery file dest size " /></p>
<p class="parrafo">El resultado muestra:</p>
<p class="parrafo"><strong>Directorio Raiz Recovery Dest:</strong> Directorio donde se generan los archivelog. Se puede revisar con <em>&#8220;show parameters db_recovery_file_dest&#8221;</em> .</p>
<p class="parrafo"><strong>Max Espacio Configurado [MB]:</strong> Espacio configurado el parametro <em>db_recovery_file_dest_size</em> y que significa el máximo espacio asignado para archivelog.</p>
<p class="parrafo"><strong>Espacio Utilizado [MB]:</strong> Espacio utilizado del directorio <em>db_recovery_file_dest</em>.</p>
<p class="parrafo"><strong>Cantidad De Archivos:</strong> Cantidad de archivelog que actualmente residen es el directorio <em>db_recovery_file_dest</em>.</p>
<p class="parrafo"><strong>% Utilizado Recovery Dest:</strong> Porcentaje del espacio total utilizado por archivelog en el directorio <em>db_recovery_file_dest</em>.</p>
<p class="parrafo"><a href="http://www.megaupload.com/?d=QZ5JKATN" target="_blank"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/pdf.gif" alt="pdf Monitoreo db recovery file dest size " width="16" height="18" title="Monitoreo db recovery file dest size " />Descargar Articulo Completo Formato PDF </a></p>
<p class="subtitulo"> </p>
<p class="subtitulo">Saludos!<br />
Jimy Godoy</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.xgodoy.com/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p><h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"><li class="related-post"><a href="http://www.xgodoy.com/wordpress/2009/04/19/modo-archivelog/">Modo ArchiveLog</a> <span class="related-post-date timestamp">Sun 19 Apr 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/06/08/monitoreo_db_recovery_file_dest_size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UNDO Monitoreo, Mantenimiento y Tunning. 10gR2</title>
		<link>http://www.xgodoy.com/wordpress/2009/06/01/undo-monitoreo-mantenimiento-y-tunning-10gr2/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/06/01/undo-monitoreo-mantenimiento-y-tunning-10gr2/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 22:31:17 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Administración]]></category>
		<category><![CDATA[Mantenimiento Undo]]></category>
		<category><![CDATA[Monitoreo Undo]]></category>
		<category><![CDATA[Reducir Undo]]></category>
		<category><![CDATA[Tunning Undo]]></category>
		<category><![CDATA[Undo]]></category>

		<guid isPermaLink="false">http://oracleroot.wordpress.com/?p=183</guid>
		<description><![CDATA[El crecimiento indiscriminado del tablespace de UNDO puede volverse un gran problema, además de indicarnos que algo no anda bien  un UNDO muy pequeño puede significar que ciertas instrucciones no terminen correctamente, en este articulo formas para monitorear el UNDO, mantenerlo y realizar tunning sobre este.]]></description>
			<content:encoded><![CDATA[<p class="parrafo">El crecimiento indiscriminado  del tablespace de UNDO puede volverse un gran problema, adem&aacute;s de indicarnos  que algo no anda bien, por otro lado un UNDO muy peque&ntilde;o puede significar que  ciertas instrucciones no terminen correctamente arrojando el siguiente error: </p>
<div class="Mensaje_sql">
<p>ORA-01555 snapshot too  old: rollback segment number [string] with name &quot;[string]&quot; too small</p>
</div>
<p class="parrafo">A  continuaci&oacute;n algunas formas para monitorear el estado del UNDO, las  transacciones que m&aacute;s UNDO requieren y t&eacute;cnicas para setear el tama&ntilde;o m&aacute;s  adecuado. </p>
<p class="parrafo">Primero  revisaremos los par&aacute;metros referentes al UNDO:</p>
<div class="sql">
  SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  integer&nbsp;&nbsp;&nbsp;&nbsp; 900<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1<br />
    SQL&gt;</p>
</div>
<p class="parrafo"><strong>UNDO_MANAGEMENT</strong>: Par&aacute;metro din&aacute;mico (<em>alter  system set undo_management = &lt;valor&gt;) </em>disponible desde 9i y que  libera a los DBA de la administraci&oacute;n y monitoreo del UNDO. </p>
<p class="parrafo"><strong>UNDO_RETENTION</strong>: Par&aacute;metro din&aacute;mico (<em>alter system set undo_retention= &lt;valor&gt;) </em>que indica en segundos&nbsp; (por defecto 900) cuanto tiempo ha de  permanecer, al menos, la informaci&oacute;n de UNDO disponible. </p>
<p class="parrafo"><strong>UNDO_TABLESPACE:</strong>Par&aacute;metro din&aacute;mico (<em>alter  system &#8230;</em>) que indica el  espacio de almacenamiento de &ldquo;UNDO&rdquo; a usar en el arranque. Si se indica en modo  manual, provoca error y falla el arranque.</p>
<p class="parrafo">Para este caso setearemos la retenci&oacute;n de UNDO  a 600 segundos:</p>
<div class="sql">
<p>SQL&gt; alter system set undo_retention=600;</p>
</div>
<p class="subtitulo"><strong>Segmentos de  UNDO</strong></p>
<p class="parrafo">Con  la siguiente query podemos ver el estado de los segmentos de UNDO:</p>
<div class="sql">
<font style="font-family:'Courier New', Courier, monospace; font-size:11px;"><br />
<font color = "blue">SELECT</font>&nbsp;<font color = "blue">SYSDATE</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">fecha</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">unexpired</font><font color = "silver">.</font><font color = "maroon">unexpired</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">expired</font><font color = "silver">.</font><font color = "maroon">expired</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">active</font><font color = "silver">.</font><font color = "maroon">active</font><br />
<font color = "blue">FROM</font>&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font>&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">bytes</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">unexpired</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font>&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_undo_extents</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHERE</font>&nbsp;&nbsp;<font color = "maroon">status</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;UNEXPIRED&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">unexpired</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font>&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">bytes</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">104</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">expired</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font>&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_undo_extents</font>&nbsp;<font color = "maroon">tr</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHERE</font>&nbsp;&nbsp;<font color = "maroon">status</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;EXPIRED&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">expired</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font>&nbsp;<font color = "blue">CASE</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHEN</font>&nbsp;<font color = "#FF0080"><b>Count</font></b><font color = "maroon">(</font><font color = "maroon">status</font><font color = "maroon">)</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "black">0</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">THEN</font>&nbsp;<font color = "black">0</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ELSE</font>&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">bytes</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><font color = "maroon">)</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">END</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">active</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font>&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_undo_extents</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHERE</font>&nbsp;&nbsp;<font color = "maroon">status</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;ACTIVE&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">active</font></font></div>
<p class="parrafo">Por ejemplo  el resultado para esta prueba es:</p>
<p class="parrafo">Resultado:</p>
<div align="center" >
<p>  <img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/01_undo_tunning_monitoreo.jpg" width="311" height="40" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="01 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Donde,</p>
<p class="parrafo"><strong>UNEXPIRED</strong> significa que estos segmentos de UNDO no contienen ninguna transacci&oacute;n activa,  pero estos contienen transacciones que todav&iacute;a son requeridos para FLASHBACK.<br />
    <strong>EXPIRED</strong> significa que  estos segmentos no son requeridos despu&eacute;s del periodo de retenci&oacute;n definido en <em>undo_retention</em>.<br />
    <strong>ACTIVE </strong>significa que  estos segmentos de UNDO contienen transacciones activas, o sea, no se ha realizado  commit.</p>
<p class="parrafo">Los valores son en MB. &nbsp;He creado una  tabla llamada <strong>undo_utilizado</strong> donde se guarda el retorno  de esta query cada 20 segundos para luego realizar un a an&aacute;lisis m&aacute;s fino. </p>
<p class="parrafo">Por ejemplo ejecutaremos un  insert sin dar commit:</p>
<div class="sql">
<p>SQL&gt; set time on<br />
  17:39:04 SQL&gt;<br />
  17:39:06 SQL&gt;<br />
  17:39:06 SQL&gt; @insert.sql<br />
  547306 rows created.</p>
<p>17:39:15 SQL&gt;</p>
</div>
<p class="parrafo">El  comportamiento de los segmentos de UNDO es:</p>
<div class="sql">
<p><span style="color: blue; ">SELECT</span>&nbsp;&nbsp;&nbsp;<span style="color: silver; ">*</span> <br />
      <span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">test</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_utilizado</span> <br />
  <span style="color: blue; ">ORDER</span>&nbsp;<span style="color: blue; ">BY</span>&nbsp;<span style="color: maroon; ">fecha</span>&nbsp;<span style="color: blue; ">DESC</span><span style="color: silver; ">;</span></p>
</div>
<p class="parrafo">Resultado:</p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/02_undo_tunning_monitoreo.jpg" width="311" height="117" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="02 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Como  se puede observar, actualmente existen 2,9375 MB de segmentos en estado ACTIVE  y 0,0625 MB en estado UNEXPIRED. Si ejecutamos un commit para la sesi&oacute;n ocurre  lo siguiente:</p>
<div class="sql">
<p>17:44:59 SQL&gt; commit;</p>
<p>Commit complete.</p>
<p>17:45:01 SQL&gt;</p>
</div>
<p>&nbsp;</p>
<div class="sql">
<p><span style="color: blue; ">SELECT</span>&nbsp;&nbsp;&nbsp;<span style="color: silver; ">*</span> <br />
      <span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">test</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_utilizado</span> <br />
  <span style="color: blue; ">ORDER</span>&nbsp;<span style="color: blue; ">BY</span>&nbsp;<span style="color: maroon; ">fecha</span>&nbsp;<span style="color: blue; ">DESC</span><span style="color: silver; ">;</span></p>
</div>
<p class="parrafo">Resultado:</p>
<div align="center" >
<p><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/03_undo_tunning_monitoreo.jpg" width="311" height="118" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="03 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></p>
</div>
<p class="parrafo">Como  se puede observar, luego de realizar commit, ya no existen segmentos en estado  ACTIVE y estos pasaron a ser segmentos en estado UNEXPIRED.</p>
<p class="parrafo">En  el tablespace de UNDO, los segmentos en estado UNEXPIRED significan espacio  utilizado.</p>
<p class="parrafo">Un  an&aacute;lisis de lo ocurrido con el siguiente grafico:</p>
<div align="center" >
<p><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/04_undo_tunning_monitoreo.jpg" width="505" height="295" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="04 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></p>
</div>
<p class="parrafo">En  el grafico podemos identificar los siguientes eventos:</p>
<ul class="parrafo">
<li>
<p>17:39:06, aumento segmentos en estado <strong>ACTIVE</strong> de 0 MB a 2,9375 MB, esto debido  a la instrucci&oacute;n de insert realizada. El insert tard&oacute; 11 segundos.</p>
</li>
<li>
<p>17:44:59, aumento de segmentos en estado <strong>UNEXPIRED</strong> de 0,0625 MB a 3 MB y  disminuci&oacute;n de segmentos en estado <strong>ACTIVE</strong> de 2,9375 MB a 0 MB, esto debido a la instrucci&oacute;n de commit realizada en ese  instante.</p>
</li>
<li>
<p>17:55:43, Disminuci&oacute;n de segmentos en estado <strong>UNEXPIRED</strong> de 2,9375 MB a 1,0625 MB y aumento de segmentos en estado <strong>EXPIRED</strong> de 10,1875 MB a 12,0625 MB.  Esto debido a lo comprometido en el par&aacute;metro undo_retention.</p>
</li>
</ul>
<p class="parrafo">Podemos  concluir que al gatillar el insert comienzan a ocuparse segmento de undo y  quedan en estado activo (consume espacio en tablespace de UNDO), estos  segmentos quedan en estado activo hasta que se gatille un commit pasando a  quedar estos segmentos en estado UNEXPIRED (se sigue consumiendo espacio en  tablespace de UNDO), luego de un tiempo (determinado por el undo_retention) los  segmentos en estado UNEXPIRED pasan a estado EXPIRED liberando espacio en  tablespace de UNDO.</p>
<p class="parrafo">OJO!,  no siempre el tiempo de retenci&oacute;n en el UNDO es el definido en par&aacute;metro  undo_retention, el tiempo de retenci&oacute;n es calculado autom&aacute;ticamente por el  motor en periodos de 10 minutos, esto se puede verificar en la vista v$undostat,  la forma de auto calcular el tiempo de retenci&oacute;n es basado en un porcentaje del  tama&ntilde;o de tablaspace UNDO. </p>
<p class="parrafo">Para  verificar, la siguiente prueba:</p>
<div class="sql">
<p>09:38:39 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  integer&nbsp;&nbsp;&nbsp;&nbsp; 600<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1</p>
<p>09:38:46 SQL&gt; alter system set undo_retention=60;</p>
<p>System altered.</p>
<p>09:38:59 SQL&gt;</p>
</div>
<p class="parrafo">El <em>undo_retention</em> estaba definido en 900  segundos, se modific&oacute; a 60 segundos. Luego para la prueba ejecutaremos un  insert:</p>
<div class="sql">
<p>09:42:33 SQL&gt; @insert.sql</p>
<p>1252775 rows created.</p>
<p>09:42:48 SQL&gt; commit;</p>
<p>Commit complete.</p>
<p>09:43:31 SQL&gt;</p>
</div>
<p class="parrafo">Lo  esperado es que la retenci&oacute;n de segmentos en estado UNEXPIRED no supere los 60  segundos. Un an&aacute;lisis de lo ocurrido con el siguiente grafico:</p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/05_undo_tunning_monitoreo.jpg" width="505" height="289" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="05 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Como  se puede ver en el grafico, los segmentos de UNDO en estado UNEXPIRED se  mantuvieron por 600 segundos y no por 60 como se hab&iacute;a seteado en <em>undo_retention. </em>La no utilizaci&oacute;n del  tiempo determinado en undo_retention se debe al valor de retenci&oacute;n calculado  mor el motor y que es posible verificar en la vista v$undostat:</p>
<div class="sql">
<p >
  <span style="color: blue; ">SELECT</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">begin_time</span><span style="color: silver; ">,</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">end_time</span><span style="color: silver; ">,</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">tuned_undoretention</span><br />
  <span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$undostat</span><br />
  <span style="color: blue; ">WHERE</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">begin_time</span>&nbsp;<span style="color: blue; ">BETWEEN</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_date</span><span style="color: maroon; ">(</span><span style="color: red; ">&#8217;20/05/2009&nbsp;09:30:00&#8242;</span><span style="color: silver; ">,</span><span style="color: red; ">&#8216;dd/mm/yyyy&nbsp;hh24:mi:ss&#8217;</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_date</span><span style="color: maroon; ">(</span><span style="color: red; ">&#8217;20/05/2009&nbsp;09:55:00&#8242;</span><span style="color: silver; ">,</span><span style="color: red; ">&#8216;dd/mm/yyyy&nbsp;hh24:mi:ss&#8217;</span><span style="color: maroon; ">)</span><br />
  <span style="color: blue; ">ORDER</span>&nbsp;<span style="color: blue; ">BY</span>&nbsp;<span style="color: maroon; ">begin_time</span>&nbsp;<span style="color: blue; ">DESC</span></p>
</div>
<p class="parrafo">El resultado es:</p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/06_undo_tunning_monitoreo.jpg" width="441" height="79" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="06 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Como  se puede observar, el periodo de undo_retention calculado por el motor es de  600 segundos.</p>
<p class="parrafo">Para  reparar esto, es necesario incorporar una variable oculta en el init.ora de la  base de datos que inhibe la utilizaci&oacute;n del TUNED_UNDORETENTION. Es necesario  setear en el init.ora el siguiente par&aacute;metro:</p>
<div class="shell">
<p>_undo_autotune = false</p>
</div>
<p class="parrafo">O en  spfile:</p>
<div class="shell">
<p>alter  system set &quot;_undo_autotune&quot; = false;</p>
</div>
<p class="parrafo">Con  esta configuraci&oacute;n, el TUNED_UNDORETENTION no es actualizado, luego el tiempo  de retenci&oacute;n de UNDO que se utilizar&aacute; es el especificado en undo_retention.</p>
<p class="parrafo">Repetiremos  el ejemplo:</p>
<p class="parrafo">Seteamos  el par&aacute;metro:</p>
<div class="sql">
<p>10:51:00 SQL&gt; Alter  system set &quot;_undo_autotune&quot; = false;</p>
<p>System altered.</p>
<p>10:51:06 SQL&gt; sho  parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 60<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1<br />
    10:52:09 SQL&gt;</p>
</div>
<p class="parrafo">Se  ejecuta un insert:</p>
<div class="sql">
<p>10:56:12 SQL&gt; @insert.sql</p>
<p>1252775 rows created.</p>
<p>10:56:29 SQL&gt;<br />
    10:56:54 SQL&gt; commit;</p>
<p>Commit complete.</p>
<p>10:56:57 SQL&gt;</p>
</div>
<p class="parrafo">Lo  esperado es que la retenci&oacute;n de segmentos en estado UNEXPIRED no supere los 60  segundos. Un an&aacute;lisis de lo ocurrido con el siguiente grafico: </p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/07_undo_tunning_monitoreo.jpg" width="505" height="290" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="07 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Como  se puede ver en el grafico, los segmentos de UNDO en estado UNEXPIRED se  mantuvieron por 60 segundos, tal como lo indicado en el par&aacute;metro <em>undo_retention.</em></p>
<p class="subtitulo"><strong>Transacciones  que requieren UNDO</strong></p>
<p class="parrafo">Es  posible monitorear que transacciones est&aacute;n ocupando segmentos de UNDO y/o  generando bloqueos debido a falta de commit o rollback. Con la siguiente query se  puede revisar que transacciones est&aacute;n requiriendo UNDO activamente:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: maroon; ">v$transaction</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">status_transaccion</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">start_time</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">logon_time</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">blocking_session_status</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">schemaname</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">machine</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">program</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">module</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$sqlarea</span><span style="color: silver; ">.</span><span style="color: maroon; ">sql_text</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">serial#</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">sid</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">username</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$session</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span> <span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">status_sesion</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">sql_id</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">prev_sql_id</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$transaction</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">INNER</span>&nbsp;<span style="color: blue; ">JOIN</span>&nbsp;<span style="color: maroon; ">v$session</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">ON</span>&nbsp;<span style="color: maroon; ">v$transaction</span><span style="color: silver; ">.</span><span style="color: maroon; ">ses_addr</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">v$session</span><span style="color: silver; ">.</span><span style="color: maroon; ">saddr</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">LEFT</span>&nbsp;<span style="color: blue; ">JOIN</span>&nbsp;<span style="color: maroon; ">v$sqlarea</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">ON</span>&nbsp;<span style="color: maroon; ">v$session</span><span style="color: silver; ">.</span><span style="color: maroon; ">sql_id</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">v$sqlarea</span><span style="color: silver; ">.</span><span style="color: maroon; ">sql_id</span></span></div>
<p class="parrafo">Por  ejemplo ejecutaremos un insert sin dar commit:</p>
<div class="sql">
<p>14:56:20 SQL&gt; @insert.sql</p>
<p>4378448 rows created.</p>
<p>15:01:04 SQL&gt;</p>
</div>
<p class="parrafo">Al  ejecutar la consulta, el resultado es el siguiente (por cuestiones de  presentaci&oacute;n el resultado se presenta de manera transpuesta): </p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/08_undo_tunning_monitoreo.jpg" width="505" height="225" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="08 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Donde,</p>
<p class="parrafo"><strong>LOGON_TIME</strong>, es la fecha y  hora en que se ejecut&oacute; la instrucci&oacute;n.<br />
    <strong>BLOCKING_SESSION_STATUS</strong>, indica si la  sesi&oacute;n est&aacute; bloqueando a otra sesi&oacute;n.<br />
    <strong>SCHEMANAME</strong>, schema que  ejecut&oacute; la instrucci&oacute;n.<br />
    <strong>MACHINE</strong>, nombre de la maquina desde donde se est&aacute;  ejecutando la instrucci&oacute;n.<br />
    <strong>PROGRAM</strong>, programa desde donde se ejecuta la instrucci&oacute;n.<br />
    <strong>MODULE</strong>, modulo desde donde se ejecuta la instrucci&oacute;n.<br />
    <strong>SQL_TEXT</strong>, instrucci&oacute;n SQL ejecutada.<br />
    <strong>SERIAL#</strong>, Serial number de la sesi&oacute;n que est&aacute; ejecutando  la instrucci&oacute;n.<br />
    <strong>SID</strong>, sesi&oacute;n Id de la sesi&oacute;n que est&aacute; ejecutando la  instrucci&oacute;n.<br />
    <strong>USERNAME</strong>, usuario que ejecut&oacute; la instrucci&oacute;n.<br />
    <strong>STATUS_SESION</strong>, estado de la  sesi&oacute;n. ACTIVE si se est&aacute; ejecutando alguna instrucci&oacute;n, INCATIVE si ya se  ejecut&oacute; la instrucci&oacute;n y no est&aacute; realizando ninguna operaci&oacute;n.<br />
    <strong>SQL_ID</strong>, ID de la instrucci&oacute;n SQL que se est&aacute;  ejecutando.<br />
    <strong>PREV_SQL_ID</strong>, ID de la  instrucci&oacute;n SQL previa a la que se est&aacute; ejecutando.</p>
<p class="parrafo">Al ejecutar un  commit:</p>
<div class="sql">
<p>16:18:32  SQL&gt; commit;</p>
<p>Commit  complete.</p>
<p>16:18:51  SQL&gt;</p>
</div>
<p class="parrafo">El resultado es el siguiente:</p>
<div align="center" >
<img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/09_undo_tunning_monitoreo.jpg" width="199" height="254" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="09 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">O sea, no  aparecen transacciones activas.</p>
<p class="parrafo">Una o varias  transacciones activas que no ejecuten un commit, pueden significar utilizaci&oacute;n  de una gran cantidad de segmentos de UNDO provocando utilizaci&oacute;n de espacio en  tablespace de UNDO.</p>
<p class="parrafo"><strong>Calculo UNDO_RETENTION &nbsp;&oacute;ptimo</strong></p>
<p class="parrafo">Es posible  setear seg&uacute;n las estad&iacute;sticas de la base de datos&nbsp; los &oacute;ptimos para el tama&ntilde;o de tablespace de  UNDO y el par&aacute;metro undo_retention.</p>
<p class="parrafo">El  undo_retention es calculado seg&uacute;n el tama&ntilde;o del tablespace de UNDO, por  ejemplo, si contamos con limitaciones de storage y el m&aacute;ximo tama&ntilde;o del  tablespace de UNDO es limitado, es posible calcular el undo_retention optimo  para no superar el tama&ntilde;o de tablespace definido con la siguiente f&oacute;rmula:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/10_undo_tunning_monitoreo.jpg" width="481" height="113" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="10 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Para realizar  este c&aacute;lculo es necesario contar con las estad&iacute;sticas de v$undostat, luego para  esta prueba es necesario habilitar el undo_autotune de la siguiente forma:</p>
<p class="parrafo">Es  necesario setear en el init.ora el siguiente par&aacute;metro:</p>
<div class="shell">
<p>_undo_autotune = true</p>
</div>
<p class="parrafo">O en  spfile:</p>
<div class="shell">
<p>alter  system set &quot;_undo_autotune&quot; = true;</p>
</div>
<p class="parrafo">Adem&aacute;s se  recomienda que las estad&iacute;sticas que se toman en v$undostat sean de un tiempo  representativo, de este modo no se queda ninguna query fuera del proceso. Por  ejemplo, si fue reiniciada la base de datos hace algunos minutos, las  estad&iacute;sticas no ser&aacute;n de mucha ayuda, la idea es que la base de datos est&eacute;  activa y tomando estad&iacute;sticas m&iacute;nimo un d&iacute;a o el tiempo suficiente para que se  ejecuten todos los procesos de negocio que&nbsp;  debe soportar el servicio.</p>
<p class="parrafo">Para la prueba,  se activar&aacute; el autotune de la base de datos:</p>
<div class="sql">
<p>10:11:41 SQL&gt; alter system set &quot;_undo_autotune&quot; = true;</p>
<p>System altered.</p>
<p>10:11:43 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  boolean&nbsp;&nbsp;&nbsp;&nbsp; TRUE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 60<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1<br />
    10:11:53 SQL&gt;</p>
</div>
<p class="parrafo">La siguiente  query entrega los datos necesarios para calcular el <em>undo_retention</em> &oacute;ptimo:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;Tamaño&nbsp;Tablespace&nbsp;UNDO&nbsp;Actual&#8217;</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">Sum</span><span style="color: maroon; ">(a</span><span style="color: silver; ">.</span><span style="color: maroon; ">bytes)</span> <span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$datafile</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$tablespace</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">dba_tablespaces</span>&nbsp;<span style="color: maroon; ">c</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">contents</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;UNDO&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;ONLINE&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">tablespace_name</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span><br />
<span style="color: blue; ">UNION</span>&nbsp;<span style="color: blue; ">ALL</span><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;Bloques&nbsp;UNDO&nbsp;por&nbsp;segundo&#8217;</span> <span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">Max</span><span style="color: maroon; ">(</span><span style="color: maroon; ">undoblks</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: maroon; ">(</span><span style="color: maroon; ">end_time</span>&nbsp;<span style="color: silver; ">-</span>&nbsp;<span style="color: maroon; ">begin_time</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">3600</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">24</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$undostat</span><br />
<span style="color: blue; ">UNION</span>&nbsp;<span style="color: blue; ">ALL</span><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;Tamaño&nbsp;Bloque&nbsp;de&nbsp;Base&nbsp;De&nbsp;Datos&#8217;</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span> <span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;db_block_size&#8217;</span></span></div>
<p class="parrafo">El resultado es el siguiente:</p>
<div align="center" class="parrafo"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/11_undo_tunning_monitoreo.jpg" width="351" height="79" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="11 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">O sea, el tama&ntilde;o  del Tablespace de UNDO es 1.3 GB, la cantidad m&aacute;xima de bloques por segundo es  95 bloques y el tama&ntilde;o de un bloque es 8 KB. Luego el <em>undo_retention</em> optimo es:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/12_undo_tunning_monitoreo.jpg" width="299" height="62" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="12 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p></p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/13_undo_tunning_monitoreo.jpg" width="325" height="61" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="13 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Con la siguiente  queda simplificado el c&aacute;lculo a una sola query:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: maroon; ">d</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_size</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: black; ">1024</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">1024</span><span style="color: maroon; ">) &quot;ACTUAL&nbsp;UNDO&nbsp;SIZE&nbsp;[MByte]&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">Substr</span><span style="color: maroon; ">(e</span><span style="color: silver; ">.</span><span style="color: blue; ">VALUE</span><span style="color: silver; ">,</span><span style="color: black; ">1</span><span style="color: silver; ">,</span><span style="color: black; ">25</span><span style="color: maroon; ">) &quot;ACTUAL&nbsp;UNDO&nbsp;RETENTION&nbsp;[Sec]&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: fuchsia; font-style: italic; ">Round</span><span style="color: maroon; ">(</span><span style="color: maroon; ">(</span><span style="color: maroon; ">d</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_size</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: maroon; ">f</span><span style="color: silver; ">.</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: maroon; ">g</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_block_per_sec</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">&quot;UNDO&nbsp;RETENTION&nbsp;OPTIMO&nbsp;[Sec]&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">(</span><span style="color: blue; ">SELECT</span>&nbsp;<span style="color: fuchsia; font-style: italic; ">Sum</span><span style="color: maroon; ">(</span><span style="color: maroon; ">a</span><span style="color: silver; ">.</span><span style="color: maroon; ">bytes</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">undo_size</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$datafile</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$tablespace</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">dba_tablespaces</span>&nbsp;<span style="color: maroon; ">c</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">contents</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;UNDO&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;ONLINE&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: maroon; ">name</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">tablespace_name</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">d</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span>&nbsp;<span style="color: maroon; ">e</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span>&nbsp;<span style="color: maroon; ">f</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">(</span><span style="color: blue; ">SELECT</span>&nbsp;<span style="color: fuchsia; font-style: italic; ">Max</span><span style="color: maroon; ">(</span><span style="color: maroon; ">undoblks</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: maroon; ">(</span><span style="color: maroon; ">end_time</span>&nbsp;<span style="color: silver; ">-</span>&nbsp;<span style="color: maroon; ">begin_time</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">3600</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">24</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">undo_block_per_sec</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$undostat</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">g</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">e</span><span style="color: silver; ">.</span><span style="color: maroon; ">name</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;undo_retention&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">f</span><span style="color: silver; ">.</span><span style="color: maroon; ">name</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;db_block_size&#8217;</span></span></div>
<p class="parrafo">El resultado de  esta es:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/14_undo_tunning_monitoreo.jpg" width="505" height="37" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="14 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Para modificar  el undo_retention de la base de datos y no superar en tama&ntilde;o los 1.3 GB del  Tablespace de UNDO es necesario setear el undo_retention a 1831 segundos:</p>
<div class="sql">
<p>11:50:38 SQL&gt; alter system set undo_retention=1831;</p>
<p>System altered.</p>
<p>11:50:53 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  boolean&nbsp;&nbsp;&nbsp;&nbsp; TRUE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 1831<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;UNDOTBS1<br />
    11:50:59  SQL&gt;</p>
</div>
<p class="parrafo">Ahora, si no  existen problemas de storage, o sea, el Tablespace de UNDO puede crecer aun m&aacute;s  y se requiere un tiempo de retenci&oacute;n mayor, es necesario calcular el tama&ntilde;o del  tablespace de UNDO &oacute;ptimo dependiendo del undo_retention que se requiera  setear.</p>
<p class="parrafo">Por ejemplo,  digamos que se requiere un tiempo de retenci&oacute;n igual a 3000 segundos:</p>
<div class="sql">
<p>12:00:34 SQL&gt; alter system set undo_retention=3000;</p>
<p>System altered.</p>
<p>12:00:46 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  boolean&nbsp;&nbsp;&nbsp;&nbsp; TRUE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 3000<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1<br />
    12:00:52  SQL&gt;</p>
</div>
<p class="parrafo">El tama&ntilde;o &oacute;ptimo del tablespace de UNDO para  esta retenci&oacute;n se da por la siguiente f&oacute;rmula:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/15_undo_tunning_monitoreo.jpg" width="505" height="66" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="15 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">La siguiente query entrega los datos necesarios para calcular el tama&ntilde;o tablespace UNDO  &oacute;ptimo:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;undo_retention&#8217;</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;undo_retention&#8217;</span><br />
<span style="color: blue; ">UNION</span>&nbsp;<span style="color: blue; ">ALL</span><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;Bloques&nbsp;UNDO&nbsp;por&nbsp;segundo&#8217; </span><span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">Max</span><span style="color: maroon; ">(</span><span style="color: maroon; ">undoblks</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: maroon; ">(</span><span style="color: maroon; ">end_time</span>&nbsp;<span style="color: silver; ">-</span>&nbsp;<span style="color: maroon; ">begin_time</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">3600</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">24</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$undostat</span><br />
<span style="color: blue; ">UNION</span>&nbsp;<span style="color: blue; ">ALL</span><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: red; ">&#8216;Tamaño&nbsp;Bloque&nbsp;de&nbsp;Base&nbsp;De&nbsp;Datos&#8217;</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Parametro&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span> <span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Valor&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;db_block_size&#8217;</span></span></div>
<p class="parrafo">El resultado de esta es la siguiente:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/16_undo_tunning_monitoreo.jpg" width="257" height="79" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="16 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">O sea, el undo_retention  es 3000 segundos, la cantidad m&aacute;xima de bloques por segundo es 95 bloques y el  tama&ntilde;o de un bloque es 8 KB. Luego el tama&ntilde;o de tablespace UNDO optimo es: </p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/17_undo_tunning_monitoreo.jpg" width="291" height="69" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="17 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p></p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/18_undo_tunning_monitoreo.jpg" width="233" height="68" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="18 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Con la siguiente  queda simplificado el c&aacute;lculo a una sola query:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">Substr</span><span style="color: maroon; ">(e</span><span style="color: silver; ">.</span><span style="color: blue; ">VALUE</span><span style="color: silver; ">,</span><span style="color: black; ">1</span><span style="color: silver; ">,</span><span style="color: black; ">25</span><span style="color: maroon; ">) &quot;UNDO&nbsp;RETENTION&nbsp;[Sec]&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">d</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_size</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: black; ">1024</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">1024</span><span style="color: maroon; ">) &quot;Tamaño&nbsp;Actual&nbsp;UNDO&nbsp;[MByte]&quot;</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">(</span><span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: maroon; ">e</span><span style="color: silver; ">.</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">To_number</span><span style="color: maroon; ">(</span><span style="color: maroon; ">f</span><span style="color: silver; ">.</span><span style="color: blue; ">VALUE</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: maroon; ">g</span><span style="color: silver; ">.</span><span style="color: maroon; ">undo_block_per_sec</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: black; ">1024</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">1024</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">&quot;Tamaño&nbsp;Optimo&nbsp;UNDO&nbsp;[MByte]&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">(</span><span style="color: blue; ">SELECT</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">Sum</span><span style="color: maroon; ">(</span><span style="color: maroon; ">a</span><span style="color: silver; ">.</span><span style="color: maroon; ">bytes</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">undo_size</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$datafile</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$tablespace</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">dba_tablespaces</span>&nbsp;<span style="color: maroon; ">c</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">contents</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;UNDO&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;ONLINE&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">c</span><span style="color: silver; ">.</span><span style="color: maroon; ">tablespace_name</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">a</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">b</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">d</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span>&nbsp;<span style="color: maroon; ">e</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$parameter</span>&nbsp;<span style="color: maroon; ">f</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">(</span><span style="color: blue; ">SELECT</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">Max</span><span style="color: maroon; ">(</span><span style="color: maroon; ">undoblks</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: maroon; ">(</span><span style="color: maroon; ">(</span><span style="color: maroon; ">end_time</span>&nbsp;<span style="color: silver; ">-</span>&nbsp;<span style="color: maroon; ">begin_time</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">3600</span>&nbsp;<span style="color: silver; ">*</span>&nbsp;<span style="color: black; ">24</span><span style="color: maroon; ">)</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">undo_block_per_sec</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$undostat</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: maroon; ">g</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">e</span><span style="color: silver; ">.</span><span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;undo_retention&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">f</span><span style="color: silver; ">.</span><span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;db_block_size&#8217;</span></span></div>
<p class="parrafo">El resultado de esta es:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/19_undo_tunning_monitoreo.jpg" width="505" height="38" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="19 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Luego, solo es necesario modificar el tama&ntilde;o del datafile asociado al  tablespace de UNDO a 2227 MB.</p>
<div class="sql">
<p>ALTER DATABASE  DATAFILE &#8216;/u02/oradata/jimydb/undotbs01.dbf&#8217; RESIZE 2227M;</p>
</div>
<p></p>
<p class="subtitulo"><strong>Reducir Tama&ntilde;o de Tablespace de UNDO</strong></p>
<p class="parrafo">Si el tablespace de UNDO tiene los datafiles asociados con la opci&oacute;n  autoextend, es posible que crezca indiscriminadamente por alguna raz&oacute;n en  particular (una transacci&oacute;n muy grande, un import de alguna tabla grande, etc),  luego, en alg&uacute;n momento tal vez se requiera reducir el tablespace de UNDO,  lamentablemente, no se puede. La t&eacute;cnica para reducir el tama&ntilde;o del tablespace  de UNDO consiste en crear un nuevo tablespace de tipo UNDO con el tama&ntilde;o  deseado, asignar este tablespace como UNDO predeterminado y eliminar el  antiguo.</p>
<p class="parrafo">Lo anteriormente descrito, paso a paso:</p>
<p class="parrafo">El tama&ntilde;o del tablespace de UNDO obtenido con la siguiente query:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: #FF0080; font-weight: bold; ">Sum</span><span style="color: maroon; ">(</span><span style="color: maroon; ">v$datafile</span><span style="color: silver; ">.</span><span style="color: maroon; ">bytes</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: black; ">1024</span>&nbsp;<span style="color: silver; ">/</span>&nbsp;<span style="color: black; ">1024</span><span style="color: maroon; ">)</span>&nbsp;<span style="color: blue; ">AS</span>&nbsp;<span style="color: maroon; ">&quot;Tamaño&nbsp;Actual&nbsp;TS&nbsp;UNDO&nbsp;[MB]&quot;</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">v$datafile</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">INNER</span>&nbsp;<span style="color: blue; ">JOIN</span>&nbsp;<span style="color: maroon; ">v$tablespace</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">ON</span>&nbsp;<span style="color: maroon; ">v$datafile</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">v$tablespace</span><span style="color: silver; ">.</span><span style="color: maroon; ">ts#</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">INNER</span>&nbsp;<span style="color: blue; ">JOIN</span>&nbsp;<span style="color: maroon; ">dba_tablespaces</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">ON</span>&nbsp;<span style="color: maroon; ">v$tablespace</span><span style="color: silver; ">.</span><span style="color: blue; ">NAME</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: maroon; ">dba_tablespaces</span><span style="color: silver; ">.</span><span style="color: maroon; ">tablespace_name</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">dba_tablespaces</span><span style="color: silver; ">.</span><span style="color: maroon; ">contents</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;UNDO&#8217;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">AND</span>&nbsp;<span style="color: maroon; ">dba_tablespaces</span><span style="color: silver; ">.</span><span style="color: maroon; ">status</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;ONLINE&#8217;</span></span></div>
<p class="parrafo">El resultado es el siguiente:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/20_undo_tunning_monitoreo.jpg" width="185" height="40" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="20 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Supongamos que se requiere reducir el tama&ntilde;o del tablespace a 1000 MB, la  instrucci&oacute;n es la siguiente:</p>
<div class="sql">
<p>ALTER DATABASE  DATAFILE &#8216;/u02/oradata/jimydb/undotbs01.dbf&#8217; RESIZE 1000M;</p>
</div>
<p>Al ejecutar la instrucci&oacute;n aparece el siguiente error:</p>
<div class="Mensaje_sql">
<p>ORA-03297: file contains used data beyond requested RESIZE value</p>
</div>
<p class="parrafo">Bueno,  tal vez es muy tajante decir que el tama&ntilde;o del tablespace no se puede reducir,  la verdad si se puede pero solo hasta donde lo permita nuestro bien conocido High  Water Mark (HWM). La  siguiente query muestra el tama&ntilde;o actual del tablespace, lo recuperable, el  m&iacute;nimo tama&ntilde;o que puede tener el tablespace de UNDO, el o&nbsp; los datafiles a modificar con tama&ntilde;o  propuesto.</p>
<div class="sql">
<font style="font-family: 'Courier New', Courier, monospace; font-size: 10px"><br />
<font color = "blue">SELECT</font><br />
&nbsp;&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">tablespace</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">&quot;Tamaño&nbsp;TableSpace&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;TableSpace&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">&quot;Tamaño&nbsp;TableSpace&nbsp;[MB]&quot;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">-</font>&nbsp;<font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;TableSpace&nbsp;[MB]&quot;</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Espacio&nbsp;Propuesto&nbsp;TS&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">datafile</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Datafile&nbsp;a&nbsp;Mofificar&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">&quot;Tamaño&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">&quot;Tamaño&nbsp;DataFile&nbsp;[MB]&quot;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">-</font>&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;DataFile&nbsp;[MB]&quot;</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Tamaño&nbsp;Propuesto&nbsp;DF&nbsp;[MB]&quot;</font><br />
<font color = "blue">FROM</font><br />
&nbsp;&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;<font color = "maroon">tablespace</font><font color = "silver">,</font><br />
&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">&quot;Tamaño&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Tamaño&nbsp;TableSpace&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;TableSpace&nbsp;[MB]&quot;</font><br />
&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">tablespace</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Tamaño&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">bytes</font><font color = "maroon">)</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;DataFile&nbsp;[MB]&quot;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_free_space</font>&nbsp;<font color = "maroon">dfs</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Max</font></b><font color = "maroon">(</font><font color = "maroon">block_id</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">maximum</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">bytes</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_extents</font>&nbsp;<font color = "maroon">ext</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">dba_data_files</font>&nbsp;<font color = "maroon">df</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">ext</font><font color = "silver">.</font><font color = "maroon">file_id</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">GROUP</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">bytes</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">hwm</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">file_id</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">file_id</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">dba_tablespaces</font>&nbsp;<font color = "maroon">dts</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AND</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">contents</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;UNDO&#8217;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AND</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">status</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;ONLINE&#8217;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">GROUP</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">maximum</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">HAVING</font>&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Max</font></b><font color = "maroon">(</font><font color = "maroon">block_id</font><font color = "maroon">)</font>&nbsp;<font color = "silver">&gt;=</font>&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">maximum</font><font color = "maroon">)</font><br />
&nbsp;&nbsp;&nbsp;<font color = "blue">GROUP</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">tablespace</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">tts</font><br />
&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">tablespace</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">file_name</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">datafile</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Tamaño&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Sum</font></b><font color = "maroon">(</font><font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">bytes</font><font color = "maroon">)</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">/</font>&nbsp;<font color = "black">1024</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">&quot;Espacio&nbsp;Libre&nbsp;DataFile&nbsp;[MB]&quot;</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Max</font></b><font color = "maroon">(</font><font color = "maroon">block_id</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">block_id</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_free_space</font>&nbsp;<font color = "maroon">dfs</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Max</font></b><font color = "maroon">(</font><font color = "maroon">block_id</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">maximum</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">bytes</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dba_extents</font>&nbsp;<font color = "maroon">ext</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">dba_data_files</font>&nbsp;<font color = "maroon">df</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">ext</font><font color = "silver">.</font><font color = "maroon">file_id</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">GROUP</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">file_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">df</font><font color = "silver">.</font><font color = "maroon">bytes</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">hwm</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">file_id</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">file_id</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">dba_tablespaces</font>&nbsp;<font color = "maroon">dts</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AND</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">contents</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;UNDO&#8217;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AND</font>&nbsp;<font color = "maroon">dts</font><font color = "silver">.</font><font color = "maroon">status</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">&#8216;ONLINE&#8217;</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">GROUP</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">file_id</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">file_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">maximum</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">bytes</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">HAVING</font>&nbsp;&nbsp;&nbsp;<font color = "#FF0080"><b>Max</font></b><font color = "maroon">(</font><font color = "maroon">block_id</font><font color = "maroon">)</font>&nbsp;<font color = "silver">&gt;=</font>&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">maximum</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ORDER</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">dfs</font><font color = "silver">.</font><font color = "maroon">tablespace_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">hwm</font><font color = "silver">.</font><font color = "maroon">file_name</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">tdf</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">tablespace</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">tablespace</font><br />
<font color = "blue">ORDER</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">tts</font><font color = "silver">.</font><font color = "maroon">tablespace</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">tdf</font><font color = "silver">.</font><font color = "maroon">datafile</font></font></div>
<p class="parrafo">El resultado de esta:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/21_undo_tunning_monitoreo.jpg" width="401" height="155" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="21 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Luego,  seg&uacute;n el resultado de la query, se puede reducir el tama&ntilde;o del tablespace  (datafile asociado) a 1361 MB:</p>
<div class="sql">
<p>14:43:12  SQL&gt; ALTER DATABASE DATAFILE &#8216;/u02/oradata/jimydb/undotbs01.dbf&#8217; RESIZE  1361M;</p>
<p>Database  altered.</p>
<p>14:43:18  SQL&gt;</p>
</div>
<p class="parrafo">Ning&uacute;n  Problema!</p>
<p class="parrafo">En  caso de que se requiera modificar el tama&ntilde;o del tablespace de UNDO a un valor  menor al permitido por la HWM es necesario aplicar la t&eacute;cnica comentada al  principio. Para este ejemplo, dejaremos el tablespace de UNDO en 1000 MB.</p>
<p class="parrafo">Primero  se debe crear un nuevo tablespace de UNDO:</p>
<div class="shell">
<p>CREATE UNDO  TABLESPACE &quot;UNDOTBS_TEMP&quot; DATAFILE  &#8216;/u02/oradata/jimydb/undotbs_temp.dbf&#8217; SIZE 1000M;</p>
</div>
<p class="parrafo">Luego  se debe establecer el nuevo tablespace como tablespace de UNDO&nbsp; predeterminado:</p>
<div class="shell">
<p>ALTER SYSTEM SET UNDO_TABLESPACE=&rsquo;UNDOTBS_TEMP&rsquo; scope=both;</p>
</div>
<p class="parrafo">Ahora  la base de datos cuenta con nuevo tablespace de UNDO y del tama&ntilde;o requerido,  luego, es posible eliminar el antiguo tablespace de UNDO</p>
<div class="shell">
<p>DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;</p>
</div>
<p class="parrafo">Ejemplo:</p>
<div class="sql">
<p>17:38:35 SQL&gt; CREATE UNDO  TABLESPACE &quot;UNDOTBS_TEMP&quot; DATAFILE  &#8216;/u02/oradata/jimydb/undotbs_temp.dbf&#8217; SIZE 1000M;</p>
<p>Tablespace created.</p>
<p>17:39:05 SQL&gt; ALTER SYSTEM SET UNDO_TABLESPACE=&#8217;UNDOTBS_TEMP&#8217; SCOPE=BOTH;</p>
<p>System altered.</p>
<p>17:39:38 SQL&gt; DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND  DATAFILES;</p>
<p>Tablespace dropped.</p>
<p>17:39:46 SQL&gt;<br />
    17:39:48 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  boolean&nbsp;&nbsp;&nbsp;&nbsp; TRUE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 3000<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS_TEMP<br />
    17:40:50 SQL&gt;</p>
</div>
<p class="parrafo">&iexcl;Excelente!,  notar que se nombro el Nuevo tablespace como <strong>UNDOTBS_TEMP</strong> dado que se podr&iacute;a desear que el tablespace de UNDO  mantenga el mismo nombre del inicio, para eso habr&iacute;a que repetir los pasos  anteriores, ejemplo:</p>
<div class="sql">
<p>17:44:18 SQL&gt; CREATE UNDO TABLESPACE &quot;UNDOTBS1&quot; DATAFILE  &#8216;/u02/oradata/jimydb/undotbs01.dbf&#8217; SIZE 1000M;</p>
<p>Tablespace created.</p>
<p>17:44:47 SQL&gt; ALTER SYSTEM SET UNDO_TABLESPACE=&#8217;UNDOTBS1&#8242; SCOPE=BOTH;</p>
<p>System altered.</p>
<p>17:45:16 SQL&gt; DROP TABLESPACE UNDOTBS_TEMP INCLUDING CONTENTS AND  DATAFILES;</p>
<p>Tablespace dropped.</p>
<p>17:45:22 SQL&gt; sho parameters undo</p>
<p>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
    &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
    _undo_autotune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  boolean&nbsp;&nbsp;&nbsp;&nbsp; TRUE<br />
    undo_management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AUTO<br />
    undo_retention&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; integer&nbsp;&nbsp;&nbsp;&nbsp; 3000<br />
    undo_tablespace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNDOTBS1<br />
    17:45:29 SQL&gt;</p>
</div>
<p class="parrafo">&iexcl;Listo!,  ahora est&aacute; la base de datos igual que antes y el tablespace de UNDO sigue  siendo el mismo pero con un tama&ntilde;o reducido.</p>
<p class="parrafo">Tal vez genere errores al intentar eliminar el tablespace antiguo (en el  primer ejemplo), esto se debe a que existen segmentos activos, para ello es  necesario identificar los segmentos que no est&aacute;n OFFLINE:</p>
<div class="sql">
<span ><br />
<span style="color: blue; ">SELECT</span>&nbsp;<span style="color: maroon; ">segment_name</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">tablespace_name</span><span style="color: silver; ">,</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">status</span><br />
<span style="color: blue; ">FROM</span>&nbsp;&nbsp;&nbsp;<span style="color: maroon; ">dba_rollback_segs</span><br />
<span style="color: blue; ">WHERE</span>&nbsp;&nbsp;<span style="color: maroon; ">tablespace_name</span>&nbsp;<span style="color: silver; ">=</span>&nbsp;<span style="color: red; ">&#8216;UNDOTBS1&#8242;</span></span></div>
<p class="parrafo">El resultado es:</p>
<div align="center"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/22_undo_tunning_monitoreo.jpg" width="433" height="215" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="22 undo tunning monitoreo UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" /></div>
<p class="parrafo">Todos los segmentos que no est&aacute;n OFFLINE es necesario forzar su estado,  para ello se debe modificar el init.ora con el siguiente par&aacute;metro:</p>
<div class="shell">
<p>*._offline_rollback_segments=(&quot;_SYSSMU3$&quot;,&quot;_SYSSMU5$&quot;)</p>
</div>
<p class="parrafo">Se baja la base de datos y se sube con archivo init.ora, luego se borran  los segmentos conflictivos:</p>
<div class="sql">
<p>DROP ROLLBACK SEGMENT &lsquo;_SYSSMU3$&rsquo;;<br />
    DROP ROLLBACK SEGMENT &lsquo;_SYSSMU5$&rsquo;;</p>
</div>
<p class="parrafo">Se omite el error que se arrojar&aacute; y se procede a  borrar el tablespace:</p>
<div class="sql">
<p>DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;</p>
</div>
<p class="parrafo">Espero sea de gran utilidad los temas tratados en  este documento.</p>
<p class="parrafo">La plataforma sobre la cual se realiz&oacute; y verifico lo  expuesto en documento es:</p>
<p class="parrafo"><strong>Versi&oacute;n  Oracle</strong>: 10.2.0.3<br />
    <strong>S.O.</strong>: RHEL 4U5</p>
<p class="parrafo"><a href="http://www.megaupload.com/?d=HNP3WYOW" target="_blank"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/pdf.gif" width="16" height="18" title="UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" alt="pdf UNDO Monitoreo, Mantenimiento y Tunning. 10gR2" />Descargar Articulo Completo Formato PDF </a></p>
<p class="subtitulo"><strong>Saludos!</strong><br />
  <strong>Jimy Godoy Maureira</strong></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/06/01/undo-monitoreo-mantenimiento-y-tunning-10gr2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Modo ArchiveLog</title>
		<link>http://www.xgodoy.com/wordpress/2009/04/19/modo-archivelog/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2009/04/19/modo-archivelog/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 17:21:23 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Administración]]></category>
		<category><![CDATA[archivelog mode]]></category>
		<category><![CDATA[backup and restore oracle]]></category>
		<category><![CDATA[base de datos en modo archivelog]]></category>
		<category><![CDATA[habilitar archivelog]]></category>

		<guid isPermaLink="false">http://administracionoracle.wordpress.com/?p=94</guid>
		<description><![CDATA[Realizar un hot backup vía RMAN, crear una base de datos standby, levantar procesos stream, para esto y muchas otras cosas es necesario que nuestra base de datos se encuentre en modo archivelog. En este articulo, las forma de habilitar el modo archivelog y algunas consideraciones al respecto.]]></description>
			<content:encoded><![CDATA[<p class="parrafo" >Necesitamos realizar hot backup v&iacute;a RMAN, una base de  datos standby, stream, para esto y muchas otras cosas es necesario que nuestra  base de datos se encuentre en modo archivelog.<br />
Lo primero es verificar si nuestra base de datos se  encuentra en modo archivelog:</p>
<div class="sql"  >  SQL&gt; archive log list; <br />
  Database log  mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  No Archive Mode <br />
  Automatic  archival&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Disabled <br />
  Archive  destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  USE_DB_RECOVERY_FILE_DEST <br />
  Oldest online log sequence&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9 <br />
  Current log  sequence&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11 <br />
SQL&gt; </div>
<p></p>
<p class="parrafo"><strong>No Archive Mode</strong> indica que nuestra base de datos no se encuentra en modo archivelog, <strong>USE_DB_RECOVERY_FILE_DEST</strong> indica que  el destino por defecto para los archivelog es el db_recovery_file_dest.<br />
Para identificar el destino de los archivelog  verificamos el par&aacute;metro db_recovery_file_dest:</p>
<div class="sql" >  SQL&gt; sho  parameters db_recovery_file_dest <br/><br />
  NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  VALUE <br />
    db_recovery_file_dest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/u01/app/oracle/db/flash_recovery_area <br />
    db_recovery_file_dest_size&nbsp;big  integer&nbsp;2G <br />
SQL&gt;</div>
<p></p>
<p class="parrafo">Ahora dejaremos nuestra base de datos en modo  archivelog, para ello es necesario que la base de datos se levante modo mount:</p>
<div class="sql" >  SQL&gt; shutdown immediate; <br />
  SQL&gt; startup mount; <br />
  SQL&gt; alter database  archivelog; <br />
  SQL&gt; alter database open; <br />
SQL&gt; </div>
<p></p>
<p class="parrafo">Verificamos nuevamente el modo de nuestra base de  datos:</p>
<div class="sql" >  SQL&gt; archive log list; <br />
  Database log  mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Archive Mode <br />
  Automatic  archival&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Enabled <br />
  Archive  destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  USE_DB_RECOVERY_FILE_DEST <br />
  Oldest online log  sequence&nbsp;&nbsp;&nbsp;&nbsp; 9 <br />
  Next log sequence to  archive&nbsp;&nbsp; 11 <br />
  Current log  sequence&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11 <br />
SQL&gt; </div>
<p></p>
<p class="parrafo">Para probar se genera un archivelog:</p>
<div class="sql" >  SQL&gt; alter system archive  log current; </div>
<p></p>
<p class="parrafo">Verificamos el archivelog generado en el direcotrio  db_recovery_file_dest, dentro de este directorio se crear&aacute; un directorio con el  nombre de la base de datos y dentro de este otro directorio con la fecha de  hoy:</p>
<div class="shell" >  oracle@jimy-desktop$  cd /u01/app/oracle/db/flash_recovery_area/JIMYDB/archivelog/2009_04_19<br />
  oracle@jimy-desktop$ ls<br />
  o1_mf_1_11_4ypm67z1_.arc<br />
oracle@jimy-desktop$ </div>
<p></p>
<p class="parrafo">Si se desea cambiar el formato y directorio de  archivelog log_archive_dest_1 y log_archive_format. Para este ejemplo dejaremos  como formato de los archivelog el thread seguido del n&uacute;mero de secuencia y el  stamp con la extensi&oacute;n arc, los archivelogs los guardaremos en el directorio  /u02/archivelog:</p>
<div class="sql" >  SQL&gt;  alter system set log_archive_dest_1=&rsquo;LOCATION=/u02/archivelog&rsquo; scope=spfile;<br />
  SQL&gt;  alter system set log_archive_format=&rsquo;%t_%s_%r.arc&rsquo; scope=spfile;<br />
  SQL&gt;  shutdown immediate;<br />
  SQL&gt;  startup<br />
SQL&gt;  alter system archive log current; </div>
<p></p>
<p class="parrafo">Luego verificamos:</p>
<div class="shell">  oracle@jimy-desktop$ cd  /u02/archivelog/<br />
  oracle@jimy-desktop$ ls<br />
  1_12_684463284.arc<br />
oracle@jimy-desktop$ </div>
<p></p>
<p class="parrafo">Espero la informaci&oacute;n les  sea de utilidad.</p>
<p class="parrafo"><a href="http://www.megaupload.com/?d=YT59PXR1" target="_blank"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/pdf.gif" width="16" height="18" title="Modo ArchiveLog" alt="pdf Modo ArchiveLog" />Descargar Articulo Completo Formato PDF </a></p>
<p class="subtitulo" style="font-family: Calibri; font-weight: bold; font-size: 14;" ><strong>Saludos!</strong><br />
    <strong>Jimy Godoy Maureira</strong></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"><li class="related-post"><a href="http://www.xgodoy.com/wordpress/2009/06/08/monitoreo_db_recovery_file_dest_size/">Monitoreo db_recovery_file_dest_size </a> <span class="related-post-date timestamp">Mon 08 Jun 2009</span></li><li class="related-post"><a href="http://www.xgodoy.com/wordpress/2008/09/09/clonar-base-de-datos-con-rman/">Clonar Base De Datos con RMAN</a> <span class="related-post-date timestamp">Tue 09 Sep 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2009/04/19/modo-archivelog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clonar Base De Datos con RMAN</title>
		<link>http://www.xgodoy.com/wordpress/2008/09/09/clonar-base-de-datos-con-rman/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2008/09/09/clonar-base-de-datos-con-rman/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 16:20:07 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[RMAN]]></category>
		<category><![CDATA[backup and restore oracle]]></category>
		<category><![CDATA[clonar base de datos con rman]]></category>
		<category><![CDATA[Clonar base de datos oracle]]></category>

		<guid isPermaLink="false">http://administracionoracle.wordpress.com/?p=10</guid>
		<description><![CDATA[Muchas veces crear una copia de la base de datos es un dolor de cabeza,  afortunadamente RMAN tiene la habilidad de clonar una base de datos, el requisito: un backup de la base de datos a clonar realizado con RMAN. En este articulo un ejemplo práctico de cómo clonar una base de datos Oracle.]]></description>
			<content:encoded><![CDATA[<p class="parrafo">&ldquo;Necesito  una copia exacta de la base de datos&rdquo;, &ldquo;Quiero que clonen esta base de datos aqu&iacute;, all&aacute;,  y otro clon para comparar versiones y otro clon para&hellip;&rdquo;. &iquest;Cu&aacute;ntas veces  hemos escuchado esas solicitudes?, afortunadamente RMAN tiene la habilidad de  clonar una base de datos, el requisito: un backup de la base de datos a clonar  realizado con RMAN. A continuaci&oacute;n realizaremos un ejemplo de clonaci&oacute;n o  duplicaci&oacute;n de una base de datos.</p>
<p class="parrafo">Para  este ejemplo utilizaremos una base de datos llamada PRUEBADB y la  clonaremos con el nombre CLONDB.</p>
<p class="subtitulo"><span  >Requisitos:</span> </p>
<p class="parrafo">Debe  existir al menos un backup de la base de datos a clonar, este backup debe ser  realizado con RMAN. Si nuestra base de datos no se encuentra bajo un r&eacute;gimen de  respaldos tendremos que realizar un backup de esta.<br />
  Para  este ejemplo el ORACLE_HOME es /u01/app/oracle/</p>
<p class="subtitulo">
<span >Paso  0:</span></p>
<p class="parrafo">
<span >Modificar  el archivo /etc/oratab y agregar al final la siguiente l&iacute;nea:</span></p>
<div class="shell">  CLONDB:/u01/app/oracle/db:N </div>
<p>
<p class="parrafo">Luego,  debemos ambientarnos:</p>
<div class="shell">  [oracle@nodo1 ~]$ .  oraenv<br />
  ORACLE_SID = [oracle] ? PRUEBADB<br />
[oracle@nodo1 ~]$ </div>
<p></p>
<p class="parrafo">Si  no existe un backup, se realizar&aacute; uno a trav&eacute;s de RMAN.<br />
Se  crea el directorio /u02/backup</p>
<div class="shell">  mkdir -p  /u02/backup </div>
<p></p>
<p class="parrafo">Es  necesario dejar la base de datos en modo ARCHIVELOG:</p>
<div class="sql" ><span >SQL&gt; shutdown immediate;<br />
  SQL&gt; startup mount;<br />
  SQL&gt; alter database  archivelog;<br />
SQL&gt; startup;</span> </div>
<p></p>
<p class="parrafo">Nos  conectamos a RMAN:</p>
<div class="shell">  /u01/app/oracle/db/bin/rman  target / </div>
<p></p>
<p class="parrafo">Y  ejecutamos el siguiente script:</p>
<div class="sql">  run {<br />
  ALLOCATE CHANNEL d1 DEVICE TYPE disk parms &lsquo;ENV=(OB2BARLIST=PRUEBADB)&rsquo;;<br />
  ALLOCATE CHANNEL d2 DEVICE TYPE disk parms &lsquo;ENV=(OB2BARLIST=PRUEBADB)&rsquo;;<br />
  ALLOCATE CHANNEL d3 DEVICE TYPE disk parms &lsquo;ENV=(OB2BARLIST=PRUEBADB)&rsquo;;<br />
  ALLOCATE CHANNEL d4 DEVICE TYPE disk parms &lsquo;ENV=(OB2BARLIST=PRUEBADB)&rsquo;;<br />
  backup incremental level 0<br />
  format &lsquo;/u02/backup/backup&lt;PRUEBADB_%s:%t:%p&gt;.dbf&rsquo;<br />
  database;<br />
  backup<br />
  format &lsquo;/u02/backup/backup&lt;PRUEBADB_%s:%t:%p&gt;.alf&rsquo;<br />
  archivelog all;<br />
  backup<br />
  format &lsquo;/u02/backup/backup&lt;PRUEBADB_%s:%t:%p&gt;.ctf&rsquo;<br />
  current controlfile;<br />
} </div>
<p></p>
<p class="subtitulo"><span >Paso  1:</span></p>
<p class="parrafo">
<span >Creamos  un pfile para extraer los par&aacute;metros de inicializaci&oacute;n de la base de datos  PRUEBADB:</span></p>
<div class="sql">  SQL&gt;  create pfile=&rsquo;/u01/app/oracle/db/dbs/initCLONDB.ora&rsquo; from spfile; </div>
<p></p>
<p class="parrafo">Modificamos  el pfile generado, para este caso el pfile contiene los siguientes par&aacute;metros:</p>
<div class="shell">  [oracle@nodo1 dbs]$  cat /u01/app/oracle/db/dbs/initCLONDB.ora<br />
  PRUEBADB.__db_cache_size=188743680<br />
  PRUEBADB.__java_pool_size=4194304<br />
  PRUEBADB.__large_pool_size=4194304<br />
  PRUEBADB.__shared_pool_size=79691776<br />
  PRUEBADB.__streams_pool_size=0<br />
  *.audit_file_dest=&rsquo;/u01/app/oracle/admin/PRUEBADB/adump&rsquo;<br />
  *.background_dump_dest=&rsquo;/u01/app/oracle/admin/PRUEBADB/bdump&rsquo;<br />
  *.compatible=&rsquo;10.2.0.1.0&prime;<br />
  *.control_files=&rsquo;/u02/oradata/PRUEBADB/control01.ctl&rsquo;,  &lsquo;/u02/oradata/PRUEBADB/control02.ctl&rsquo;, &lsquo;/u02/oradata/PRUEBADB/control03.ctl&rsquo;<br />
  *.core_dump_dest=&rsquo;/u01/app/oracle/admin/PRUEBADB/cdump&rsquo;<br />
  *.db_block_size=8192<br />
  *.db_domain=&rdquo;<br />
  *.db_file_multiblock_read_count=16<br />
  *.db_name=&rsquo;PRUEBADB&rsquo;<br />
  *.db_recovery_file_dest=&rsquo;/u01/app/oracle/flash_recovery_area&rsquo;<br />
  *.db_recovery_file_dest_size=2147483648<br />
  *.dispatchers=&rsquo;(PROTOCOL=TCP) (SERVICE=PRUEBADBXDB)&rsquo;<br />
  *.job_queue_processes=10<br />
  *.open_cursors=300<br />
  *.pga_aggregate_target=94371840<br />
  *.processes=150<br />
  *.remote_login_passwordfile=&rsquo;EXCLUSIVE&rsquo;<br />
  *.sga_target=285212672<br />
  *.undo_management=&rsquo;AUTO&rsquo;<br />
  *.undo_tablespace=&rsquo;UNDOTBS1&prime;<br />
*.user_dump_dest=&rsquo;/u01/app/oracle/admin/PRUEBADB/udump&rsquo; </div>
<p></p>
<p class="parrafo">Modificamos  el archivo initCLONDB.ora cambiando donde referencia PRUEBADB por CLONDB y  agregar las siguientes l&iacute;neas para indicar que los archivos acepten una estructura  diferente a como vienen en el backup., luego el archivo initCLONDB.ora debe  quedar de la siguiente forma:</p>
<div class="shell">  [oracle@nodo1 CLONDB]$ cat /u01/app/oracle/db/dbs/initCLONDB.ora<br />
  CLONDB.__db_cache_size=188743680<br />
  CLONDB.__java_pool_size=4194304<br />
  CLONDB.__large_pool_size=4194304<br />
  CLONDB.__shared_pool_size=79691776<br />
  CLONDB.__streams_pool_size=0<br />
  *.audit_file_dest=&rsquo;/u01/app/oracle/admin/CLONDB/adump&rsquo;<br />
  *.background_dump_dest=&rsquo;/u01/app/oracle/admin/CLONDB/bdump&rsquo;<br />
  *.compatible=&rsquo;10.2.0.1.0&prime;<br />
  *.control_files=&rsquo;/u02/oradata/CLONDB/control01.ctl&rsquo;,  &lsquo;/u02/oradata/CLONDB/control02.ctl&rsquo;, &lsquo;/u02/oradata/CLONDB/control03.ctl&rsquo;<br />
  *.core_dump_dest=&rsquo;/u01/app/oracle/admin/CLONDB/cdump&rsquo;<br />
  *.db_block_size=8192<br />
  *.db_domain=&rdquo;<br />
  *.db_file_multiblock_read_count=16<br />
  *.db_name=&rsquo;CLONDB&rsquo;<br />
  *.db_recovery_file_dest=&rsquo;/u01/app/oracle/flash_recovery_area&rsquo;<br />
  *.db_recovery_file_dest_size=2147483648<br />
  *.dispatchers=&rsquo;(PROTOCOL=TCP) (SERVICE=CLONDBXDB)&rsquo;<br />
  *.job_queue_processes=10<br />
  *.open_cursors=300<br />
  *.pga_aggregate_target=94371840<br />
  *.processes=150<br />
  *.remote_login_passwordfile=&rsquo;EXCLUSIVE&rsquo;<br />
  *.sga_target=285212672<br />
  *.undo_management=&rsquo;AUTO&rsquo;<br />
  *.undo_tablespace=&rsquo;UNDOTBS1&prime;<br />
  *.user_dump_dest=&rsquo;/u01/app/oracle/admin/CLONDB/udump&rsquo;<br />
  <strong>DB_FILE_NAME_CONVERT=(/u02/oradata/PRUEBADB/,/u02/oradata/CLONDB/)<br />
LOG_FILE_NAME_CONVERT=(/u02/oradata/PRUEBADB/,/u02/oradata/CLONDB/)</strong> </div>
<p></p>
<p class="parrafo">Seguido,  es necesario crear los directorios que utilice el archivo de par&aacute;metros:</p>
<div class="shell">  [oracle@nodo1 dbs]$  mkdir -p /u01/app/oracle/admin/CLONDB/adump<br />
  [oracle@nodo1 dbs]$ mkdir -p /u01/app/oracle/admin/CLONDB/bdump<br />
  [oracle@nodo1 dbs]$ mkdir -p /u02/oradata/CLONDB/<br />
  [oracle@nodo1 dbs]$ mkdir -p /u01/app/oracle/admin/CLONDB/cdump<br />
[oracle@nodo1 dbs]$ mkdir -p /u01/app/oracle/admin/CLONDB/udump </div>
<p></p>
<p class="subtitulo"><span >Paso  2:</span></p>
<p class="parrafo"> <span >Se  crea un archivo de password para la nueva base de datos CLONDB:</span></p>
<div class="shell">  orapwd file=/u01/app/oracle/db/dbs/orapwCLONDB password=password  entries=10; </div>
<p></p>
<p class="subtitulo"><span >Paso  3</span></p>
<p class="parrafo">  <span >Modificar  listener.ora y tnsnames.ora para la nueva base de datos:</span></p>
<div class="shell">  [oracle@nodo1 admin]$ cat listener.ora<br />
  # listener.ora Network Configuration File:  /u01/app/oracle/db/network/admin/listener.ora<br />
  # Generated by Oracle configuration tools.<br />
  SID_LIST_LISTENER =<br />
  (SID_LIST =<br />
  (SID_DESC =<br />
  (SID_NAME = PLSExtProc)<br />
  (ORACLE_HOME = /u01/app/oracle/db)<br />
  (PROGRAM = extproc))<br />
  (SID_DESC =<br />
  (SID_NAME = PRUEBADB)<br />
  (ORACLE_HOME = /u01/app/oracle/db))<br />
  (SID_DESC =<br />
  (SID_NAME = CLONDB)<br />
  (ORACLE_HOME = /u01/app/oracle/db)))<br />
  LISTENER =<br />
  (DESCRIPTION_LIST =<br />
  (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = nodo1)(PORT = 1521))))<br />
  [oracle@nodo1 admin]$ cat tnsnames.ora<br />
  # tnsnames.ora Network Configuration File: /u01/app/oracle/db/network/admin/tnsnames.ora<br />
  # Generated by Oracle configuration tools.<br />
  PRUEBADB =<br />
  (DESCRIPTION =<br />
  (ADDRESS_LIST =<br />
  (ADDRESS = (PROTOCOL = TCP)(HOST = nodo1)(PORT = 1521)))<br />
  (CONNECT_DATA =<br />
  (SERVICE_NAME = PRUEBADB)))</p>
<p>
  CLONDB =<br />
  (DESCRIPTION =<br />
  (ADDRESS_LIST =<br />
  (ADDRESS = (PROTOCOL = TCP)(HOST = nodo1)(PORT = 1521))<br />
  )<br />
  (CONNECT_DATA =<br />
  (SERVICE_NAME = CLONDB)))</p>
<p>
  EXTPROC_CONNECTION_DATA =<br />
  (DESCRIPTION =<br />
  (ADDRESS_LIST =<br />
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))<br />
  )<br />
  (CONNECT_DATA =<br />
  (SID = PLSExtProc)<br />
  (PRESENTATION = RO)<br />
  )<br />
) </div>
<p></p>
<p class="parrafo">Reload  el listener</p>
<div class="shell">  lsnrctl reload </div>
<p></p>
<p class="subtitulo"><span >Paso  4</span></p>
<p class="parrafo">  <span >Nos  ambientarnos como CLONDB y conectamos v&iacute;a sqlplus:</span></p>
<div class="shell">  [oracle@nodo1  admin]$ . oraenv<br />
  ORACLE_SID = [PRUEBADB] ? CLONDB<br />
[oracle@nodo1 admin]$ sqlplus sys/password@CLONDB as sysdba </div>
<p></p>
<p class="parrafo">Luego creamos un SPFILE:</p>
<div class="sql">  SQL&gt; CREATE  SPFILE FROM PFILE=&rsquo;/u01/app/oracle/db/dbs/initCLONDB.ora&rsquo;; </div>
<p></p>
<p class="parrafo">Luego  levantamos la base de datos en modo nomount:</p>
<div class="sql">  SQL&gt;  startup nomount force; </div>
<p></p>
<p class="subtitulo">
<span >Paso 5</span> </p>
<p class="parrafo"><span >Con  la base de datos clon montada podemos conectarnos a RMAN, es necesario  conectarse a la base de datos original (PRUEBADB) y a la clonada como  AUXILIARY:</span></p>
<div class="shell">  [oracle@nodo1 admin]$ . oraenv<br />
  ORACLE_SID = [CLONDB] ?<br />
  [oracle@nodo1 admin]$ /u01/app/oracle/db/bin/rman TARGET sys/password@PRUEBADB  AUXILIARY sys/password@CLONDB<br />
  Recovery Manager: Release 10.2.0.1.0 &#8211; Production on Tue Sep 9 17:09:13 2008<br />
  Copyright (c) 1982, 2005, Oracle. All rights reserved.<br />
  connected to target database: PRUEBADB (DBID=428612040)<br />
  connected to auxiliary database: CLONDB (not mounted)<br />
RMAN&gt; </div>
<p></p>
<p>
<span class="subtitulo" >Paso 6</span></p>
<p class="parrafo">  <span >En  RMAN ejecutamos la siguiente instrucci&oacute;n para clonar la base de datos:</span></p>
<div class="sql">  RMAN&gt;  DUPLICATE TARGET DATABASE TO CLONDB; </div>
<p></p>
<p class="parrafo">
<span >Listo,  base de datos duplicada!</span></p>
<p class="parrafo"><a href="http://www.megaupload.com/?d=T8CPGASU" target="_blank"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/pdf.gif" width="16" height="18" title="Clonar Base De Datos con RMAN" alt="pdf Clonar Base De Datos con RMAN" />Descargar Articulo Completo Formato PDF </a></p>
<p class="subtitulo">
  <span ><strong>Saludos!</strong></span><br />
      <span ><strong>Jimy Godoy.</strong></span></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"><li class="related-post"><a href="http://www.xgodoy.com/wordpress/2009/04/19/modo-archivelog/">Modo ArchiveLog</a> <span class="related-post-date timestamp">Sun 19 Apr 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2008/09/09/clonar-base-de-datos-con-rman/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Logs Scheduler Jobs</title>
		<link>http://www.xgodoy.com/wordpress/2008/06/19/logs-scheduler-jobs/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.xgodoy.com/wordpress/2008/06/19/logs-scheduler-jobs/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 22:16:33 +0000</pubDate>
		<dc:creator>Jimy Godoy</dc:creator>
				<category><![CDATA[Jobs]]></category>
		<category><![CDATA[scheduler jobs]]></category>

		<guid isPermaLink="false">http://administracionoracle.wordpress.com/?p=6</guid>
		<description><![CDATA[Los scheduler jobs no siempre funcionan como quisiéramos, en este articulo una pequeña ayuda para monitorear el comportamiento de los scheduler jos Oracle.]]></description>
			<content:encoded><![CDATA[<p class="parrafo">La siguiente query  entrega el nombre del todos los scheduler jobs, la fecha y hora de inicio y la  duraci&oacute;n de estos en segundos. Se puede filtrar por fecha y hora (marcado con  rojo). Es posible filtrar por nombre del job con el campo JOB_NAME.</p>
<div class="sql" >
<font style="font-family: 'Courier New', Courier, monospace;	font-size: 11px;"><br />
<font color = "blue">SELECT</font><br />
&nbsp;&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">job_name</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">nombre_job</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "#FF0080"><b>To_char</font></b><font color = "maroon">(</font><font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">log_date</font><font color = "silver">,</font><font color = "red">&#8216;hh24:mi:ss&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">inicio_job</font><font color = "silver">,</font><br />
&nbsp;&nbsp;<font color = "maroon">(</font><font color = "#FF0080"><b>Extract</font></b><font color = "maroon">(</font><font color = "blue">MINUTE</font>&nbsp;<font color = "blue">FROM</font>&nbsp;<font color = "maroon">(</font><font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">run_duration</font><font color = "maroon">)</font><font color = "maroon">)</font><font color = "maroon">)</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">*</font>&nbsp;<font color = "black">60</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">+</font>&nbsp;<font color = "#FF0080"><b>Extract</font></b><font color = "maroon">(</font><font color = "blue">SECOND</font>&nbsp;<font color = "blue">FROM</font>&nbsp;<font color = "maroon">(</font><font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">run_duration</font><font color = "maroon">)</font><font color = "maroon">)</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "maroon">duracion_en_segundos</font><br />
<font color = "blue">FROM</font><br />
&nbsp;&nbsp;<font color = "maroon">all_scheduler_job_run_details</font>&nbsp;<font color = "maroon">detalles</font><br />
&nbsp;&nbsp;<font color = "blue">INNER</font>&nbsp;<font color = "blue">JOIN</font>&nbsp;<font color = "maroon">(</font><font color = "blue">SELECT</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">owner</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">state</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">job_name</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">FROM</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">all_scheduler_jobs</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHERE</font>&nbsp;&nbsp;<font color = "maroon">state</font>&nbsp;<font color = "silver">&lt;&gt;</font>&nbsp;<font color = "red">&#8216;DISABLED&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "maroon">jobs</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">ON</font>&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">job_name</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">jobs</font><font color = "silver">.</font><font color = "maroon">job_name</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AND</font>&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">owner</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "maroon">jobs</font><font color = "silver">.</font><font color = "maroon">owner</font><br />
<font color = "blue">WHERE</font>&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">log_date</font>&nbsp;<font color = "blue">BETWEEN</font>&nbsp;<font color = "#FF0080"><b>To_date</font></b><font color = "maroon">(</font><font color = "red">&#8217;16/06/2008&nbsp;18:55:00&#8242;</font><font color = "silver">,</font><font color = "red">&#8216;dd/mm/yyyy&nbsp;hh24:mi:ss&#8217;</font><font color = "maroon">)</font>&nbsp;<font color = "blue"><br />
AND</font>&nbsp;<font color = "#FF0080"><b>To_date</font></b><font color = "maroon">(</font><font color = "red">&#8217;16/06/2008&nbsp;18:58:59&#8242;</font><font color = "silver">,</font><font color = "red">&#8216;dd/mm/yyyy&nbsp;hh24:mi:ss&#8217;</font><font color = "maroon">)</font><br />
<font color = "blue">ORDER</font>&nbsp;<font color = "blue">BY</font>&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">job_name</font><font color = "silver">,</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">detalles</font><font color = "silver">.</font><font color = "maroon">log_date</font>&nbsp;<font color = "blue">DESC</font></font></div>
<p></p>
<p class="parrafo"><a href="http://www.megaupload.com/?d=YJD3ZL1J" target="_blank"><img src="http://www.xgodoy.com/wordpress/wp-content/uploads/2009/06/pdf.gif" width="16" height="18" title="Logs Scheduler Jobs" alt="pdf Logs Scheduler Jobs" />Descargar Articulo Completo Formato PDF </a></p>
<p style="font-family: Calibri; font-weight: bold; font-size: 14;"><strong>Saludos!</strong><br />
<strong>Jimy Godoy Maureira</strong></p>
<h4 class='related-posts-header'>Artículos relacionados</h4><ul class="related-posts-list"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.xgodoy.com/wordpress/2008/06/19/logs-scheduler-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
