terça-feira, 20 de janeiro de 2015

My First Year as an Oracle ACE

On January 22th, 2014, for my absolute joy, I was nominated as an Oracle ACE and throughout this entire year, I tried to do my best in honoring this great recognition.

Counting Oracle's events alone, I have traveled near 180.000KM and spent approximately a striking amount of 205 hours on airplanes. That's plenty to go around the world 4.5 times!

  • Oracle Events:

                Fevereiro: Oracle Expert Summit 2014

                Abril: Collaborate 14

                Junho: KSCOPE 14

                Agosto: GUOB TECH DAY 2014 - OTN TOUR LA - Brasil

                Setembro: Oracle Open World 2014

                Novembro: Connect 2014 - SAOUG - Review

                Dezembro: UKOUG - Tech 14



  •  Speaker in 3 continents:




  • We created the Angola Oracle User Group - GUOA

  •  29 articles published on GPO
                   19/01/2014
                   12c - SQL*Loader Express

                   25/01/2014
                12c - Multiple Indexes on the same set of Columns

                02/02/2014
                12c - Temporary Undo

                08/02/2014
                12c - Instance Parameters – CDB / PDB

                15/02/2014
                12c - Limit the PGA

                15/02/2014
                Upgrade do Oracle Beehive versão 2.0.1.4 para 2.0.1.8

                22/02/2014
                12c - Session private statistics for Global Temporary Tables

                02/03/2014
                Aplicando o Bundle Patch 11.1.1.7.140114 no OBIEE 11G

                08/03/2014
                12c - Extended Data Types

                15/03/2014
                12c - Session Level Sequences

                22/03/2014
                12c - SQL Query Row Limits and Offsets

                29/03/2014
                12c - In-Database Archiving

                20/04/2014
                12c - Last Successful Login Time in SQL*Plus

                26/04/2014
                12c - Statistics During Loads

                02/05/2014
                12c – PL/SQL From SQL

                17/05/2014
                12c – SQL Text Expansion

                24/05/2014
                12c – RMAN SQL Interface Improvements

                01/06/2014
                12c – ASM – New asmcmd commands

                07/06/2014
                12c – USE_SID_AS_SERVICE_listener_name

                13/07/2014
                DEFERRED SEGMENT CREATION

                27/07/2014
                12c - Oracle Database In-Memory – Primeiros Passos

                10/08/2014
                12c - Approximate Count Distinct

                14/09/2014
                12c - Preserving or Discarding the Open Mode of PDBs When the CDB Restarts

                21/9/2014
                12c - Full Database Caching Mode

                02/11/2014
                12c - Partial Indexes for Partitioned Table

                09/11/2014
                Como remover um SQL Statement da Shared Pool

                30/11/2014
                Como alterar o valor de um parâmetro de outra sessão

                14/12/2014
                12c - READ Object Privilege and READ ANY TABLE System Privilege

                21/12/2014
                Lendo variáveis do SO através do PL/SQL



  • 15 articles published on OTN, in three languages:



  •  Articles published in the Oracle's official channel:


  •  Mentions:
               Oracle ACE Program Newsletter - November 2014
               Featured Speaker - UKOUG - TECH14


  • The Oracle ACE Program Newsletter:

               January

               February
              August

            September

            October

            November

            December

            January, 2015





  • Oracle Events already planned for 2015:
               RMOUG Training Days
               Collaborate 15
               KSCOPE 15



I hope that 2015 i can maintain the same commitment and help the Oracle Community as much as possible!

I'd like to say thanks to my Company for all the opportunities, to the Oracle ACE Program and to Oracle OTN.

A special thanks to my friend Daniel Da Meda for nominating me.


Alex Zaballa





terça-feira, 23 de dezembro de 2014

Meu primeiro ano como Oracle ACE

Em 22 de Janeiro de 2014, fui nomeado Oracle ACE (obrigado ao meu amigo Daniel Da Meda pela nomeação) e durante todo este ano, me empenhei muito para honrar este título.

Contando apenas eventos da Oracle, viajei cerca de 180.000KM e um total de aproximadamente 205 horas dentro de aviões. Isso é o suficiente para dar a volta ao mundo 4.5 vezes.

  • Eventos em que participei:


                Fevereiro: Oracle Expert Summit 2014

                Abril: Collaborate 14

                Junho: KSCOPE 14

                Agosto: GUOB TECH DAY 2014 - OTN TOUR LA - Brasil

                Setembro: Oracle Open World 2014

                Novembro: Connect 2014 - SAOUG - Review

                Dezembro: UKOUG - Tech 14



  •  Fui Speaker em 3 continentes:




  • Formamos o Grupo de Usuários Oracle de Angola - GUOA

  •  29 Artigos Publicados no GPO
                   19/01/2014
                   12c - SQL*Loader Express

                  25/01/2014
                12c - Multiple Indexes on the same set of Columns

                02/02/2014
                12c - Temporary Undo

                08/02/2014
                12c - Instance Parameters – CDB / PDB

                15/02/2014
                12c - Limit the PGA

                15/02/2014
                Upgrade do Oracle Beehive versão 2.0.1.4 para 2.0.1.8

                22/02/2014
                12c - Session private statistics for Global Temporary Tables

                02/03/2014
                Aplicando o Bundle Patch 11.1.1.7.140114 no OBIEE 11G

                08/03/2014
                12c - Extended Data Types

                15/03/2014
                12c - Session Level Sequences

                22/03/2014
                12c - SQL Query Row Limits and Offsets

                29/03/2014
                12c - In-Database Archiving

                20/04/2014
                12c - Last Successful Login Time in SQL*Plus

                26/04/2014
                12c - Statistics During Loads

                02/05/2014
                12c – PL/SQL From SQL

                17/05/2014
                12c – SQL Text Expansion

                24/05/2014
                12c – RMAN SQL Interface Improvements

                01/06/2014
                12c – ASM – New asmcmd commands

                07/06/2014
                12c – USE_SID_AS_SERVICE_listener_name

                13/07/2014
                DEFERRED SEGMENT CREATION

                27/07/2014
                12c - Oracle Database In-Memory – Primeiros Passos

                10/08/2014
                12c - Approximate Count Distinct

                14/09/2014
                12c - Preserving or Discarding the Open Mode of PDBs When the CDB Restarts

                21/9/2014
                12c - Full Database Caching Mode

                02/11/2014
                12c - Partial Indexes for Partitioned Table

                09/11/2014
                Como remover um SQL Statement da Shared Pool

                30/11/2014
                Como alterar o valor de um parâmetro de outra sessão

                14/12/2014
                12c - READ Object Privilege and READ ANY TABLE System Privilege

                21/12/2014
                Lendo variáveis do SO através do PL/SQL



  • 15 artigos publicados no OTN e em 3 idiomas:



  •  Artigos divulgados nos canais oficiais da Oracle:


  •  Mentions:
               Oracle ACE Program Newsletter - November 2014
               Featured Speaker - UKOUG - TECH14


  • The Oracle ACE Program Newsletter:

               Janeiro

               Fevereiro
              Agosto

            Setembro

            Outubro

             Novembro

            Dezembro





  • Eventos já programados para 2015:
               RMOUG Training Days
               Collaborate 15
               KSCOPE 15



Espero que em 2015 consiga manter esse mesmo empenho e ajudar a comunidade Oracle o máximo possível!

Gostaria de agradecer a minha empresa por todas oportunidades que me oferece, ao Oracle ACE Program e ao Oracle OTN.

Não posso deixar de agradecer também ao pessoal do DatabaseCast, pois os podcasts me ajudaram muito nos intervalos entre as conexões.

Feliz Natal e Próspero Ano Novo.



domingo, 21 de dezembro de 2014

Lendo variáveis do SO através do PL/SQL

Caso você tenha acesso a um servidor de banco de dados Oracle, mas não tenha acesso ao sistema operacional e deseja obter os valores das variáveis de ambiente, como por exemplo o ORACLE_HOME, ORACLE_SID, ou qualquer outra variável de ambiente do sistema operacional; você pode utilizar a procedure GET_ENV da package DBMS_SYSTEM, que está disponível desde a versão 10g.

A package DBMS_SYSTEM não é documentada e nem suportada, ela é utilizada internamente
para fins de debug e monitoramento de eventos, então você deve estar ciente que irá utilizar por sua conta e risco.


[oracle@oracle01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Fri Dec 19 10:23: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> set serveroutput on
SQL> DECLARE

v_aux VARCHAR2 (255);
v_aux2 VARCHAR2 (255);
v_aux3 VARCHAR2 (255);

BEGIN

DBMS_SYSTEM.GET_ENV ('ORACLE_BASE', v_aux);
DBMS_SYSTEM.GET_ENV ('ORACLE_HOME', v_aux2);
DBMS_SYSTEM.GET_ENV ('ORACLE_SID', v_aux3 );

DBMS_OUTPUT.PUT_LINE (v_aux);
DBMS_OUTPUT.PUT_LINE (v_aux2);
DBMS_OUTPUT.PUT_LINE (v_aux3);

END;
/


/u01/app/oracle
/u01/app/oracle/product/12.1.0/dbhome_2
orcl

PL/SQL procedure successfully completed.



Referências:




Abraço,

domingo, 14 de dezembro de 2014

12c - READ Object Privilege and READ ANY TABLE System Privilege

No Oracle Database 12.1.0.2, podemos utilizar o privilégio de objetos READ e o privilégio de sistema READ ANY TABLE  para permitir consultas em tabelas, visões, visões materializadas e sinônimos.

Mas e qual a diferença entre estes privilégios e os privilégios que já utilizamos, ou seja, o SELECT e SELECT ANY TABLE?

O privilégio de objeto SELECT e o privilégio de sistema SELECT ANY TABLE permitem bloquear as linhas de uma tabela através da execução das seguintes operações:

  • LOCK TABLE table_name IN EXCLUSIVE MODE;
  • SELECT ... FROM table_name FOR UPDATE;


[oracle@oracle01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 3 18:04:05 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> create user teste identified by teste;
User created.

SQL> grant create session to teste;
Grant succeeded.

SQL> grant select on scott.emp to teste;
Grant succeeded.


[oracle@oracle01 ~]$ sqlplus teste/teste
SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 3 18:05:14 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> lock table scott.emp in exclusive mode;

Table(s) Locked.

SQL> rollback;

Rollback complete.

SQL> select * from scott.emp for update;

EMPNO      ENAME      JOB       MGR        HIREDATE   SAL       COMM       DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- --------
7369       SMITH      CLERK     7902       17-DEC-80  800                  20

SQL> rollback;

Rollback complete.



O privilégio de objetos READ e o privilégio de sistema READ ANY TABLE não fornecem esses privilégios adicionais.

[oracle@oracle01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 3 17:59:16 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> create user teste identified by teste;
User created.

SQL> grant create session to teste;
Grant succeeded.

SQL> grant read on scott.emp to teste;
Grant succeeded.


[oracle@oracle01 ~]$ sqlplus teste/teste
SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 3 18:00:09 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> lock table scott.emp in exclusive mode;
lock table scott.emp in exclusive mode
*
ERROR at line 1:
ORA-01031: insufficient privileges

SQL> select * from scott.emp for update;
select * from scott.emp for update
*
ERROR at line 1:
ORA-01031: insufficient privileges



Referências:



Abraço,

Alex Zaballa.