<?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>Dia a dia Oracle &#187; drop table</title>
	<atom:link href="http://www.diaadiaoracle.com.br/category/drop-table/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diaadiaoracle.com.br</link>
	<description></description>
	<lastBuildDate>Thu, 08 Apr 2010 17:33:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oracle RecycleBin</title>
		<link>http://www.diaadiaoracle.com.br/2009/03/13/oracle-recyclebin/</link>
		<comments>http://www.diaadiaoracle.com.br/2009/03/13/oracle-recyclebin/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 16:44:00 +0000</pubDate>
		<dc:creator>oracle</dc:creator>
				<category><![CDATA[drop table]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[oracle 10g]]></category>
		<category><![CDATA[recyclebin]]></category>

		<guid isPermaLink="false">http://www.diaadiaoracle.com.br/?p=3</guid>
		<description><![CDATA[Fala PessoAll,
Bom, esses dias me deparei com um pequeno problema e graças a um &#8220;novo&#8221; recurso do Banco de Dados Oracle, a partir de sua versão 10g, eu consegui me safar.
Bom, estavamos nós (eu e mais um desenvolvedor) alterando um processo e vimos que no nosso processo uma determinada tabela não era mais necessária, aí [...]]]></description>
			<content:encoded><![CDATA[<p>Fala PessoAll,</p>
<p>Bom, esses dias me deparei com um pequeno problema e graças a um &#8220;novo&#8221; recurso do Banco de Dados Oracle, a partir de sua versão 10g, eu consegui me safar.</p>
<p>Bom, estavamos nós (eu e mais um desenvolvedor) alterando um processo e vimos que no nosso processo uma determinada tabela não era mais necessária, aí conclusão: remove esse lixo! aí vamos nós com aquele velho e bonito comando:</p>
<p><code>drop table nossa_tabela;</code></p>
<p>Pronto, tabela dropada. </p>
<p>Para quem não sabe, este comando no Oracle elimina(va) completamente a tabela do banco de dados e você não conseguiria mais (por vias normais e com permissão de um simples mortal desenvolvedor) trazer ela de volta. O que fazer neste caso? Ir falar com aquele simpático e prestativo amigo DBA para voltar um backup e importar apenas esta tabela que se você tiver sorte e ela não for muito utilizada estará com dados da madrugada (teoricamente a hora em que os backups são feitos).</p>
<p>Bom, depois do drop concluído, tentamos compilar o procedimento que estavamos atualizando e&#8230; advinha? Lei de Murphi, a tabela era usada em um gigalhão de lugares da rotina e nós não tinhamos visto! mas&#8230; graças a era Pós-Oracle 10g e suas new features, &#8220;nossos problemas se acabaram-se&#8221;.</p>
<p>Existe no 10g um recurso chamado RecycleBin, que no momento em que uma tabela é dropada o banco a mantém por lá, ou seja, quando você dropa, ele grava um registro numa tabela chamada <code>recyclebin</code> (pode ser acessada através do comando <code>select * from recyclebin</code>) informando que a tabela foi &#8220;dropada&#8221;, qual o novo nome dela e qual era seu nome antigo, como mostrado no registro a seguir:<br />
<code><br />
OBJECT_NAME                             ORIGINAL_NAME<br />
--------------                             ---------------<br />
BIN$ssRbdlWRsCZm8/FvurZ2w==$0  PERMISSAO_USUARIOS<br />
</code></p>
<p>PS: esta tabela possui mais algumas informações como hora do drop, se pode recuperar a tabela, estou mostrando apenas o nome atual e nome original.</p>
<p>Depois de saber disso, podemos facilmente ressucitar esta tabela para que ela volte a ser como era antes, para tal, basta apenas executarmos o comando:</p>
<p><code>flashback table PERMISSAO_USUARIOS before drop;</code></p>
<p>E em seguida, teremos a tabela de volta, do lugar de onde nunca deveria ter saído! Rsrsrs.</p>
<p>Espero que esta dica ajude alguns desenvolvedores que por falta de experiência, por falta de atenção ou por confiar na análise de outro desenvolvedor (meu caso) façam uma dessas.</p>
<p>Boa sorte a todos e lembrem: &#8220;Deus protege as criancinhas e os desenvolvedores!&#8221;.</p>
<p>Grande abraço a todos e um bom final de semana! </p>
<p>Como diz Mauro Halfeld: &#8220;E não deixe de aproveitar o final de semana com sua família&#8221;.</p>
<p>Atc.<br />
Gerson Júnior</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diaadiaoracle.com.br/2009/03/13/oracle-recyclebin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
