domingo, 5 de julho de 2015

Oracle Apex Tour América Latina - 2015

Boa tarde,

Gostaria de convidá-los para o evento Oracle Apex Tour América Latina - 2015.

Será realizado no TCU (Tribunal de Contas da União) em Brasília, no dia 10 Agosto de 2015.


Objetivos: Apresentar assuntos de interesse da comunidade de desenvolvedores e interessados na ferramenta Oracle Application Express.

Público-alvo: Profissionais da área de Tecnologia da Informação ou interessados em conhecer a ferramenta Oracle Application Express.


Segue o link para maiores detalhes:

http://www.oracleapextour.com/


sábado, 4 de julho de 2015

KSCOPE15 - Review

Participei do evento Kscope15 que ocorreu em Hollywood - Florida de 21 à 25/06.

Hotel do Evento:




Credenciamento:





Domingo:

  Dia de YES SQL:







Speakers reception:



Segunda:

 All (well, a lot) about SQL - part 1 and 2





 What's new with SQL Developer Data Modeler:


 Developing Applications for RAC and Exadata: What you need to know


 Oracle ACE "Dinner":


 DBA and Developer Networking:






Terça:

 Lunch and Learn - Database Development



 Apex, Node.js, and HTML5:


Exploring Oracle Database 11g and 12c Partitioning New Features and Best Practices:


 Tuning with SQL Developer:



Quarta:

 Minha apresentação : Oracle Data Redaction



Oceans, Islands, and Rivers: The Mistake Everyone Always Makes with Trace Files



From Relational to Hadoop:






Quinta:

 Thursday Deep Dive: Optimizing SQL Execution Plans Easily with Graphics





Obrigado ao pessoal do ODTUG por todo apoio.


sábado, 13 de junho de 2015

Alex Zaballa is joining Enkitec soon!

Dentro de alguns dias, irei me juntar a Accenture Enkitec Group.

Depois de 8 anos em Angola, onde tive a oportunidade de crescer muito profissionalmente, me tornei ORACLE ACE, consegui meu duplo OCM (11G e Cloud), 145 certificações Oracle, etc, resolvi mudar para São Paulo e fazer parte da Enkitec.

Por que trabalhar para a Enkitec?

Muitas pessoas com quem aprendi muito, que continuo aprendendo e por quem tenho muita admiração estão trabalhando para este grupo.

Alguns dos profissionais que eu irei trabalhar: https://www.enkitec.com/about/technical-experts


Um agradecimento especial as pessoas que me ajudaram neste processo:
Veronica Stigers, Kerry Osborne, Karl Arao, Carlos Sierra e Rodrigo Righetti.


Estou pronto e muito entusiasmado em fazer parte deste time.

Se você me conhece e conhece a Enkitec, saberá o quanto estou feliz por isso.


Abraço
Alex Zaballa


segunda-feira, 8 de junho de 2015

Habilitando um trace para um SQL ID específico

Algumas vezes, quando precisamos realizar tuning de um SQL específico, ao invés de habilitar o trace para toda sessão, ou módulo, ou serviço, etc, podemos utilizar o seguinte comando:


alter system set events 'sql_trace [sql:|] … rest of event specification';

O SELECT abaixo será usado como exemplo:


select * from hr.employees where employee_id=100;


Buscando o SQL ID do SELECT executado:


select sql_id, sql_text from v$sql where upper(sql_text) like '%FROM HR.EMPLOYEES%';

SQL_ID SQL_TEXT
-------------------- --------------------------------------------------
31d96zzzpcys9 select * from hr.employees where employee_id=100


Habilitando o trace para o SQL ID (evento 10046):


alter system set events 'sql_trace[SQL:31d96zzzpcys9] plan_stat=all_executions,wait=true,bind=true';


Após habilitar o trace, basta executar novamente o SELECT.

Com isso será gerado o seguinte arquivo:

Trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_32081.trc
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
ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_2
System name: Linux
Node name: oracle01
Release: 3.8.13-16.2.1.el6uek.x86_64
Version: #1 SMP Thu Nov 7 17:01:44 PST 2013
Machine: x86_64
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 40
Unix process pid: 32081, image: oracle@oracle01


*** 2015-06-02 19:30:25.636
*** SESSION ID:(20.10934) 2015-06-02 19:30:25.636
*** CLIENT ID:() 2015-06-02 19:30:25.636
*** SERVICE NAME:(SYS$USERS) 2015-06-02 19:30:25.636
*** MODULE NAME:(SQL Developer) 2015-06-02 19:30:25.636
*** CLIENT DRIVER:(jdbcthin) 2015-06-02 19:30:25.636
*** ACTION NAME:() 2015-06-02 19:30:25.636

=====================
PARSING IN CURSOR #139909740052304 len=48 dep=0 uid=0 oct=3 lid=0 tim=150929961385 hv=4283857673 ad='e7b85120' sqlid='31d96zzzpcys9'
select * from hr.employees where employee_id=100
END OF STMT
EXEC #139909740052304:c=0,e=27,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1833546154,tim=150929961383
WAIT #139909740052304: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=95264 tim=150929961433
FETCH #139909740052304:c=0,e=37,p=0,cr=2,cu=0,mis=0,r=1,dep=0,og=1,plh=1833546154,tim=150929961499
STAT #139909740052304 id=1 cnt=1 pid=0 pos=1 obj=92593 op='TABLE ACCESS BY INDEX ROWID EMPLOYEES (cr=2 pr=0 pw=0 time=34 us cost=0 size=69 card=1)'
STAT #139909740052304 id=2 cnt=1 pid=1 pos=1 obj=92705 op='INDEX UNIQUE SCAN EMP_EMP_ID_PK (cr=1 pr=0 pw=0 time=16 us cost=0 size=0 card=1)'


Desabilitando o trace:


alter system set events 'sql_trace[SQL:31d96zzzpcys9] off';


Também é possível gerar um trace do tipo 10053 (optimizer trace):


alter system set events 'trace[rdbms.SQL_Optimizer.*][sql:31d96zzzpcys9]';



Desabilitando o trace:


alter system set events 'trace[rdbms.SQL_Optimizer.*][sql:31d96zzzpcys9] off';



Referências:




Abraço,
Alex Zaballa

domingo, 31 de maio de 2015

SQLcl



Em Dezembro de 2014 a equipe responsável pelo Oracle SQLDeveloper lançou em beta uma nova ferramenta chamada SQLcl, que também ficou conhecida como "SQL*Plus on steroids", SDSQL (SQLDeveloper SQL), SQL*Plus++, ou como o Jeff Smith chama “SQL Developer meets SQL*Plus”.


Onde baixar a versão atual:


Após baixar a ferramenta, basta descompactar e executar o arquivo sql (conforme a plataforma utilizada) que está no diretório bin.

Para se conectar no banco de dados você pode utilizar EZConnect, TNS, Ldap, etc.






Seguem alguns comandos úteis:







































Meu conselho: baixem a ferramenta e divirtam-se ☺




Referências








domingo, 24 de maio de 2015

12c - Non-CDB is DEPRECATED


Em Janeiro deste ano, um post do Mike Dietrich nos chamou a atenção para algo que até então havia passado despercebido por muitas pessoas:




A arquitetura non-cdb está deprecada a partir da versão 12.1.0.2.


Non-CDB (non Container Database): É a arquitetura “clássica” do banco de dados Oracle, que utilizávamos até a versão 11G.


Documentação oficial falando sobre isso:






Devemos ter em mente que deprecada não significa não suportada.
Todos devem lembrar que os datatypes LONG e LONG RAW estão deprecados há muito tempo, mas continuam existindo dentro do banco de dados, inclusive na versão 12c.

O Multitenant é uma option do banco de dados que é paga a parte.


Isso significa que você tem que comprar essa opção antes de migrar para o Oracle 12c?

A resposta é não, pois existe algo chamado Single Tenant, ou seja, um CDB com apenas um PDB pode ser utilizado sem a obrigatoriedade de uma licença adicional.


Seguem dois posts interessantes que geraram muita discussão sobre este assunto:



Abraço,
Alex Zaballa