Social Icons

27 de jan. de 2012

Instalação do Oracle 11GR2 Express Edition + SQL Developer 3.0


Olá pessoal,

     Na postagem de hoje não vou publicar um artigo, farei algo diferente, vou compartilhar um vídeo em que eu demonstro a instalação do Oracle Database 11GR2 Express Edition + instalação do SQL Developer 3.0, em um Sistema Operacional Windows. Além da instalação, no vídeo faço vários comentários sobre as vantagens e desvantagens da versão Express do Oracle Database e sobre características do SQL Developer e mostro no final, como se conectar no Banco de Dados utilizando o SQL Developer.
 
     Um comentário rápido sobre o Oracle Database Express Edition é que ele é uma ótima opção para fazer treinamentos, testes e desenvolvimento. Ele já vem com um schema instalado com dados para testes e treinamentos, chamado HR. Mais informações sobre o schema HR, leia o artigo Instalando o schema de exemplo HR.
   
     O vídeo está no Youtube, dividido em 2 partes (por causa de limitações do Youtube, que permitem postar vídeos com tempo somente de até 15 minutos):

            - Instalação do Oracle Database 11GR2 Express Edition + SQL Developer 3.0 - Parte 1;
  

[]s

Fábio Prado

20 de jan. de 2012

Appliance de Máquina virtual com Oracle Database 11GR2


Olá pessoal,

     No artigo de hoje vou compartilhar com vocês um appliance do Oracle VM Virtual Box que eu costumo utilizar e indicar para meus alunos que desejam montar laboratórios para aprender mais sobre Oracle Database, SQL Developer e outras ferramentas relacionadas. Irei explicar a seguir, o que contém este appliance e quais são os pré-requisitos para efetuar a sua importação. No final, apresentarei um roteiro passo a passo de como importá-lo.
  
     Para quem não está familiarizado com o termo appliance e outros termos relacionados à virtualização, sugiro que leia primeiro o artigo Virtualização: O que é e para que serve?. Para utilizar a máquina virtual que vou indicar, é necessário instalar préviamente o software Oracle VM Virtual Box. Para efetuar a sua instalação, leia o artigo Instalando o Oracle VM Virtual Box.   
  
     O appliance que compartilharei com vocês, conhecido como Oracle Technology Network Developer Day - Hands-on Database Application Development, contém os seguintes softwares pré-configurados:
        - Oracle Linux 5;
        - Oracle Database 11g Release 2 Enterprise Edition;
        - Oracle TimesTen In-Memory Database Cache;
        - Oracle XML DB;
        - Oracle SQL Developer;
        - Oracle SQL Developer Data Modeler;
        - Oracle Application Express;
        - Oracle JDeveloper;
        - Hands-On-Labs.
     Os requisitos de hardware e sistema operacional para importá-lo são:
          - 2 GB RAM;
          - 15 GB de espaço livre em disco;
          - Processador de 2 GHz (mínimo recomendável);
          - Privilégios de administrador para o usuário do SO. 

     O appliance foi disponibilizado pela Oracle para fins de testes e uso pessoal. Sugiro que você leia atentamente o termos e condições da licença de uso (que podem ser consultados durante o processo de importação) antes de utilizar os softwares da máquina virtual.
  
     Segue abaixo o roteiro passo a passo do processo de importação:


1. Passo a passo da Importação do Appliance

1.1 Faça um download do arquivo Oracle Developer Day.ova. Para baixá-lo é necessário ter uma conta oracle;

1.2 Execute o Oracle VM Virtual Box e clique em Arquivo -> Importar Appliance (ver Figura 1), para abrir o Appliance Import Wizard, que nos ajudará no processo de importação;

Figura 1
1.3 Clique no botão Escolher (ver Figura 2);

Figura 2
1.4 Localize e selecione o arquivo baixado no passo 1.1 e clique no botão Próximo (ver Figura 3)

Figura 3
1.5 Leia os termos e condições da licença de uso e clique no botão Concordo (ver Figura 4). Em seguida, o processo de importação será realizado;

Figura 4

1.6  Pronto, ao visualizar a tela da Figura 5, o processo de importação finalizou e você já pode iniciar a máquina virtual, dando um duplo clique no item "Oracle Developer Days";

Figura 5

Observações: Ao aparecer a tela de login do Linux, o nome e senha de usuário para se logar é oracle. Para mais informações, leia o link das referências deste artigo.

Por hoje é só!

[]s


Referências:
     http://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.html

14 de jan. de 2012

Instalando o Oracle VM Virtual Box




Olá pessoal,
  
     No artigo de hoje vou apresentar para vocês o Oracle VM Virtual Box e um passo-a-passo de como instalar a última versão deste software de virtualização da Oracle em um Sistema Operacional Windows. Para quem ainda não está familiarizado com os termos e conceitos que envolvem virtualização, sugiro que leia primeiro o artigo Virtualização: O que é e para que serve?.
   
     O Oracle VM Virtual Box é um software livre multi-plataforma que permite efetuar virtualização de um ou mais sistemas operacionais em um computador com Sistema Operacional (SO) Windows (XP ou superior), Linux, Macintosh ou Solaris. Alguns dos principais recursos que este software apresenta são:
        - Como qualquer software de virtualização, permite criar máquinas virtuais isoladas de outras máquinas virtuais e da máquina real. As máquinas reais e virtuais podem se comunicar através de configurações de rede compatíveis;
        - Possui funcionalidades para exportar e importar appliances;
        - Possui pacotes de extensão que permitem adicionar funcionalidades extras na máquina virtual, tais como: suporte à dispositivos USB 2.0, suporte à conexões RDP  (Remote Desktop Protocol) e compartilhamento de pastas entre máquina real e máquina virtual;
       - Permite gravar snapshots (imagens de um determinado estado) da máquina virtual para possibilitar que você possa retomar posteriormente seu trabalho, no estado em que ela encontra-se, sem reiniciá-la;
       - Permite que você configure os recursos de hardware que estarão disponíveis para a máquina virtual, tais como: qtde de RAM, qtde de CPUs e tamanho do disco que poderá ser utilizado.

     Efetuaremos agora a instalação do Oracle VM Virtual Box, versão 4.1.8, e instalaremos em seguida um pacote de extensão para adicionar algumas funcionalidades à máquina virtual. O processo de instalação é bem simples e rápido:

1- Passo-a-passo para a instalação do Oracle VM Virtual Box 4.1.8

1.1 Efetue o download do instalador (versão 4.1.8) ou última versão "estável" deste software a partir do site https://www.virtualbox.org/;

1.2  Execute o arquivo instalador (no caso da versão 4.1.8, o arquivo é "VirtualBox-4.1.8-75467-Win.exe) e clique no botão Next (ver Figura 1)

Figura 1
1.3 Clique no botão Next ( ver Figura 2);

Figura 2
1.4 Clique no botão Next (ver Figura 3);

Figura 3
1.5 Clique no botão Yes (ver Figura 4);

Figura 4
1.6 Clique no botão Install (ver Figura 5);

Figura 5
1.7 Clique no botão Finish (ver Figura 6);

Figura 6

1.8 Pronto, a instalação finalizou. Ao aparecer a tela da Figura 7, temos certeza de que o software foi instalado com sucesso! O próximo passo agora, será instalar o Extension Pack.

Figura 7


2. Passo-a-passo para a instalação do Oracle VM Virtual Box Extension Pack 4.1.8


2.1 Efetue o download do instalador (versão 4.1.8) do Extension Pack a partir do site https://www.virtualbox.orgÉ importante ressaltar que você tem que instalar o Extension Pack da mesma versão (Ex.: 4.1.8) que o software virtualizador que você instalou no passo anterior;

2.2  Execute o arquivo de instalação do Extension Pack (no meu caso, o arquivo "Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467") e clique no botão Instalar (ver Figura 8);

Figura 8

2.3 Leia a licença do software (desça a barra de rolagem) e clique no botão Eu concordo (A) (ver Figura 9);

Figura 9

2.4  Clique no botão OK (ver Figura 10). Pronto a instalação foi finalizada!

Figura 10

Por hoje é só!

[]s

Referências:
    
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
     http://www.rodrigoalmeida.net/blog/instalacao-oracle-virtualbox-4-0-2
     http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
     https://www.virtualbox.org/

11 de jan. de 2012

Virtualização: O que é e para que serve?


Olá pessoal,

      No artigo de hoje vou comentar sobre Virtualização: o que é e para que serve o uso dessa técnica que tem crescido considerávelmente nos últimos anos.
  
     Para começar, iremos conhecer primeiro, alguns termos que são utilizados quando a gente fala de virtualização:
         - Virtualizador: software de virtualização ou programa que permite emular instruções de uma determinada plataforma.  Exemplos: VMWare e Oracle VM Virtual Box;
         - Máquina virtual (VM): programas virtuais que são executados no virtualizador e que podem trabalhar de modo semelhante aos programas que são executados diretamente na máquina física ou máquina real. É possível gerenciar os recursos da máquina física que estarão disponíveis para a máquina virtual. Entre vários recursos, podemos configurar quantidade de memória, disco e processadores disponíveis para ela.
         - SO Hospedeiro (host): sistema operacional da máquina em que o virtualizador foi instalado;
         - SO Convidado (guest): sistema operacional de uma máquinas virtual criada ou instalada no hospedeiro, através do virtualizador;
         - Aplicação (appliance): imagem de uma máquina virtual. Uma appliance pode ser gerada através do virtualizador para permitir exportar e importar máquinas virtuais entre diversos hospedeiros ou até mesmo para backupear máquinas virtuais;
       
     Atualmente, as VMs estão se espalhando pelas empresas e sua utilização tem acompanhado o crescimento do uso de serviços de Computação nas Nuvens (Cloud Computing). Os provedores de serviços de Cloud Computing utilizam virtualização em larga escala para fornecer serviços a seus clientes. 
   
     As máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem compartilhar recursos de hardware de uma máquina para executar diversos sistemas operacionais e softwares (em máquinas virtuais). Como exemplos de utilização de VMs, podemos citar:  
       - Criação de ambientes ou sistemas para utilização como laboratórios de estudos (eu ministro meus treinamentos em máquinas virtuais);
       - Criação de ambientes de produção, testes ou desenvolvimento de softwares.      
       
     Utilizando máquina virtuais podemos obter muitos benefícios, entre os quais podemos destacar: 
        - Redução de custos: esse é o benefício principal da virtualização. Ao compartilhar recursos físicos (hardware) de uma máquina real para implementar várias máquinas virtuais, podemos reduzir custos de aquisição e manutenção (Ex.: administração, alocação e consumo de energia) de máquinas servidoras, storage e dispositivos de rede, tais como: hubs, switches, cabeamento etc.       
        - Gerenciamento centralizado: a partir de um único ponto (máquina servidora), podemos gerenciar várias máquinas virtuais;
        - Redução do consumo de energia: devido à redução da quantidade de máquinas;
        - Melhor aproveitamento do espaço físico: com menos máquinas, diminui a necessidade de espaço físico para alocação delas;
        - Consolidação de infraestrutura: com o compartilhamento de hardware entre as máquinas virtuais, pode-se reduzir o custo com hardware e eletricidade. Ao invés de executar múltiplos computadores físicos que são parcialmente utilizados, podemos executar várias máquinas virtuais em um único computador físico mais potente e melhor utilizado;
        - Facilidade para migração de ambientes: quando for necessário efetuar a migração de ambientes e sistemas, como por exemplo, no caso da aquisição de uma nova máquina servidora, migrar uma máquina virtual é muito simples. É só gerar um appliance e importá-lo posteriormente na nova máquina servidora.
  
     Existem ainda muitos outros benefícios que podemos obter com a virtualização. É importante ressaltar, porém, que nem tudo são flores! Também existem desvantagens no uso de máquinas virtuais, quando a virtualização é feita no nível do software (ver tipos de virtualização). A principal desvantagem é a diferença de performance entre máquinas virtuais e máquinas reais. De acordo com o artigo Testando a Virtualização de banco de dados da revista SQL Magazine 93, a performance de um banco de dados SQL Server 2008 em máquina real foi 53% melhor que a performance de um SQL Server 2008 em máquina virtual.

Por hoje é só! Espero que o artigo ajude aqueles estão avaliando ou estudando a viabilidade do uso de máquinas virtuais!


[]s

    
Referências:
     http://www.profissionaisti.com.br/2010/08/virtualizacao-sua-empresa-e-a-natureza-agradecem/
     http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
     http://www.profissionaisti.com.br/2011/11/distincoes-de-computacao-em-nuvem-cloud-computing-e-computacao-em-grade-grid-computing/
     http://www.profissionaisti.com.br/2011/10/virtualizacao-para-pequenas-empresas/
     http://www.profissionaisti.com.br/2011/07/virtualizacao-virtual-machine-vm-com-virtualbox/

3 de jan. de 2012

Qual é o melhor Banco de Dados: ORACLE ou SQL SERVER?



Olá pessoal,
  
     Estou escrevendo este artigo para fazer um comparativo e comentar sobre algumas vantagens e recursos dos 2 bancos de dados (BDs) mais utilizados nas grandes empresas brasileiras: Oracle e SQL Server, conforme pesquisa realizada em 2005 pelo Grupo Impacta (ver Figura 1). Embora a pesquisa de 2005 não seja tão recente, ela foi a mais confiável e concisa que eu encontrei para demonstrar a nossa realidade.

Figura 1 - BDs mais utilizados nas grandes empresas brasileiras (Grupo Impacta 2005)

     Conheço os 2 BDs que vou comentar neste artigo, porém conheço muito melhor o BD Oracle, por isso, gostaria que os profissionais que estiverem lendo este artigo, deixem comentários que possam acrescentar mais detalhes sobre o SQL Server e recursos que existam nele e que não tenham itens correspondentes no Oracle. 
   
     Seguem abaixo as principais características de cada BD:
   
SQL Server:
     - SGBD comercializado atualmente pela Microsoft. Nasceu em 1988, a partir de uma parceria entre Microsoft, Sybase e Aston-Tate;
     - Última versão (até a data da publicação deste artigo): SQL Server 2008;
     - Custo de uma licença da versão Enterprise por CPU: aprox. U$ 28.000 por CPU;
     - Pode ser instalado somente em SO Windows;
     - Possui ferramentas de administração com interface gráfica excelentes, que possibilitam um gerenciamento mais fácil e produtivo. Ex.: SQL Server Management Studio 2008;
     - Como toda ferramenta Microsoft, o BD SQL Server em geral, é mais fácil de administrar e de programar do que em Oracle;
     - 2 recursos que acho bastante interessantes em SQL Server e que não existem correspondência no Oracle, são:
           a) Divisão lógica de uma instância contendo vários BDs. No Oracle temos apenas vários schemas. O SQL Server possui uma camada extra onde cada BD pode conter vários usuários ou schemas. Desse modo, podemos organizar e gerenciar melhor schemas correlacionados, pertencentes a uma mesma aplicação, em um BD isolado dos demais schemas do BD;
           b)  Possui um schema do sistema chamado MODEL que serve como template para schemas de usuários. Se por exemplo, o schema MODEL tiver 2 tabelas e uma visão, ao criar um novo schema de usuário, ele será criado com estes mesmos objetos.

Oracle:
     -  SGBD comercializado atualmente pela Oracle, que nasceu em 1979 e que foi o primeiro BD relacional comercializado no mundo;
     - Última versão: Oracle Database 11G;
     - Custo de uma licença da versão Enterprise por CPU: U$ 47.500 (até 2 core);
     - Pode ser instalado em múltiplas plataformas desde 1985. Entre as principais, podemos citar: Unix, Linux, HP/UX, BIM AIX, IBM VMS e Windows;
     - Possui ferramentas de administração com interface gráfica menos amigáveis que as do SQL Server. Isso vem mudando e melhorando a cada nova versão do Oracle. No 10G, o Enterprise Manager possui muitos recursos e sua interface gráfica evoluiu muito, mas ainda acho que as ferramentas da Microsoft são mais intuitivas e mais produtivas. No Oracle o DBA costuma gerenciar muitas atividades do BD através de conjuntos de scripts;
     - Possui uma documentação muito bem detalhada, o que de início até assusta, mas permite que você conheça muito bem o BD e todos os seus recursos;
     - Possui mais recursos de segurança e performance que o SQL Server. Exemplos:
           a) Por padrão, o Oracle não commita transações. Isso permite que você desfaça as alterações de uma instrução SQL, caso ela tenha sido submetido erroneamente. No SQL, por padrão as intruções SQL são auto-commitadas, o que facilita o trabalho geral dos desenvolvedores, mas que dificulta o trabalho de recuperação por danos acidentais e o controle transacional;   
            b) Por padrão, o Oracle permite efetuar leitura consistente de dados. Esse recurso permite que um usuário "B" leia os dados de uma linha de uma tabela, no mesmo momento em que ela está sendo alterada por um usuário "A", sem que o usuário "B" visualize os dados que estão sendo alterados pelo "A". Não há bloqueio de leitura nem risco do usuário "B" visualizar os dados que ainda não foram commitados pelo usuário "A". No SQL Server esse não é o comportamento padrão do BD e para garantir a leitura consistente, o SGBD efetua bloqueios nas linhas acessadas/alteradas, portanto, desenvolvedores inexperientes poderão desenvolver aplicações com sérios problemas de performance no acesso concorrente, se não tiverem os conhecimentos necessários para contornar bloqueios de leitura aos dados;
           c) Arquitetura mais flexível e com mais recursos para otimização de performance. No Oracle é possível criar e gerenciar diversas estruturas de memória no BD. É possível, por exemplo, definir estruturas de armazenamento com tamanhos de blocos que podem variar de 2k à 32k. No SQL Server só é possível criar estruturas de armazenamento de 8k. Em Oracle, sistemas OLAP e índices em geral, são otimizados com tamanhos de blocos maiores (32k);
           d) Possui Packages, que são objetos que permitem (entre diversos outros benefícios) agrupar e encapsular código de stored procedures e funções;
           e) Possui Sequences (que já li em alguns blogs que será implementado no SQL Server 2012). Sequences possuem muito mais recursos do que colunas de auto-incremento, existentes em SQL Server, para definir valores de chaves-primárias. Um exemplo que posso citar é o cache de Sequences, que permite otimizar a performance de inserções que necessitam de um valor único para compor a chave-primária (ver artigo Otimizando SQL utilizando cache em sequences);
          f) O Oracle possui mais tipos de índices que o SQL Server. Índices permitem otimizar consultas em BD. 2 exemplos que vou citar no Oracle que não existem itens correspondentes no SQL Server são: índices BITMAP (que permitem otimizar consultas em colunas com baixa cardinalidade) e índices Baseados em função (que permitem indexar funções em colunas);
          g) Permite criar um ou mais processos chamados listeners, que são utilizados para conectar clientes remotos ao BD. Uma das vantagens de ter este tipo de processo é que a conexão ao BD pode ser distribuída entre diversos listeners, ou seja, podemos configurar múltiplos listeners para grupos menores de usuários, para ouvir em portas diferentes, com o objetivo de evitar gargalos de conexão ao BD quando temos muitos usuários (normalmente mais de 200 conexões por segundo) se conectando ao mesmo tempo;
         h) O Oracle possui um modelo de controle de acesso concorrente chamado multiversion read consistency (MVRC) que é um dos melhores modelos do mercado para permitir um controle de acesso concorrente com menor contenção de linhas e consequentemente, melhor performance quando há acesso concorrente aos dados. No Oracle o controle de bloqueios é realizado através da gravação de indicadores de bloqueio no nível das linhas, já no SQL Server existe um componente chamado Lock Manager para fazer o mesmo trabalho. No Lock Manager há uma sobrecarga maior para gerenciar uma grande qtde. de bloqueios, que consequentemente pode degradar a performance de uma grande quantidade de atualizações concorrentes.
   
    
CONCLUSÃO:
     A percepção que eu tenho é que a Microsoft tem um histórico de manter o foco na entrega de produtos mais fáceis de se utilizar e de gerenciar. A Oracle, por sua vez, tem foco na entrega de produtos quer priorizam a segurança e uma vasta gama de recursos.
  
     Ambos são ótimos BDs e cada um tem suas vantagens e desvantagens. O SQL Server tem a principal vantagem de ter um custo menor, aproximadamente metade do preço de um Oracle. No SGBD SQL Server, todas as funcionalidades (Ex.: Particionamento de tabelas) estão inclusas no seu valor de licenciamento inicial, enquanto que, no SGBD Oracle, é necessário adquirir licenças adicionais (chamadas Options), que tornam o produto da Oracle até 10 vezes mais caro que o produto da Microsoft. Outra vantagem do SQL Server é a facilidade de uso e gerenciamento. Eu, particularmente, quando comecei a trabalhar com Oracle, achava tudo muito difícil. As ferramentas do SQL Server eram mais produtivas e mais intuitivas.
     O Oracle tem um custo mais alto que o SQL Server e é mais difícil de administrar, porém é um produto que possui mais recursos de segurança e performance, que podem ser muito importantes e cruciais para empresas que possuem aplicações críticas e que possuem muitos dados e muitos usuários concorrentes, em geral.
   
    Para finalizar, vou responder agora a questão que é o título deste artigo: Qual é o melhor BD: Oracle ou SQL Server?
    R.: Bom... isso depende da necessidade!  De um modo geral, acredito que o SQL Server é mais indicado para pequenas e médias empresas ou pequenas e médias aplicações, devido ao custo menor desse BD e porque normalmente as aplicações que são executadas nestes ambientes possuem menor quantidade e complexidade de requisitos. O Oracle, por sua vez, é mais indicado para grandes empresas ou grandes aplicações, que possuem requisitos de negócios mais complexos e críticos, e que possuem grana para pagar pelos recursos de segurança e performance adicionais que este grande BD oferece!
  
     
Por hoje é só! Deixem seus comentários!

[]s
  
  

Referências:
   - http://www.linhadecodigo.com.br/artigo/2412/Análise-de-desempenho-entre-os-bancos-de-dados-SQL-Sever-x-Oracle.aspx
   - http://www.dba-oracle.com/t_sql_server_vs_oracle_terminology.htm
   - http://stackoverflow.com/questions/2322260/basic-differences-between-oracle-and-sql-server
   - http://pt.wikipedia.org/wiki/Oracle_(banco_de_dados)
   - http://msdn.microsoft.com/pt-br/library/ms175049.aspx
   - http://en.wikipedia.org/wiki/Microsoft_SQL_Server
 

LINKS ÚTEIS

Total de visualizações de página

Seguidores

Meu One Drive (antigo Sky Drive)