segunda-feira, 20 de outubro de 2014

Oracle Open World 2014 - Review

Participei do OOW14 que ocorreu em San Francisco de 28/09 à 02/10.

Gostaria de agradecer a Victoria e a Jennifer do Oracle ACE Program pelo convite para participar do evento.

Minha jornada de ida a San Francisco iniciou na sexta, dia 26/09, de Luanda a São Paulo, em um voo da TAAG de 8,5 horas. Após 8 horas de espera no aeroporto, peguei o voo United com destino a Houston e duração de 10 horas. A última etapa foi o voo de Houston para San Francisco, com duração de 3,5 horas.

Descrevi o meu itinerário para enfatizar o quanto vale a pena estar presente neste evento.

Para quem quiser ir no próximo ano, a dica principal é fazer a reserva do hotel com bastante antecedência, eu fiz a minha reserva em Junho e já não haviam muitas opções disponíveis próximas ao local do evento.


Cheguei no sábado e já fiz o registro para o evento, para evitar filas:



Uma dica importante, é participar das palestras dos grupos de usuários que ocorre no domingo.


Segue a lista do que eu vi no domingo:


  • Oracle RAC, Oracle Data Guard, and Pluggable Databases: When MAA Meets Oracle Multitenant - Ludovico Caldara

  • 24/7 Availability with Oracle Database Application Continuity - Jeremiah Wilton e Marc Fielding

  • Demystifying Cache Buffer Chains - Arup Nanda

  • Oracle Database 11g and 12c New Features and Best Practices for DBAs and Developers - Ami Aharonovich
  • The Best Oracle Database 12c Tuning Features - Rich Niemiec
  • 12 Looks at Oracle Database 12c: EOUC Short Talks
  • Expert Oracle Exadata: Then and Now - Andy Colvin,Martin Bach,Tanel Poder e Kerry Osborne

  • Opening Keynote - Larry Ellison --> em 5 anos de OOW, foi a primeira vez que eu vi lotar um keynote, a ponto de fecharem a entrada

  • Oracle ACE DINNER




  • RAC Attack:





Segunda:


  • Keynote - The Business Value of the Cloud


  • Oracle Database Directions for Big Data and the Cloud - Andy Mendelsohn
  • What’s New in Oracle Database 12c Release 12.1.0.2? - Thomas Kyte

  • Oracle Database In-Memory: The Next Big Thing - Juan Loaiza

  • Oracle Exalogic Roadmap: Hardware, Software, and Platform News

  • Kevin Closson:SLOB – For More Than I/O!

  • Oracle Exadata: What’s New and What’s Coming - Juan Loaiza

  • Introducing Oracle Key Vault: Centralized Keys, Wallets, and Java Keystores 

  • YesSQL! A Celebration of SQL and PL/SQL - Steven Feuerstein e Thomas Kyte

  • OTN Tech Fest





Terça:

  • Carlos Sierra: introducing edb360 tool - OakTable

  • Tanel Poder: Hacking Oracle 12c - OakTable

  • Top Five Things to Know About Oracle Database In-Memory - Maria Colgan


  • Oracle OpenWorld Tuesday Afternoon Keynote - Larry Ellison

  • Zero Data Loss Recovery Appliance: Deployment Best Practices 

  • Oracle Multitenant Meets Oracle Database In-Memory - Maria Colgan e Patrick Wheeler



Quarta:


  • Keynote - The Real-Time Enterprise

  • Resource Manager: Best Practices

  • Oracle Recovery Manager (Oracle RMAN) in Oracle Database 12c: Best Practices

  • Oracle Automatic Storage Management: What’s New and Best Practices.

  • Oracle Exadata Technical Deep Dive: Architecture and Internals
  • Oracle Exadata Database Machine Administration and Monitoring Made Easy - Kellyn Pot'vin


Outro evento imperdível durante o OOW, é o Oracle Bloggers Meetup, organizado pela Pythian e pelo OTN:


Show do Aerosmith:




Quinta:

  • Best Practices for Zero Downtime: When Outages Are Not an Option

  • Oracle Database In-Memory in Action - Tanel Poder e Kerry Osborne

  • Oracle Database In-Memory Meets Oracle Optimizer

  • Internals of the Oracle Database 12c Multitenant Architecture



Até 2015 :)





domingo, 21 de setembro de 2014

12c - Full Database Caching Mode

Um novo recurso chamado Full database caching foi introduzido na versão 12.1.0.2. Este novo recurso permite armazenar todos os segmentos do banco de dados em memória (quando os segmentos forem acessados). Ele deve ser usado quando o tamanho do buffer cache do banco de dados da instância for maior do que o tamanho total do banco de dados.

Com esta opção ativa, Full scans e NOCACHE LOBs, também serão carregados e armazenados no buffer cache.  Nas versões anteriores não era garantido que os segmentos seriam mantidos em cache, ao menos que fosse usado o KEEP.

Habilitando o recurso:

[oracle@oracle01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 17 16:59:56 2014
Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> startup mount
ORACLE instance started.

Total System Global Area 2499805184 bytes
Fixed Size 2927480 bytes
Variable Size 486540424 bytes
Database Buffers 922746880 bytes
Redo Buffers 13848576 bytes
In-Memory Area 1073741824 bytes
Database mounted.

SQL> ALTER DATABASE FORCE FULL DATABASE CACHING;

Database altered.

SQL> SELECT force_full_db_caching FROM v$database;

FOR
---
YES


Referências:




Abraço,

sábado, 20 de setembro de 2014

Oracle Open World 2014

De 28/9 à 02/10 acontece o Oracle Open World em San Francisco.

Felizmente já estou com visto, inscrição, passagens, hotel e scheduler prontos.


Quem for, não deixe de participar também dos eventos abaixo:

Oracle User Groups  - domingo - 8:00 –16:30hrs

OOW 2014 RAC ATTACK - domingo - 9:00hrs

#CloneAttack and #RepAttack

Oracle Technology Network's Tech Fest - segunda - 19:00 - 21:00 hrs

Oracle OpenWorld 2014 – Bloggers Meetup - quarta - 17:30hrs

domingo, 14 de setembro de 2014

12c - Preserving or Discarding the Open Mode of PDBs When the CDB Restarts

Antes do 12.1.0.2, quando um CDB era inicializado, todos PDBs permaneciam em modo mount, exceto o PDB$SEED, que deve ficar em Read only.

Para resolver isso, era necessário criar uma trigger para abrir os PDBs.

CREATE OR REPLACE TRIGGER ABRIR_TODOS_PDBS
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END;
/


No patchset 12.1.0.2, foi introduzida a capacidade de preservar o estado de inicialização dos PDBs.

[oracle@oracle01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 8 16:26:37 2014

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDB1                           READ WRITE
PDB2                           MOUNTED
PDB3                           MOUNTED

Agora vamos salvar o estado atual:

ALTER PLUGGABLE DATABASE pdb1 SAVE STATE;


Verificando os estados salvos:

[oracle@oracle01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 8 16:32:37 2014

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> SELECT con_name, instance_name, state FROM dba_pdb_saved_states;

CON_NAME             INSTANCE_NAME        STATE
-------------------- -------------------- --------------
PDB1                 cdb1                 OPEN


Restartando o CDB:

[oracle@oracle01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 8 16:36:35 2014

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 626327552 bytes
Fixed Size 2291472 bytes
Variable Size 276826352 bytes
Database Buffers 339738624 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.

SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDB1 
                          READ WRITE
PDB2 
                          MOUNTED
PDB3 
                          MOUNTED

Para descartar o estado atual:

ALTER PLUGGABLE DATABASE pdb1 DISCARD STATE;

[oracle@oracle01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 8 16:38:37 2014

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> SELECT con_name, instance_name, state FROM dba_pdb_saved_states;

no rows selected


Referências:



Abraço,

Alex Zaballa.

quinta-feira, 4 de setembro de 2014

segunda-feira, 25 de agosto de 2014

Ice Bucket Challenge

Fui desafiado pelos meus amigos Kai Yu (Oracle ACE Director) e Deiby Gómez (Oracle ACE) para o desafio do balde de gelo.
I was challenged by my friends Kai Yu (Oracle ACE Director) and Deiby Gómez (Oracle ACE)  for the ice bucket challenge.


Como sabem, eu moro na África e aqui existe uma campanha de conscientização sobre o uso da água.
As you know, I am currently living in Africa, and here, there is an awareness campaign on the use of water.





Com isso resolvi fazer a minha parte e ajudar os dois lados. Ao invés de gravar o video utilizando a água e gelo, fiz apenas a doação em dinheiro para a ALS (Associação Pró-Cura Da Esclerose Lateral Amiotrófica) e faço um alerta com relação a utilização dos recursos hídricos.
With this in mind, I have decided to change the challenge a bit. With the intention of being helpful on both fronts,  instead of posting a video of me taking a bucket of ice water over my head, I am posting a a print of a cash donation made directly to LSA. At the same time, I would like to take this opportunity to remind everyone about the importance of our natural resources and most importantly, water.


Eu espero que entendam o meu ponto de vista :)
I am sure you will all understand where I am coming from when I decided to make a slight change in the way I am delivering the challenge.

Obrigado
Many Thanks.





domingo, 10 de agosto de 2014

12c - Approximate Count Distinct

A função APPROX_COUNT_DISTINCT proporciona uma alternativa para a função COUNT (DISTINCT expr).

Esta função processa grandes quantidades de dados de uma forma muito mais rápida que o COUNT, com um desvio insignificante do resultado exato.

Ela não pode ser utilizada com os seguintes tipos de dados:

  • BFILE
  • BLOB
  • CLOB
  • LONG
  • LONG RAW
  • NCLOB


A forma comum de utilização:

SQL> SELECT count (distinct manager_id) AS "Gerentes Ativos"
FROM hr.employees_big;

Gerentes Ativos
---------------
18

Elapsed: 00:00:03.02


Utilizando a função APPROX_COUNT_DISTINCT:

SQL> SELECT APPROX_COUNT_DISTINCT(manager_id) AS "Gerentes Ativos"
FROM hr.employees_big;

Gerentes Ativos
---------------
18

Elapsed: 00:00:00.62


Para quem quiser se aprofundar no assunto, indico o seguinte post:



Abraço,

Alex Zaballa.