<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-353579097510061404</id><updated>2012-02-16T06:07:50.911-08:00</updated><category term='Arredondamento'/><category term='PHP'/><category term='Oracle SQL Developer'/><category term='Criação de banco de dados'/><category term='Scala'/><category term='Script'/><category term='MySQL'/><category term='MS SQL Server'/><category term='PFILE'/><category term='Criação de Tabelas'/><category term='Tutoriais'/><category term='Hibernate'/><category term='SPFILE'/><category term='Oracle'/><category term='Java'/><category term='Sequence'/><category term='Business Intelligence'/><category term='Parâmetros'/><category term='Auto incremento'/><category term='Control File'/><category term='Inicialização'/><title type='text'>DBA Pro Brasil</title><subtitle type='html'>Blog com dicas, artigos e tutoriais sobre banco de dados.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-7420807254142814625</id><published>2010-08-20T06:41:00.000-07:00</published><updated>2010-08-20T06:47:05.624-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business Intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><title type='text'>Tutorial de Business Intelligence</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_GwvxN1FL2_g/TG6GrYjlZ2I/AAAAAAAAA8E/l6QZPo84sCw/s1600/esquema-bi.gif"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 206px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5507487474204895074" border="0" alt="" src="http://3.bp.blogspot.com/_GwvxN1FL2_g/TG6GrYjlZ2I/AAAAAAAAA8E/l6QZPo84sCw/s400/esquema-bi.gif" /&gt;&lt;/a&gt; &lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Pra quem ainda não conhece a metodologia de BI (Business Intelligence) este tutorial explica detalhadamente as etapas envolvidas. Ele foi feito usando uma parte da minha monografia de conclusão de curso.&lt;/span&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://www.mediafire.com/?85rqypq49zjc1cj"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;DOWNLOAD&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-7420807254142814625?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/7420807254142814625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/08/tutorial-de-business-intelligence.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/7420807254142814625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/7420807254142814625'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/08/tutorial-de-business-intelligence.html' title='Tutorial de Business Intelligence'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GwvxN1FL2_g/TG6GrYjlZ2I/AAAAAAAAA8E/l6QZPo84sCw/s72-c/esquema-bi.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-8047235553127551812</id><published>2010-07-12T04:48:00.000-07:00</published><updated>2010-07-12T05:04:11.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scala'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><title type='text'>Tutorial de Scala</title><content type='html'>&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_GwvxN1FL2_g/TDsDWA4h_bI/AAAAAAAAA1E/ajglg2WIBE4/s1600/logo-scala.gif"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 322px; DISPLAY: block; HEIGHT: 93px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5492987847237565874" border="0" alt="" src="http://3.bp.blogspot.com/_GwvxN1FL2_g/TDsDWA4h_bI/AAAAAAAAA1E/ajglg2WIBE4/s400/logo-scala.gif" /&gt;&lt;/a&gt; &lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Scala é uma linguagem de programação funcional onde cada função é um valor, também é puramente orientada a objetos, gera bytecodes Java e ainda suporta todas as bibliotecas e APIs Java. Ela fornece uma sintaxe leve e limpa para a definição de funções anônimas, mas o seu maior atrativo é que ela foi projetada para trabalhar com concorrência, implementando um sofisticado controle de threads através do uso de classes atores. Como existe muito pouco material de qualidade (em português) sobre esta linguagem na Internet, elaborei este tutorial que também traz o código da resolução do problema do Barbeiro Sonolento em Scala. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://www.mediafire.com/file/wiygxhj2yya/Tutorial_Scala.rar"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;DOWNLOAD&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-8047235553127551812?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/8047235553127551812/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/07/tutorial-de-scala.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/8047235553127551812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/8047235553127551812'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/07/tutorial-de-scala.html' title='Tutorial de Scala'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GwvxN1FL2_g/TDsDWA4h_bI/AAAAAAAAA1E/ajglg2WIBE4/s72-c/logo-scala.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-673369954291993898</id><published>2010-05-07T05:31:00.000-07:00</published><updated>2010-05-07T05:32:57.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Homem de Ferro 2 e Oracle</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://4.bp.blogspot.com/_GwvxN1FL2_g/S-QEqWLYMnI/AAAAAAAAAvQ/cOSbWyjKVYg/s1600/ironman-oracle.jpg"&gt;&lt;span style="font-family:arial;"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 293px; FLOAT: left; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5468500973088944754" border="0" alt="" src="http://4.bp.blogspot.com/_GwvxN1FL2_g/S-QEqWLYMnI/AAAAAAAAAvQ/cOSbWyjKVYg/s400/ironman-oracle.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Ninguém discorda que a Marvel soube popularizar seus heróis através do cinema, gerando até um novo gênero cinematográfico: o filme de super-heróis. Mas é interessante notar que isso agora tem chamado a atenção das empresas, quem ainda não assistiu Homem de Ferro 2 repare que o nome da empresa de informática Oracle aparece durante todo o filme, incluindo até uma ponta do presidente da companhia Larry Ellison. E se eu já tinha suspeitas sobre um possível patrocínio da Oracle, elas foram confirmadas ao receber ontem a revista Oracle Magazine cuja capa (que eu achei muito legal) compartilho com vocês.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-673369954291993898?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/673369954291993898/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/05/homem-de-ferro-2-e-oracle.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/673369954291993898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/673369954291993898'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/05/homem-de-ferro-2-e-oracle.html' title='Homem de Ferro 2 e Oracle'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GwvxN1FL2_g/S-QEqWLYMnI/AAAAAAAAAvQ/cOSbWyjKVYg/s72-c/ironman-oracle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-3733803020886937376</id><published>2010-02-15T11:28:00.000-08:00</published><updated>2010-02-15T11:43:17.185-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Criação de banco de dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Criação manual de banco de dados</title><content type='html'>&lt;span style="font-family:arial;"&gt;O utilitário DBCA (Database Creation Assistant) pode criar um banco de dados com apenas alguns cliques, mas algumas vezes você pode precisar criar um banco de dados manualmente, ou seja na linha de comando do SQLPlus.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Nesse caso você deve especificar os seguintes parâmetros:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;DATABASE: É o nome do banco de dados a ser criado. &lt;/li&gt;&lt;li&gt;CONTROLFILE REUSE: Especifica que um arquivo de controle existente identificado no arquivo de parâmetros seja reutilizado. &lt;/li&gt;&lt;li&gt;LOGFILE GROUP: Especifica os nomes dos arquivos de log a serem utilizados e o grupo ao qual eles pertencem. &lt;/li&gt;&lt;li&gt;MAXLOGFILES: Especifica o número máximo de grupos de arquivos de redo log que podem ser criados para o banco de dados. &lt;/li&gt;&lt;li&gt;MAXLOGMEMBERS: Especifica o número máximo de membros de arquivos de log para um grupo de arquivos de log. &lt;/li&gt;&lt;li&gt;MAXLOGHISTORY: Especifica o número máximo de redo logs arquivados para recuperação automática de mídia do Oracle Parallel Server. &lt;/li&gt;&lt;li&gt;DATAFILE filespec     Especifica os arquivos de dados a serem utilizados. &lt;/li&gt;&lt;li&gt;AUTOEXTENT: Ativa ou desativa a extensão automática de um arquivo de dados. &lt;/li&gt;&lt;li&gt;MAXDATAFILES: Especifica o tamanho inicial da seção do arquivo de dados do arquivo de controle no momento da execução de CREATE DATABASE ou CONTROLFILE. Uma tentativa de adicionar um novo arquivo cujo número seja superior a MAXDATAFILES, mas inferior ou igual a DB_FILES, faz o arquivo de controle expandir-se automaticamente, de forma que a seção dos arquivos de dados pode acomodar mais arquivos. &lt;/li&gt;&lt;li&gt;MAXINSTANCES: É o número máximo de instâncias que podem montar e abrir simultaneamente o banco de dados. &lt;/li&gt;&lt;li&gt;ARCHIVELOG: Estabelece que os redo logs devem ser arquivados antes de serem reutilizados. &lt;/li&gt;&lt;li&gt;NOARCHIVELOG: Estabelece que os redo logs podem ser reutilizados sem que seu conteúdo seja arquivado. &lt;/li&gt;&lt;li&gt;CHARACTER SET:     È o conjunto de caracteres que o banco de dados utiliza para armazenar dados &lt;/li&gt;&lt;li&gt;NATIONAL CHARACTER SET: Especifica o conjunto de caracteres nacionais utilizados para armazenar dados nas colunas definidas como NCHAR, NCLOB, NVARCHAR2. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;O comando completo ficará assim:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;CREATE DATABASE [database]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[CONTROLFILE REUSE]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[LOGFILE [GROUP integer] filespec&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[ [GROUP integer] filespec...]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[MAXLOGFILES integer]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[MAXLOGMEMBERS integer]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[MAXLOGHISTORY integer]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[MAXDATAFILES integer]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[MAXINSTANCES integer]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[ARCHIVEDLOG | NOARCHIVEDLOG]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[CHARACTER SET charset]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[NATIONAL CHARACTER SET charset]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[DATAFILE filespec [autoextent_clause]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;[ filespec [autoextent_clause]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);font-family:arial;" &gt;filespec :=='filename [SIZE integer] [KIM] [REUSE] autoextent_clause := = [AUTOEXTENT [OFF [ ON [NEXT integer [KIM] [MAXSIZE [UNLIMITED[integer[KIM]]]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-3733803020886937376?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/3733803020886937376/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/02/criacao-manual-de-banco-de-dados.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3733803020886937376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3733803020886937376'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2010/02/criacao-manual-de-banco-de-dados.html' title='Criação manual de banco de dados'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-6172820459483933804</id><published>2009-11-25T08:02:00.000-08:00</published><updated>2010-07-12T05:03:00.945-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Tutorial Hibernate</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://4.bp.blogspot.com/_GwvxN1FL2_g/Sw1ZCYYTC7I/AAAAAAAAAdw/7_VT4QFFRIo/s1600/logo_hibernate.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 249px; DISPLAY: block; HEIGHT: 78px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5408076624980806578" border="0" alt="" src="http://4.bp.blogspot.com/_GwvxN1FL2_g/Sw1ZCYYTC7I/AAAAAAAAAdw/7_VT4QFFRIo/s400/logo_hibernate.jpg" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Devido a carência de bons tutoriais sobre Hibernate, estou disponibilizando este tutorial criado a partir de um trabalho meu de faculdade. &lt;/span&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 262px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5408074831344818114" border="0" alt="" src="http://4.bp.blogspot.com/_GwvxN1FL2_g/Sw1XZ-kJ18I/AAAAAAAAAdo/wsyL0esitR4/s320/arq-hibernate.gif" /&gt;&lt;span style="font-family:arial;"&gt;O Hibernate é uma ferramenta de mapeamento objeto-relacional, você não entendeu o que isso quer dizer? Bom, digamos que você tem uma aplicação Java desenvolvida através do modelo de orientação a objetos, e você precisa interagir com um banco de dados relacional, o Hibernate faria esta interface fazendo um mapeamento do banco sem que você tenha de alterar seu modelo OO. Parece simples, mas o Hibernate é bem chato com algumas coisas, mas uma vez configurado você não terá mais problemas.&lt;/span&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://www.mediafire.com/file/3onntnxdy5x/TutorialHibernate.pdf"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;DOWNLOAD&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-6172820459483933804?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/6172820459483933804/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/tutorial-hibernate.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/6172820459483933804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/6172820459483933804'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/tutorial-hibernate.html' title='Tutorial Hibernate'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GwvxN1FL2_g/Sw1ZCYYTC7I/AAAAAAAAAdw/7_VT4QFFRIo/s72-c/logo_hibernate.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-3769910548003761856</id><published>2009-11-21T09:19:00.000-08:00</published><updated>2009-11-21T09:41:25.128-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Funções MySQL no PHP</title><content type='html'>&lt;span style="font-family:arial;"&gt;A linguagem PHP tem um relacionamento muito íntimo com o MySQl, existem várias funções criadas especificamente para trabalhar com este banco de dados. Vamos ver algumas delas:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;mysql_connect()&lt;br /&gt;Acessa o banco de dados&lt;br /&gt;Exemplo:&lt;/strong&gt;&lt;br /&gt;$conexao = mysql_connect(“localhost”, “root”, “senha”);&lt;br /&gt;mysql_select_db(“Nome do banco”, $conexao);&lt;br /&gt;O valor de retorno é 1 se conectar, e 0 se o comando falhar.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;mysql_query()&lt;br /&gt;Para fazer consultas&lt;br /&gt;Exemplo:&lt;/strong&gt;&lt;br /&gt;Primeiro definimos uma variável que conterá a consulta:&lt;br /&gt;$insere = “INSERT INTO tabela_exemplo (nome, email) VALUES (“José da Silva”, “jose.silva@mail.com.br”);&lt;br /&gt;Executamos a consulta:&lt;br /&gt;mysql_query($insere, $conexao);&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mysql_fetch_row()&lt;br /&gt;Escrevendo dados do banco&lt;/strong&gt;&lt;br /&gt;$consulta = “SELECT nome, email FROM tabela_exemplo”;&lt;br /&gt;Definimos uma variável para receber os dados da consulta:&lt;br /&gt;$resultado = mysql_query($consulta, $conexao);&lt;br /&gt;&lt;br /&gt;E por fim escrevemos os dados no browser:&lt;br /&gt;A variável $linha irá pegar (fetch) todos as linhas de resultado:&lt;br /&gt;while ($linha = mysql_fetch_row($resultado)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo “Nome: ”;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf("$linha[0]”);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo “Email: ”;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(“$linha[1]”);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mysql_close()&lt;br /&gt;Fecha a conexão ao banco&lt;/strong&gt;&lt;br /&gt;mysql_close(“Nome do Banco”);&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Outras funções utéis:&lt;br /&gt;&lt;br /&gt;mysql_affected_rows()&lt;br /&gt;Retorna o número de linhas alteradas, inseridas ou excluidas pela última consulta com UPDATE, DELETE, ou INSERT.&lt;br /&gt;&lt;br /&gt;mysql_change_user()&lt;br /&gt;Muda o usuario em um banco de dados em uma conexão que já esta aberta.&lt;br /&gt;&lt;br /&gt;mysql_character_set_name()&lt;br /&gt;Retorna o nome do conjunto de caracteres usado para abrir a conexão.&lt;br /&gt;&lt;br /&gt;mysql_data_seek()&lt;br /&gt;Busca por uma linha determinada no resultado de uma consulta.&lt;br /&gt;&lt;br /&gt;mysql_debug()&lt;br /&gt;Efetua um DBUG_PUSH com a string dada.&lt;br /&gt;&lt;br /&gt;mysql_dump_debug_info()&lt;br /&gt;Faz o servidor escrever informações de depuração no log.&lt;br /&gt;&lt;br /&gt;mysql_eof()&lt;br /&gt;Determina quando a ulitma linha de um conjunto de resultados foi lida.&lt;br /&gt;&lt;br /&gt;mysql_errno()&lt;br /&gt;Retorna o número do erro para uma função MySQL.&lt;br /&gt;&lt;br /&gt;mysql_error()&lt;br /&gt;Retorna a mensagem de erro para uma função MySQL.&lt;br /&gt;&lt;br /&gt;mysql_escape_string()&lt;br /&gt;Escapa strings para serem utilizadas no MySQL, escapar é trocar algo que não pode (aspas, por exemplo) por caracteres aceitos pelo banco (barra aspas, no exemplo).&lt;br /&gt;&lt;br /&gt;mysql_fetch_field()&lt;br /&gt;Retorna o tipo do próximo campo na tabela.&lt;br /&gt;&lt;br /&gt;mysql_fetch_field_direct()&lt;br /&gt;Retorna o tipo de um campo da tabela, dado um número do campo.&lt;br /&gt;&lt;br /&gt;mysql_fetch_fields()&lt;br /&gt;Retorna um vetor com todas as estruturas do campo.&lt;br /&gt;&lt;br /&gt;mysql_fetch_lengths()&lt;br /&gt;Retorna o tamanho de todas as colunas da linha atual.&lt;br /&gt;&lt;br /&gt;mysql_field_seek()&lt;br /&gt;Coloca o cursor de busca da em uma coluna específica.&lt;br /&gt;&lt;br /&gt;mysql_field_count()&lt;br /&gt;Retorna o número de colunas resultantes da consulta mais recente.&lt;br /&gt;&lt;br /&gt;mysql_field_tell()&lt;br /&gt;Retorna a posição do cursor de campos usado pelo último mysql_fetch_field().&lt;br /&gt;&lt;br /&gt;mysql_free_result()&lt;br /&gt;Libera a memória usada por um resultado.&lt;br /&gt;&lt;br /&gt;mysql_get_client_info()&lt;br /&gt;Retorna uma string com a versão do cliente.&lt;br /&gt;&lt;br /&gt;mysql_get_client_version()&lt;br /&gt;Returna o número da versão do cliente.&lt;br /&gt;&lt;br /&gt;mysql_get_host_info()&lt;br /&gt;Retorna uma string descrevendo os parâmetros da conexão.&lt;br /&gt;&lt;br /&gt;mysql_get_server_version()&lt;br /&gt;Retorna o número da versão do servidor como um inteiro (disponível somente a partir da versão 4.1).&lt;br /&gt;&lt;br /&gt;mysql_get_proto_info()&lt;br /&gt;Retorna a versão do protocolo usado para a conexão.&lt;br /&gt;&lt;br /&gt;mysql_get_server_info()&lt;br /&gt;Retorna o número da versão do servidor.&lt;br /&gt;&lt;br /&gt;mysql_info()&lt;br /&gt;Retorna informações sobre a consulta executada mais recentemente.&lt;br /&gt;&lt;br /&gt;mysql_init()&lt;br /&gt;Aloca ou inicializa um objeto MYSQL.&lt;br /&gt;&lt;br /&gt;mysql_insert_id()&lt;br /&gt;Retorna o ID gerado para uma coluna AUTO_INCREMENT pela consulta anterior.&lt;br /&gt;&lt;br /&gt;mysql_kill()&lt;br /&gt;Mata uma thread dada.&lt;br /&gt;&lt;br /&gt;mysql_list_dbs()&lt;br /&gt;Retorna o nome do banco de dados que coincidem com uma expressão regular.&lt;br /&gt;&lt;br /&gt;mysql_list_fields()&lt;br /&gt;Retorna o nome dos campos que coincidem com uma expressão regular.&lt;br /&gt;&lt;br /&gt;mysql_list_processes()&lt;br /&gt;Retorna uma lista das threads atuais do servidor.&lt;br /&gt;&lt;br /&gt;mysql_list_tables()&lt;br /&gt;Retorna os nomes de tabelas que coincidem com uma expressão regular.&lt;br /&gt;&lt;br /&gt;mysql_num_fields()&lt;br /&gt;Retorna o número de colunas em um conjunto de resultados.&lt;br /&gt;&lt;br /&gt;mysql_num_rows()&lt;br /&gt;Retorna o número de linhas em um conjunto de resultados.&lt;br /&gt;&lt;br /&gt;mysql_options()&lt;br /&gt;Define opções de conexão para mysql_connect().&lt;br /&gt;&lt;br /&gt;mysql_ping()&lt;br /&gt;Verifica se a conexão ao servidor está funcionando, e se necessário se reconecta.&lt;br /&gt;&lt;br /&gt;mysql_query()&lt;br /&gt;Executa uma consulta SQL especificada com uma string terminada com null.&lt;br /&gt;&lt;br /&gt;mysql_real_connect()&lt;br /&gt;Conecta no servidor MySQL (equivalente a mysql_connect()).&lt;br /&gt;&lt;br /&gt;mysql_real_escape_string()&lt;br /&gt;Escapa caracteres especiais em uma string para ser utilizada em uma instrução SQL (equivalente a mysql_escape_string()).&lt;br /&gt;&lt;br /&gt;mysql_real_query()&lt;br /&gt;Executa uma consulta SQL especificada como uma string fixa.&lt;br /&gt;&lt;br /&gt;mysql_reload()&lt;br /&gt;Informa ao servidor para recarregar a tabela de permissões&lt;br /&gt;&lt;br /&gt;mysql_row_seek()&lt;br /&gt;Busca por um offset de linha no resultado, usando o valor retornado de mysql_row_tell().&lt;br /&gt;&lt;br /&gt;mysql_row_tell()&lt;br /&gt;Retorna a posição do cursor de linhas.&lt;br /&gt;&lt;br /&gt;mysql_select_db()&lt;br /&gt;Seleciona um banco de dados (para servidores onde existe mais do que um banco).&lt;br /&gt;&lt;br /&gt;mysql_set_server_option()&lt;br /&gt;Define uma opção para a conexão (como multi-statements).&lt;br /&gt;&lt;br /&gt;mysql_sqlstate()&lt;br /&gt;Retorna o código de erro SQLSTATE para o último erro.&lt;br /&gt;&lt;br /&gt;mysql_shutdown()&lt;br /&gt;Desliga o servidor de banco de dados.&lt;br /&gt;&lt;br /&gt;mysql_stat()&lt;br /&gt;Retorna o status do servidor como uma string.&lt;br /&gt;&lt;br /&gt;mysql_store_result()&lt;br /&gt;Recupera um resultado completo para o cliente.&lt;br /&gt;&lt;br /&gt;mysql_thread_id()&lt;br /&gt;Retorna a identificação da thread atual.&lt;br /&gt;&lt;br /&gt;mysql_thread_safe()&lt;br /&gt;Retorna 1 se o cliente foi compilado como thread-safe.&lt;br /&gt;&lt;br /&gt;mysql_use_result()&lt;br /&gt;Inicia um resultado recuperado registro por registro.&lt;br /&gt;&lt;br /&gt;mysql_warning_count()&lt;br /&gt;Retorna a contagem do aviso da instrução SQL anterior.&lt;br /&gt;&lt;br /&gt;mysql_commit()&lt;br /&gt;Faz um commit na transação (disponível somente a partir da versão 4.1).&lt;br /&gt;&lt;br /&gt;mysql_rollback()&lt;br /&gt;Faz um roll back na transação (disponível somente a partir da versão 4.1).&lt;br /&gt;&lt;br /&gt;mysql_autocommit()&lt;br /&gt;Liga ou desliga o modo autocommit (disponível somente a partir da versão 4.1).&lt;br /&gt;&lt;br /&gt;mysql_more_results()&lt;br /&gt;Verifica se não existem mais resultados (disponível somente a partir da versão 4.1).&lt;br /&gt;&lt;br /&gt;mysql_next_result()&lt;br /&gt;Em execuções de consultas múltiplas, retorna e reinicia o próximo resultado (disponível somente a partir da versão 4.1).&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-3769910548003761856?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/3769910548003761856/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/funcoes-mysql-no-php.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3769910548003761856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3769910548003761856'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/funcoes-mysql-no-php.html' title='Funções MySQL no PHP'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-5786353017593546541</id><published>2009-11-06T12:04:00.000-08:00</published><updated>2009-11-06T12:14:52.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Script'/><category scheme='http://www.blogger.com/atom/ns#' term='MS SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Criação de Tabelas'/><title type='text'>Script de Criação de Tabelas no SQL Server</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Para quem quiser aprender como fazer um script de criação de tabelas é só baixar este arquivo SQL exemplo, além das tabelas também existem exemplos de criação de índices e constraints default e check.&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;a href="http://www.mediafire.com/file/tnmzdmmj0w2/create_tables_mssqlserver.sql"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;DOWNLOAD&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Se tudo correr bem na execução do script ele irá criar uma estrutura igual ao diagrama a seguir.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5401086563803518018" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 375px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_GwvxN1FL2_g/SvSDnRSk1EI/AAAAAAAAAcQ/3Iyyz7t7DOA/s400/diagrama01.gif" border="0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-5786353017593546541?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/5786353017593546541/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/script-de-criacao-de-tabelas-no-sql.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5786353017593546541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5786353017593546541'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/script-de-criacao-de-tabelas-no-sql.html' title='Script de Criação de Tabelas no SQL Server'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GwvxN1FL2_g/SvSDnRSk1EI/AAAAAAAAAcQ/3Iyyz7t7DOA/s72-c/diagrama01.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-5318056423832230997</id><published>2009-11-03T14:46:00.000-08:00</published><updated>2009-11-03T14:49:43.980-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPFILE'/><category scheme='http://www.blogger.com/atom/ns#' term='Parâmetros'/><category scheme='http://www.blogger.com/atom/ns#' term='PFILE'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Arquivos de Parâmetros PFILE e SPFILE do Oracle</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Devido principalmente à semana de provas da faculdade, dei uma pausa rápida nas postagens, mas agora estou voltando com força total.&lt;br /&gt;Além dos Control Files o Oracle ainda tem dois tipos de arquivos de parâmetro, estes arquivos são lidos na inicialização do banco de dados. Quando você inicializa a instância o Oracle verifica o conteúdo do diretório de parâmetros ($ORACLE_HOME/database no Windows ou $ORACLE_HOME/DBS no Linux), e procura primeiramente o SPFILE e depois o PFILE e por fim um arquivo init.ora (forma antiga do Oracle guardar parâmetros), caso ele não encontre nenhum destes arquivos a inicialização falha.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PFILE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O PFILE é um arquivo texto, dentro dele estão guardadas os parâmetros de configuração do banco de dados. Entre outras coisas estes parâmetros informam a quantidade de memória a ser alocada, onde estão os arquivos do banco de dados e onde gravar os arquivos necessários ao funcionamento do banco.&lt;br /&gt;Como o PFILE é um arquivo de texto puro, ele pode ser facilmente editado no VI do UNIX ou no Notepad do Windows. Normalmente ele tem o nome de init&lt;sid&gt;.ora, onde SID é a identificação de seu banco de dados, exemplo se seu SID é bdteste então seu PFILE será nomeado como initbdteste.ora&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPFILE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Diferente do PFILE, o SPFILE é um arquivo binário e seu conteúdo não pode ser editado.&lt;br /&gt;Para verificar se ele existe, use o comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SHOW PARAMETER SPFILE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Embora não possa ser editado diretamente, através do comando ALTER SYSTEM você pode mudar seus parâmetros. Embora pareça ser mais fácil usar um PFILE, o SPFILE traz maiores benefícios, pois ele é incluído no backup feito pelo RMAN toda vez que é alterado, o que garante uma recuperação menos problemática em caso de falhas (falarei sobre o RMAN no futuro), a Oracle também introduziu várias rotinas de otimização automática do banco baseadas no uso do SPFILE, mas um dos maiores benefícios do SPFILE é que você pode fazer mudanças dinâmicas (com o banco em uso) em parâmetros persistentes, estas alterações são efetuadas usando o comando ALTER SYSTEM, como no exemplo a seguir:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Um SPFILE usa o mesmo formato de nome que um PFILE, exceto pela palavra SPFILE que fica no lugar de INIT. Por exemplo, se o seu ORACLE_SID é bdteste, o nome do SPFILE será spfilebdteste.ora.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Administrando o PFILE e o SPFILE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A sua maior preocupação com os SPFILE e PFILES será em manter cópias de backup deles, como dissemos antes você pode usar o RMAN para fazer isso, ou pode fazer o backup manualmente. Como o PFILE é apenas um arquivo texto, você pode copia-lo para outro diretório sem afetar a instância, mas no caso do SPFILE, você precisaria primeiro converte-lo em um PFILE, para fazer isso use o seguinte comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;CREATE PFILE FROM SPFILE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Será criado um PFILE chamado init&lt;sid&gt;.ora no diretório $ORACLE_HOME/database (Windows) ou no $ORACLE_HOME/dbs (Linux/Unix). &lt;br /&gt;Você também pode gravar o PFILE em um outro diretório de sua preferência, basta acrescentar ao comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;CREATE PFILE=/&lt;novo&gt;/BACKUP.ORA FROM SPFILE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Você também pode criar um SPFILE a partir do PFILE que você copiou, usando o comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;CREATE SPFILE FROM PFILE=/PATH/TO/BACKUP.ORA&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Atenção: se o banco de dados esta usando o SPFILE, antes de usar este comando você precisa parar o banco de dados com o comando:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SHUTDOWN IMMEDIATE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para ver quais os valores atuais dos parâmetros do banco de dados, use a view dinâmica V$PARAMETER. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-5318056423832230997?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/5318056423832230997/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/arquivos-de-parametros-pfile-e-spfile.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5318056423832230997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5318056423832230997'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/11/arquivos-de-parametros-pfile-e-spfile.html' title='Arquivos de Parâmetros PFILE e SPFILE do Oracle'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-4450400995632326363</id><published>2009-10-07T05:19:00.000-07:00</published><updated>2009-10-07T05:42:05.953-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Arredondamento'/><title type='text'>Funções de Arredondamento no MySQl</title><content type='html'>&lt;span style="font-family:arial;"&gt;Uma dica rápida sobre o MySQl, se você necessita de valores arredondados para alguma aplicação, use uma das funções nativas do MySQL:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;CEILING&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Arredonda para cima, exemplo:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT CEILING(4.5);&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 5&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT CEILING(-3.29);&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: -3&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;FLOOR&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Arredonda para baixo, exemplo:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT FLOOR(1.5) ;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT FLOOR(-2.37);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: -3&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;ROUND&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Arredonda para o proximo número inteiro (note que valores decimais abaixo de 5 são arredondados para baixo e acima de 5 para cima, e que a função aceita um segundo valor definindo o número de casas decimais do resultado), exemplo:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT ROUND(-1.23);&lt;/span&gt;&lt;/strong&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: -1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT ROUND(-1.58);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: -2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT ROUND(1.298, 1);&lt;/span&gt;&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT ROUND(1.298, 0);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT ROUND(23.298, -1);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 20&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;TRUNCATE&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Elimina as casas decimais (também aceita um segundo valor definindo o número de casas decimais do resultado), exemplo:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT TRUNCATE(1.223,1);&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT TRUNCATE(1.999,1);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1.9&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;SELECT TRUNCATE(122,-2);&lt;/span&gt;&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 100&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;color:#ffff00;"&gt;&lt;strong&gt;SELECT TRUNCATE(10.28*100,0);&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Resultado: 1028&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-4450400995632326363?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/4450400995632326363/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/funcoes-de-arredondamento-no-mysql.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/4450400995632326363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/4450400995632326363'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/funcoes-de-arredondamento-no-mysql.html' title='Funções de Arredondamento no MySQl'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-384282029220228264</id><published>2009-10-05T11:24:00.000-07:00</published><updated>2009-10-05T11:28:24.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Control File'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Control Files do Oracle</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Os Control Files são arquivos binários extensão ctl que guardam informações sobre o banco de dados, por sua vez estas informações mantém a integridade do banco de dados. Este arquivo de controle é validado na inicialização do banco, durante a passagem do estado DATABASE NOMOUNT para MOUNT e cada instância do banco de dados tem o seu Control File.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Para verificar o status e a localização dos Control Files você pode consultar as seguintes views:&lt;br /&gt;&lt;strong&gt;V$CONTROLFILE&lt;/strong&gt;: Lista o nome e o status de todos os Control Files associados à instância.&lt;br /&gt;&lt;strong&gt;V$PARAMETER&lt;/strong&gt;: Lista o status e a localização de todos os parâmetros.&lt;br /&gt;&lt;strong&gt;V$CONTROLFILE_RECORD_SECTION&lt;/strong&gt;: Contém as informações sobre as seções de registro dos Control Files.&lt;br /&gt;&lt;strong&gt;SHOW PARAMETER CONTROL_FILES&lt;/strong&gt;: Lista o nome, o status e a localização dos Control Files.&lt;br /&gt;&lt;br /&gt;O Control File contém as seguintes informações:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;O nome e o identificador (SID) do banco de dados.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;O timestamp de criação do banco de dados.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Os nomes das tablespaces.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Os nomes e as localizações dos arquivos de dados e de redo log on-line.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;O número de seqüência do arquivo de redo log on-line atual.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;As informações sobre checkpoints.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;O início e o fim dos segmentos de undo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;As informações de arquivamento de redo log.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;As informações de backup.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;Como você pode ver ele contém dados importantíssimos para o funcionamento do banco, a sua perda pode implicar na recuperação de todo o banco. Uma das estratégias para se precaver disso é multiplexar o Control File.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Multiplexação do Control File&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A multiplexação consiste em fazer várias cópias do Control File em locais diferentes, exemplo se você tem dois discos u01 e u02, você pode criar cópias nos dois através dos arquivos de parâmetros, com a seguinte sequência de comandos:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Através do SPFILE&lt;/strong&gt;&lt;br /&gt;1. Altere o SPFILE:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;ALTER SYSTEM SET control_files =&lt;br /&gt;'$HOME/ORADATA/u01/ctrl01.ctl',&lt;br /&gt;'$HOME/ORADATA/u02/ctrl02.ctl' SCOPE=SPFILE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;2. Desative o banco de dados:&lt;br /&gt;&lt;span style="color:#ffff00;"&gt;&lt;strong&gt;shutdown immediate&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;3. Crie os Control Files adicionais:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;cp $HOME/ORADATA/u01/ctrl01.ctl&lt;br /&gt;   $HOME/ORADATA/u02/ctrl02.ctl&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;4. Inicie o banco de dados:&lt;br /&gt;&lt;span style="color:#ffff00;"&gt;&lt;strong&gt;startup&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Através do PFILE&lt;br /&gt;1. Desative o banco de dados:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;shutdown immediate&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;2. Crie arquivos de controle adicionais:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;cp $HOME/ORADATA/u01/ctrl01.ctl&lt;br /&gt;   $HOME/ORADATA/u02/ctrl02.ctl&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;3. Adicione os nomes dos arquivos de controle a PFILE:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;CONTROL_FILES = $HOME/ORADATA/u01/ctrl01.ctl,&lt;br /&gt;                $HOME/ORADATA/u02/ctrl02.ctl)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;4. Inicie o banco de dados:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff00;"&gt;Startup&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Com varias copias do Control File, no caso de uma falha em um deles você pode usar a cópia para recupera-lo.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Backup do Control File&lt;/strong&gt;&lt;br /&gt;Para fazer o backup normal do Control File, use o comando ALTER DATABASE BACKUP &lt;strong&gt;&lt;span style="color:#ffff00;"&gt;CONTROLFILE, exemplo:&lt;br /&gt;ALTER DATABASE&lt;br /&gt;BACKUP CONTROLFILE TO '/oracle/backup/ctrl01.bkp';&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Na próxima postagem falaremos sobre os arquivos de parâmetros SPFILE e PFILE.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-384282029220228264?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/384282029220228264/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/control-files-do-oracle.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/384282029220228264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/384282029220228264'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/control-files-do-oracle.html' title='Control Files do Oracle'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-3142024136459470972</id><published>2009-10-01T06:49:00.000-07:00</published><updated>2009-10-01T07:15:46.496-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SQL Developer'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Conheça o Oracle SQL Developer</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;O Oracle SQL Developer é uma ferramenta gratuita para desenvolvimento em banco de dados, já esta na versão 1.5.5 e embora tenha recursos poderosos infelizmente é um aplicativo que é muito pouco divulgado pela própria Oracle. Com ele você pode procurar objetos do banco, executar comandos e scripts SQL e editar e depurar código PL/SQL. Além disso, como ele foi desenvolvido em Java, roda em Windows, Linux e Mac OSX e os usuários podem criar conexões de banco de dados para outros bancos como MySQL, SQL Server, Access e Sybase. Vamos dar uma rápida descrição das suas principais funcionalidades: &lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name="connect"&gt;&lt;/a&gt;&lt;a name="browse"&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Estrutura Object Browser&lt;br /&gt;&lt;/strong&gt;Oferece suporte a visualização, criação, alteração e exclusão de todos os tipos de objetos do banco: tabelas, views, índices, pacotes, procedimentos, funções, triggers, seqüências, materialized views, logs, sinônimos (públicos e privados), database links, esquemas XML, Java. Cada tipo de objeto têm uma guia de exibição de detalhes própria e um filtro que pode ser aplicado para restringir a exibição, incorpora também uma lixeira para os objetos excluídos.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://2.bp.blogspot.com/_GwvxN1FL2_g/SsNrv3vhZBI/AAAAAAAAAUI/xYza2UpigZw/s1600-h/what_browse.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5387268049426539538" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 200px" alt="" src="http://2.bp.blogspot.com/_GwvxN1FL2_g/SsNrv3vhZBI/AAAAAAAAAUI/xYza2UpigZw/s320/what_browse.gif" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Query Builder&lt;/strong&gt;&lt;br /&gt;Possibilita criar rapidamente consultas SQL arrastando e soltando os objetos.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Schema Copy and Compare&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Permite copiar o conteúdo de um esquema para outro e também compara e cria SQL baseado na diferença entre dois esquemas.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name="worksheet"&gt;&lt;/a&gt;&lt;a name="plsql"&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Edição de PL / SQL&lt;/strong&gt;&lt;br /&gt;Possui um editor PL/SQL muito avançado com as seguintes funções:&lt;br /&gt;Formatação de código&lt;br /&gt;Syntax Highlighting&lt;br /&gt;Auto completa código&lt;br /&gt;Inline Error Reporting&lt;br /&gt;Code Bookmarking&lt;br /&gt;Teclas de atalho customizaveis&lt;br /&gt;Suporte a arquivos .pks, .pkb e .pls&lt;/span&gt;&lt;a name="debug"&gt;&lt;/a&gt;&lt;a name="reports"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Suporte a pacotes&lt;br /&gt;Debugger avançado&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;strong&gt;Criação de relatórios&lt;br /&gt;&lt;/strong&gt;Cria os seguintes tipos de relatórios:&lt;br /&gt;Dicionário de dados&lt;br /&gt;Monitoramento&lt;br /&gt;Segurança&lt;br /&gt;Os relatórios tem suporte a gráficos e HTML e a maioria dos relatórios apresentados incluem o recurso click-through, se um usuário clica em uma linha resultante, a definição daquele objeto é exibida.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://4.bp.blogspot.com/_GwvxN1FL2_g/SsNtmC-KwbI/AAAAAAAAAUg/TKX9stlYNQ0/s1600-h/what_report.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5387270079665324466" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://4.bp.blogspot.com/_GwvxN1FL2_g/SsNtmC-KwbI/AAAAAAAAAUg/TKX9stlYNQ0/s320/what_report.gif" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name="mig"&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Suporte a migrações de outros bancos de dados&lt;br /&gt;&lt;/strong&gt;Conecta com MySQL, SQL Server, Access e Sybase, permite visualizar e converter o modelo do banco para o modelo Oracle, gera script DDL e migra dados, stored procedures, triggers e views.&lt;/span&gt;&lt;a name="ide"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Para fazer o download desta excelente ferramenta clique no link:&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;a href="http://www.oracle.com/technology/software/products/sql/index.html"&gt;&lt;span style="font-family:arial;"&gt;http://www.oracle.com/technology/software/products/sql/index.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-3142024136459470972?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/3142024136459470972/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/conheca-o-oracle-sql-developer.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3142024136459470972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/3142024136459470972'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/10/conheca-o-oracle-sql-developer.html' title='Conheça o Oracle SQL Developer'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_GwvxN1FL2_g/SsNrv3vhZBI/AAAAAAAAAUI/xYza2UpigZw/s72-c/what_browse.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-5164671715290683032</id><published>2009-09-29T16:25:00.000-07:00</published><updated>2009-09-30T07:11:41.442-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Auto incremento'/><title type='text'>SEQUENCE: Auto Incremento no Oracle</title><content type='html'>&lt;span style="font-family:arial;"&gt;Agora que você já sabe como fazer auto incremento no SQL Server e MySQL, vamos explicar como isso funciona no Oracle.&lt;br /&gt;O Oracle é um pouco diferente pois ele utiliza um objeto chamado Sequence, a sintaxe para criação deste objeto é a seguinte:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;&lt;strong&gt;CREATE SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;START WITH 1&lt;br /&gt;INCREMENT BY 1&lt;br /&gt;MAXVALUE 99999&lt;br /&gt;CYCLE&lt;br /&gt;CACHE 10&lt;br /&gt;ORDER;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vejamos o que este comando faz, em primeiro lugar você especifica o nome da seqüência (EXEMPLO_SEQUENCE), em seguida você deve informar alguns parâmetros:&lt;br /&gt;&lt;strong&gt;START WITH&lt;/strong&gt;&lt;br /&gt;Aqui você informará qual será o valor inicial da sequência, no caso estamos iniciando em 1.&lt;br /&gt;&lt;strong&gt;INCREMENT BY&lt;/strong&gt;&lt;br /&gt;Define qual será o incremento da sequência, nesse caso estamos incrementando de 1 unidade.&lt;br /&gt;&lt;strong&gt;MAXVALUE&lt;br /&gt;&lt;/strong&gt;Este será o valor máximo que a sequência alcancará, se você não definir nenhum valor, ele assumirá o valor padrão NOMAXVALUE que na verdade indica um valor máximo de 999999999999999999999999999. Caso você esteja usando decremento use MINVALUE.&lt;br /&gt;&lt;strong&gt;CYCLE&lt;br /&gt;&lt;/strong&gt;Determina que a sequencia será reiniciada ao chegar no valor máximo (o padrão é NOCICLE).&lt;br /&gt;&lt;strong&gt;CACHE&lt;/strong&gt;&lt;br /&gt;Especifica a quantidade de valores que será carregada no buffer (o padrão é 20), serve para melhorar a performance de acesso, caso você não queira usar esta propriedade mude para NOCACHE.&lt;br /&gt;&lt;strong&gt;ORDER&lt;/strong&gt;&lt;/span&gt;&lt;a name="sthref5343"&gt;&lt;/a&gt;&lt;a name="sthref5344"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Garante que a sequência será gerada em ordem de requisição, em algumas situações esta opção é muito útil, se você não especificar esta opção, a sequencia assumirá o padrão NOORDER.&lt;br /&gt;&lt;br /&gt;Você deve ter notado que o objeto foi criado sem estar vinculado a uma tabela em particular, pois esta é a maior diferença em relação aos outros bancos de dados. Cada SEQUENCE é um objeto independente dentro do banco de dados, isso pode ser muito vantajoso pois um único objeto SEQUENCE pode ser reutilizado em várias tabelas do banco de dados, economizando tempo e trabalho. Assim para inserir dados usando SEQUENCE, você deve incluir o objeto no seu comando INSERT, exemplo:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;INSERT INTO EXEMPLO_TABELA (CODIGO, NOME, EMAIL) &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;VALUES (EXEMPLO_SEQUENCE. NEXTVAL,’José da Silva’, ‘jose@mail.com’);&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Como você deve ter notado, é preciso usar a função NEXTVAL para obter o próximo valor da sequencia. Veja um exemplo de UPDATE usando esta função:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;UPDATE EXEMPLO_TABELA&lt;br /&gt;SET CODIGO = EXEMPLO_SEQUENCE.NEXTVAL&lt;br /&gt;WHERE CODIGO = 1017;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Se no entanto você quisesse saber qual é o valor atual da sequencia, você deveria usar a função CURRVAL, que retornaria o valor atual da sequencia:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;SELECT EXEMPLO_SEQUENCE.CURRVAL FROM DUAL;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;No entanto existem algumas restrições, CURRVAL e NEXTVAL não podem ser usados nas seguintes situações:&lt;br /&gt;• Em uma subquery.&lt;br /&gt;• Em uma query de uma view.&lt;br /&gt;• Em um comando SELECT com o operador DISTINCT.&lt;br /&gt;• Em um comando SELECT com uma clausula GROUP BY ou ORDER BY.&lt;br /&gt;• Em um comando SELECT que esteja sendo combinado com outro SELECT através dos operadores UNION, INTERSECT, ou MINUS.&lt;br /&gt;• Na clausula WHERE de um comando SELECT.&lt;br /&gt;• Como o valor DEFAULT de uma coluna em um commando CREATE TABLE ou ALTER TABLE.&lt;br /&gt;• Como condição de uma restrição CHECK.&lt;br /&gt;&lt;br /&gt;Para verificar os parâmetros de uma sequência use o comando:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;SELECT SEQUENCE_NAME, INCREMENT_BY, MAX_VALUE, LAST_NUMBER FROM USER_SEQUENCES;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Como você pôde notar, a tabela USER_SEQUENCES guarda informações sobre todas as sequências. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Para alterar os parâmetros de uma sequência, use o comando:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;ALTER SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;START WITH 2&lt;br /&gt;INCREMENT BY 2&lt;br /&gt;CACHE 5;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para excluir uma sequencia, use o comando:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;DROP SEQUENCE EXEMPLO_SEQUENCE;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Uma dica: para alterar o valor final de uma sequencia você pode alterar o ultimo valor executando o comando ALTER SEQUENCE. Por exemplo, se o ultimo valor usado pelo Oracle for 50 e quisermos alterar para 105, devemos usar a seguinte sequencia de comandos:&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;ALTER SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;INCREMENT BY 54;&lt;br /&gt;SELECT EXEMPLO_SEQUENCE.NEXTVAL FROM DUAL;&lt;br /&gt;ALTER SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;INCREMENT BY 1;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;O próximo valor usado pela sequência será então o 105.&lt;br /&gt;&lt;br /&gt;Outra dica: para reiniciar uma sequencia para um valor predeterminado, por exemplo de 100 para 50:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;&lt;strong&gt;ALTER SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;INCREMENT BY -50;&lt;br /&gt;SELECT EXEMPLO_SEQUENCE.NEXTVAL FROM DUAL;&lt;br /&gt;ALTER SEQUENCE EXEMPLO_SEQUENCE&lt;br /&gt;INCREMENT BY 1;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-5164671715290683032?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/5164671715290683032/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/sequence-auto-incremento-no-oracle.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5164671715290683032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/5164671715290683032'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/sequence-auto-incremento-no-oracle.html' title='SEQUENCE: Auto Incremento no Oracle'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-8342160981334580441</id><published>2009-09-12T05:58:00.000-07:00</published><updated>2009-09-12T06:11:51.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='MS SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Auto incremento'/><title type='text'>Auto Incremento no SQL Server e MySQL</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:arial;"&gt;Usar campos com auto incremento no banco de dados tem várias vantagens, você previne erros de chaves primárias duplicadas e pode se abstrair deste controle nos programas que acessam o banco. Ele funciona da seguinte forma: para cada inserção de registro o banco se encarrega de sempre incrementar um campo de chave primária com um valor seqüencial.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;SQL Server&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;No SQL Server você pode fazer isso através da propriedade IDENTITY, ela recebe dois valores: o primeiro é o valor inicial e o segundo é o valor de incremento, exemplo:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#ffff33;"&gt;CREATE TABLE DBO.TABELA (&lt;br /&gt;ID INT IDENTITY (1,1) NOT NULL, / inicia em 1 e incrementa de 1 em 1&lt;br /&gt;NOME VARCHAR(50) NULL,&lt;br /&gt;EMAIL VARCHAR(50) NULL,&lt;br /&gt;PRIMARY KEY (ID)&lt;br /&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se a tabela já foi criada você pode alterá-la assim:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;ALTER TABLE DBO.TABELA ALTER COLUMN ID INT IDENTITY(1,1);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No comando de inserção você não precisará mais referenciar o campo com auto incremento:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;INSERT INTO TABELA (NOME, EMAIL) VALUES (‘JOSE DA SILVA’, ‘jose@mail.com’);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se por alguma razão você precisar reiniciar o auto incremento, os campos Indentity Increment do SQL Server possuem um contador mantido nas tabelas do sistema, para alterar as mesmas deve-se utilizar o comando DBCC. Para reiniciar completamente o contador, iniciando do zero novamente, use:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;DBCC CHECKIDENT ('TABELA', RESEED, 0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para colocar o ultimo numero utilizado:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;DBCC CHECKIDENT (TABELA, RESEED, (SELECT MAX(ID) FROM TABELA))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para saber qual o valor atual do campo use o comando IDENT_CURRENT():&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;SELECT IDENT_CURRENT(TABELA) IDENT_INCR (TABELA)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para saber qual o valor de incremento use IDENT_INCR():&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#ffff33;"&gt;SELECT TABELA, IDENT_INCR(TABELA) AS IDENT_INCR&lt;br /&gt;FROM INFORMATION_SCHEMA.TABLES&lt;br /&gt;WHERE IDENT_INCR(TABELA) IS NOT NULL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para saber qual foi o valor inicial use IDENT_SEED ():&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#ffff33;"&gt;SELECT TABELA, IDENT_SEED(TABELA) AS IDENT_SEED&lt;br /&gt;FROM INFORMATION_SCHEMA.TABLES&lt;br /&gt;WHERE IDENT_SEED(TABELA) IS NOT NULL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O processo é parecido no MySQL, a chave primária recebe a propriedade AUTO_INCREMENT:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#ffff33;"&gt;CREATE TABLE TABELA (&lt;br /&gt;ID INTEGER NOT NULL AUTO_INCREMENT,&lt;br /&gt;NOME VARCHAR(50) NOT NULL ,&lt;br /&gt;EMAIL VARCHAR(50) NOT NULL ,&lt;br /&gt;PRIMARY KEY (ID)&lt;br /&gt;) TYPE = InnoDB ROW_FORMAT = Default;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para alterar uma tabela que já existe:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;ALTER TABLE TABELA CHANGE ID ID INT AUTO_INCREMENT PRIMARY KEY;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como você notou, a propriedade tem o valor inicial padrão de auto incremento como 1, e o incremento padrão de 1. Como o MySQL não tem uma função específica para isso, nesse caso para alterar o valor inicial de auto incremento você poderia usar o comando:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;ALTER TABLE TABELA AUTO_INCREMENT = 100; / Iniciaria a partir de 100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para saber qual o último valor do campo use:&lt;br /&gt;&lt;span style="color:#ffff33;"&gt;SELECT MAX(ID) FROM TABELA;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mas você deve estar se perguntando: E quanto ao Oracle? O Oracle tem um mecanismo muito eficiente para fazer auto incremento chamado Sequence. Breve estaremos falando deste mecanismo em um post especial.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-8342160981334580441?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/8342160981334580441/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/auto-incremento-no-sql-server-e-mysql.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/8342160981334580441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/8342160981334580441'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/auto-incremento-no-sql-server-e-mysql.html' title='Auto Incremento no SQL Server e MySQL'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-6116778898047345588</id><published>2009-09-08T09:25:00.000-07:00</published><updated>2009-09-12T06:05:35.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Inicialização'/><title type='text'>Inicialização do Oracle</title><content type='html'>&lt;p align="justify"&gt;&lt;span style="font-family:arial;"&gt;Como primeiro assunto, quero abordar as diferentes formas de se iniciar o Oracle, e para quais situações você deve usar cada uma delas:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:arial;"&gt;Para iniciar a instância (entenda instância como a parte do banco de dados onde os usuários se conectam, ela é composta pela System Global Area e pelos processos SMON, PMON, DBWn, LGWR, CKPT), em primeiro lugar você deve estar conectado ao SQL Plus como um usuário privilegiado (usuário SYS):&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:arial;color:#ffff33;"&gt;&lt;strong&gt;C:\&gt; sqlplus "/as sysdba"&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:arial;"&gt;O primeiro comando que analisaremos é:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:arial;color:#ffff33;"&gt;&lt;strong&gt;SQL&gt; STARTUP NOMOUNT&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;"&gt;Neste estado, a instância é inicializada, os arquivos de parâmetros são lidos (SPFILE&lt;nome&gt;&lt;nome&gt;&lt;nome&gt;.ora ou SPFILE.ora ou init&lt;nome&gt;&lt;nome&gt;&lt;nome&gt;.ora), a SGA e os processos são inciados, porém o banco de dados ainda não esta montado. Somente usuários privilegiados conseguem conctar-se ao banco, este estado é ideal para criar um banco de dados manualmente ou para recuperar os control files.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="color:#ffff33;"&gt;&lt;span style="font-family:arial;"&gt;SQL&gt; &lt;/span&gt;&lt;span style="font-family:arial;"&gt;STARTUP MOUNT&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;"&gt;Usando este comando, a instância é iniciada e os control files (falaremos mais deles em outra ocasião) são validados. Nesse estado a estrutura do banco de dados foi "montada" e já esta disponível, pode-se acessar os datafiles e o redo-online, nesse momento pode-se executar tarefas de manutenção como renomear arquivos de dados, ativar e desativar opções de arquivamento de redo log e recuperar o banco de dados.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;color:#ffff33;"&gt;&lt;strong&gt;SQL&gt; STARTUP OPEN ou apenas STARTUP&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;"&gt;Nesse estado, a estrutura do banco de dados já foi verificada e validada, os datafiles e o redo-online são abertos e o banco já pode receber conexões de usuários comuns.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;"&gt;ATENÇÃO: Se você usou um dos comandos acima, para passar para o próximo estágio de incialização você deve usar o comando ALTER DATABASE, exemplo:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;"&gt;Se você entrou no estado NOMOUNT, para passar para o estado MOUNT use:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Arial;color:#ffff33;"&gt;&lt;strong&gt;SQL&gt; ALTER DATABASE MOUNT&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-6116778898047345588?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/6116778898047345588/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/inicializacao-do-oracle.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/6116778898047345588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/6116778898047345588'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/09/inicializacao-do-oracle.html' title='Inicialização do Oracle'/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-353579097510061404.post-9027056705215180156</id><published>2009-07-28T04:23:00.000-07:00</published><updated>2009-07-28T04:25:14.532-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Oi esta é minha primeira postagem, criei este blog para compartilhar com vocês meu conhecimento e experiência em banco de dados. Um abraço a todos e sejam bem vindos!&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/353579097510061404-9027056705215180156?l=dbaprobrasil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbaprobrasil.blogspot.com/feeds/9027056705215180156/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/07/oi-esta-e-minha-primeira-postagem-criei.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/9027056705215180156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/353579097510061404/posts/default/9027056705215180156'/><link rel='alternate' type='text/html' href='http://dbaprobrasil.blogspot.com/2009/07/oi-esta-e-minha-primeira-postagem-criei.html' title=''/><author><name>Justin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
