Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Migrando do Oracle para o
      PostgreSQL
Leonardo Medeiros Martins

 DBA PostgreSQL/Oracle
Agenda

   Pense bem antes de começar!

   Comparativo

   Ferramentas para migração

   Outras informações
Antes de começar!

   “Think Different” = Pense Diferente – Apple

   “Yes, We Can” = “Sim, nós podemos” – Barack Obama
...
Pense bem antes de começar!

   Custos

   Dificuldade

   Tempo

   Diferença entre camadas e os softwares

   Supor...
E continue pensando...

   Diferenças na sintaxe e funcionalidade

   Backup

   Testes

   Codificação de caracteres ...
E não podemos esquecer...
   Documentar, Registrar

   Do simples para Complexo

   Scripts em texto puro

   Importe ...
Comparativo
 No Oracle os catálogos SYS e SYSTEM equivalem ao pg_catalog e
information_schema no PostgreSQL.

 Não exist...
Comparativo - Tipos
Oracle                         PostgreSQL

Varchar2                       Varchar, text

Number       ...
Comparativo – PL/SQL x PL/pgSQL

   O PostgreSQL possuem diversas extensões para outras linguagens, além de Java e C.

 ...
Comparativo – Armazenamento
Datafile no PostgreSQL = pasta que é gerenciada pelo
SGBD.

 O conceito de extensões e segme...
Comparativo – Backup
 O Redo no Oracle é semelhante ao WAL no
PostgreSQL.

 Conceito de DUMP, cópia de arquivos de dados...
Comparativo – Segurança
   GRANT e REVOKE são semelhante.

 SCHEMAS, ao criar deve-se definir o dono no PostgreSQL. Depo...
Comparativo – Cluster
 Um cluster do PostgreSQL é parecido com a primeira versão
feita para Oracle.

 O PgCluster é pare...
Ferramentas para migração
Ora2Pg, modulo escrito em Perl para exportar um schema
Oracle para um schema PostgreSQL compatí...
Referências
Oracle          http://www.oracle.com/
PostgreSQL      http://www.postgresql.org
Ora2Pg          http://pgfoun...
Contatos


Leonardo Medeiro Martins

leonardo@dbtn.com.br

(48) 9952-4558
Upcoming SlideShare
Loading in …5
×

Oracle T Opgsql

1,109 views

Published on

Palestra realizada no PGDay SC, sobre migração de oracle para postgresql

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Oracle T Opgsql

  1. 1. Migrando do Oracle para o PostgreSQL
  2. 2. Leonardo Medeiros Martins DBA PostgreSQL/Oracle
  3. 3. Agenda  Pense bem antes de começar!  Comparativo  Ferramentas para migração  Outras informações
  4. 4. Antes de começar!  “Think Different” = Pense Diferente – Apple  “Yes, We Can” = “Sim, nós podemos” – Barack Obama  Pensando diferente, sim, nós podemos migrar do Oracle para PostgreSQL – Leonardo M. Martins
  5. 5. Pense bem antes de começar!  Custos  Dificuldade  Tempo  Diferença entre camadas e os softwares  Suporte
  6. 6. E continue pensando...  Diferenças na sintaxe e funcionalidade  Backup  Testes  Codificação de caracteres e Localização  Diferença de Ocupação
  7. 7. E não podemos esquecer...  Documentar, Registrar  Do simples para Complexo  Scripts em texto puro  Importe e migre uma coisa de cada vez  Logs durante todo o processo  Siga em frente somente se der certo, senão, volte aos passos anteriores!
  8. 8. Comparativo  No Oracle os catálogos SYS e SYSTEM equivalem ao pg_catalog e information_schema no PostgreSQL.  Não existe a tabela DUAL no PostgreSQL, mas durante migrações é comum a sua criação para manter compatibilidade.  DBLink, criptografia, cube, XML, dentre outras funções avançadas não são nativas, mas podem ser implantadas, e possuem grande diferença da versão fornecida no Oracle.  Materialized views não existem no PostgreSQL, mas podem ser implementadas.
  9. 9. Comparativo - Tipos Oracle PostgreSQL Varchar2 Varchar, text Number numeric, bigint, int, smallint, double precision clob, long varchar, text nchar, nvarchar2, nclob varchar, text binary_float/binary_double real/double precision blob, raw, long raw bytea (migração adicional)‫‏‬ date date, timestamp
  10. 10. Comparativo – PL/SQL x PL/pgSQL  O PostgreSQL possuem diversas extensões para outras linguagens, além de Java e C.  Fato, no PostgreSQL não existem procedures, tão pouco packages.  Asfunctions não aceitam parâmetros com valores DEFAULT, mas assim como o Java podemos utilizar sobrecarga de método.  Cursores não são usados no PostgreSQL.  O corpo das functions são delimitadas por $ no PostgreSQL.  As triggers no PostgreSQL chamam UMA function.  Não é possível colocar COMMIT dentro de uma function.
  11. 11. Comparativo – Armazenamento Datafile no PostgreSQL = pasta que é gerenciada pelo SGBD.  O conceito de extensões e segmentos ainda não foi implementado no PostgreSQL.  Não é possível armazenar as áreas temporárias, em outros locais. Ficam no mesmo local do catálogo do sistema.
  12. 12. Comparativo – Backup  O Redo no Oracle é semelhante ao WAL no PostgreSQL.  Conceito de DUMP, cópia de arquivos de dados, Stand By é semelhante em ambos.  O PostgreSQL não possui ferramentas como FlashBack, RMAN, nativas, existem projetos alternativos.
  13. 13. Comparativo – Segurança  GRANT e REVOKE são semelhante.  SCHEMAS, ao criar deve-se definir o dono no PostgreSQL. Depois é igual entre os dois.  ROLE “connect” é definida no pg_hba.conf no PostgreSQL. (GROUPs)‫‏‬  ROLE “resource” no Oracle seria o privilégio para criar objetos num esquema do PostgreSQL.  Role DBA é no Oracle é ser superusuário do PostgreSQL.  Role SYS é no Oracle é ser o usuário POSTGRES no PostgreSQL.
  14. 14. Comparativo – Cluster  Um cluster do PostgreSQL é parecido com a primeira versão feita para Oracle.  O PgCluster é parecido ao RAC, e existem outros projetos que tem a mesma idéia.  Não existe um quot;Oracle Dataguardquot;, mas esta em desenvolvimento, previsto para a versão 8.4
  15. 15. Ferramentas para migração Ora2Pg, modulo escrito em Perl para exportar um schema Oracle para um schema PostgreSQL compatível.  Orafce, modulo escrito em C, que implementa diversas funções Oracle no PostgreSQL.  Pg::snapshot, modulo escrito em Pl/Perl, que possibilita a criação de Materialized Views and Materialized View Logs, tanto no Oracle quanto no PostgreSQL
  16. 16. Referências Oracle http://www.oracle.com/ PostgreSQL http://www.postgresql.org Ora2Pg http://pgfoundry.org/projects/ora2pg/ Orafce http://pgfoundry.org/projects/orafce/ Pg::Snapshot http://pgfoundry.org/projects/snapshot/ História de horror de Migração para PostgreSQL http://www.frankhilliard.com/horrorstory.cfm Migração http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#Oracle
  17. 17. Contatos Leonardo Medeiro Martins leonardo@dbtn.com.br (48) 9952-4558

×