Eduardo Terra Morelli
                Mestre em Informática (Self-
                Tuning em Bancos de Dados)
                pela PUC-Rio
                No mercado desde 1986
                Trabalhando com Oracle, SQL
                Server desde 1997
                Lecionou na PUC-Rio por 8
                anos e há 2 no Infnet
                4 livros publicados
Oracle


  Inúmeras razões para
  migrar de Oracle 10g
  para 11g
Agenda


i.      Oracle, Um Breve Histórico
ii.     Edições, Versões, Releases ,...
iii.    Enterprise Manager
iv.     PIVOT
v.      Particionamento
vi.     SQL Access Advisor
vii.    Índices Invisíveis
viii.   Database Replay
ix.     Disaster Recovery Advisor
x.      Conclusão
I. Oracle, Um Breve Histórico

 Em julho de 1979, RSI lança SGBDR Oracle
 para minicomputadores VAX
 1988: lançada versão 6 oferecendo bloqueio
 em nível de linha e hot backup.
 1998: versão 8i
 2001: 9i com RAC
 2003: 10g
 Em 11/7/2007 é lançada a versão 11g
 2011: ¿12e?
II. Edições, Versões, Releases...

 Oracle é comercializado nas edições
 Express, Standard Edition One, Standard e
 Enterprise.
 Versões: ...8, 9, 10, 11
 Releases: 11.2, 11.1, 11.0, ...
 Correções de erros fazem com que novos
 patches sejam periodicamente
 disponibilizados. (último: 11.2.0.4)
Edições, Versões, Releases...

 Além de releases reunindo melhorias e
 correções de erros, a Oracle ainda pode
 mandar correções específicas.
 Oracle não é bug free
   Era uma vez um MERGE do mal...
   E uma importação que não criava o índice
   correto.
III. Facilidades do EM

 O Enterprise Manager na versão 10g:
E no 11g...
IV. PIVOT & UNPIVOT

  Compare esta consulta:
 SELECT nome                                   ,
  MAX(DECODE(pos,3, arrecadado )) "2006",
  MAX(DECODE(pos,2, arrecadado )) "2007",
  MAX(DECODE(pos,1, arrecadado )) "2008"
   FROM
  (SELECT SUBSTR(nome_original,1,30) nome,
    arrecadado                           ,
    dense_rank() OVER(PARTITION BY nome_original ORDER BY ano DESC) pos
     FROM varrecadacao_filmes
  )
  WHERE pos <= 3
GROUP BY nome
ORDER BY nome;
Com esta...



SELECT *
   FROM
  ( SELECT substr(nome_original,1,30) nome, ano, arrecadado
         FROM varrecadacao_filmes)
   PIVOT ( SUM(arrecadado) FOR ano IN (2006, 2007, 2008) )
ORDER BY nome;
V. Particionamento

 Além dos já conhecidos LIST, RANGE,
 HASH, novos métodos de particionamento
 foram introduzidos:
   Interval
    o Facilita RANGE: basta fornececer um
       intervalo e o particionamento ocorre de forma
       automática.
   Virtual Column
   Reference
    o Baseada em relações de referência (PK-FK)
       entre tabelas.
VI. SQL Access Advisor

 Recursos de self-tuning foram
 incrementados.
 Durante os trabalhos do SQL Access
 Advisor, além de índices, podem ser
 sugeridas visões materializadas e
 particionamento de tabelas.
 Seguimos com a tendência de automatizar
 ao máximo as tarefas “mecânicas” liberando
 o DBA para trabalhos mais nobres.
VII. Índices Invisíveis

 Ao tornar um índice invisível, este não é
 levado em conta pelo otimizador.
 Podemos verificar se um índice seria útil
 antes de removê-lo.
 Ou fazê-lo invisível e só depois removê-lo.

 ALTER INDEX indice INVISIBLE;
 ALTER INDEX indice VISIBLE;
VIII. Database Replay

 Simula ambiente de produção
 Trabalha com workloads.
 Utilizamos assistentes no Enterprise
 Manager
 Fases:
  i.   Captura carga de produção (capture)
  ii. Geração de arquivos reproduzíveis;
  iii. Reprodução em um servidor de testes
  iv. Análise de resultados
Database Replay no EM
IX. RMAN: DRA

     RMAN> advise failure all;

     List of Database Failures
     =========================

     Failure ID Priority Status Time Detected Summary
     ---------- -------- --------- ------------- -------
     62         HIGH OPEN                 03-AUG-10 One or more non-system datafiles are
     missing

     analyzing automatic repair options; this may take some time
     allocated channel: ORA_DISK_1
     channel ORA_DISK_1: SID=21 device type=DISK
     analyzing automatic repair options complete

     Mandatory Manual Actions
     ========================
     no manual actions available

     Optional Manual Actions
     =======================
     1. If file /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_dados_65h5sp86_.dbf was
     unintentionally renamed or moved, restore it

     Automated Repair Options
     ========================
     Option Repair Description
     ------ ------------------
     1      Restore and recover datafile 10
       Strategy: The repair includes complete media recovery with no data loss
       Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_2278263435.hm

     RMAN>
Conclusão

 Versão 9i não recebe mais suporte;
 Em julho de 2011 a versão 11g fará 4 anos
 Fortes boatos anunciam iminente chegada
 da versão 12 (12e, de everywhere!)
 Portanto, em breve a versão 10g...
Dúvidas no ar,
ou dúvidas não há?

Inúmeras Razões para Migrar de Oracle 10g para 11g

  • 1.
    Eduardo Terra Morelli Mestre em Informática (Self- Tuning em Bancos de Dados) pela PUC-Rio No mercado desde 1986 Trabalhando com Oracle, SQL Server desde 1997 Lecionou na PUC-Rio por 8 anos e há 2 no Infnet 4 livros publicados
  • 2.
    Oracle Inúmerasrazões para migrar de Oracle 10g para 11g
  • 3.
    Agenda i. Oracle, Um Breve Histórico ii. Edições, Versões, Releases ,... iii. Enterprise Manager iv. PIVOT v. Particionamento vi. SQL Access Advisor vii. Índices Invisíveis viii. Database Replay ix. Disaster Recovery Advisor x. Conclusão
  • 4.
    I. Oracle, UmBreve Histórico Em julho de 1979, RSI lança SGBDR Oracle para minicomputadores VAX 1988: lançada versão 6 oferecendo bloqueio em nível de linha e hot backup. 1998: versão 8i 2001: 9i com RAC 2003: 10g Em 11/7/2007 é lançada a versão 11g 2011: ¿12e?
  • 5.
    II. Edições, Versões,Releases... Oracle é comercializado nas edições Express, Standard Edition One, Standard e Enterprise. Versões: ...8, 9, 10, 11 Releases: 11.2, 11.1, 11.0, ... Correções de erros fazem com que novos patches sejam periodicamente disponibilizados. (último: 11.2.0.4)
  • 6.
    Edições, Versões, Releases... Além de releases reunindo melhorias e correções de erros, a Oracle ainda pode mandar correções específicas. Oracle não é bug free Era uma vez um MERGE do mal... E uma importação que não criava o índice correto.
  • 7.
    III. Facilidades doEM O Enterprise Manager na versão 10g:
  • 8.
  • 9.
    IV. PIVOT &UNPIVOT Compare esta consulta: SELECT nome , MAX(DECODE(pos,3, arrecadado )) "2006", MAX(DECODE(pos,2, arrecadado )) "2007", MAX(DECODE(pos,1, arrecadado )) "2008" FROM (SELECT SUBSTR(nome_original,1,30) nome, arrecadado , dense_rank() OVER(PARTITION BY nome_original ORDER BY ano DESC) pos FROM varrecadacao_filmes ) WHERE pos <= 3 GROUP BY nome ORDER BY nome;
  • 10.
    Com esta... SELECT * FROM ( SELECT substr(nome_original,1,30) nome, ano, arrecadado FROM varrecadacao_filmes) PIVOT ( SUM(arrecadado) FOR ano IN (2006, 2007, 2008) ) ORDER BY nome;
  • 11.
    V. Particionamento Alémdos já conhecidos LIST, RANGE, HASH, novos métodos de particionamento foram introduzidos: Interval o Facilita RANGE: basta fornececer um intervalo e o particionamento ocorre de forma automática. Virtual Column Reference o Baseada em relações de referência (PK-FK) entre tabelas.
  • 12.
    VI. SQL AccessAdvisor Recursos de self-tuning foram incrementados. Durante os trabalhos do SQL Access Advisor, além de índices, podem ser sugeridas visões materializadas e particionamento de tabelas. Seguimos com a tendência de automatizar ao máximo as tarefas “mecânicas” liberando o DBA para trabalhos mais nobres.
  • 13.
    VII. Índices Invisíveis Ao tornar um índice invisível, este não é levado em conta pelo otimizador. Podemos verificar se um índice seria útil antes de removê-lo. Ou fazê-lo invisível e só depois removê-lo. ALTER INDEX indice INVISIBLE; ALTER INDEX indice VISIBLE;
  • 14.
    VIII. Database Replay Simula ambiente de produção Trabalha com workloads. Utilizamos assistentes no Enterprise Manager Fases: i. Captura carga de produção (capture) ii. Geração de arquivos reproduzíveis; iii. Reprodução em um servidor de testes iv. Análise de resultados
  • 15.
  • 16.
    IX. RMAN: DRA RMAN> advise failure all; List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 62 HIGH OPEN 03-AUG-10 One or more non-system datafiles are missing analyzing automatic repair options; this may take some time allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=21 device type=DISK analyzing automatic repair options complete Mandatory Manual Actions ======================== no manual actions available Optional Manual Actions ======================= 1. If file /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_dados_65h5sp86_.dbf was unintentionally renamed or moved, restore it Automated Repair Options ======================== Option Repair Description ------ ------------------ 1 Restore and recover datafile 10 Strategy: The repair includes complete media recovery with no data loss Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_2278263435.hm RMAN>
  • 17.
    Conclusão Versão 9inão recebe mais suporte; Em julho de 2011 a versão 11g fará 4 anos Fortes boatos anunciam iminente chegada da versão 12 (12e, de everywhere!) Portanto, em breve a versão 10g...
  • 18.
    Dúvidas no ar, oudúvidas não há?