Oracle T Opgsql

1,067 views
1,009 views

Published on

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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,067
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×