Workshop Oracle 12c: Multitenant Architecture – entendendo CDB e PDBs

OracleMultitenantArchitecture

Em Maio deste ano publicamos um Post anunciando que a Nerv faz 6 anos.

Mas fomos procurar mais a respeito, e este tempo é maior: a Nerv foi fundada em 17/02/2006 (data da abertura do CNPJ), a princípio apenas para que eu trabalhasse como Pessoa Jurídica.

Em 05/2010 começamos com Treinamentos, trazendo uma proposta inovadora, tanto em modelo quanto em conteúdo.

Em 2015, focamos como Consultoria, novamente com um conceito diferente do que há no mercado, e este foco se consolidou em 2016.

No ano de 2017, planejamos não mais ter Treinamentos em nossa agenda.

Mas atendendo a muitos, muitos pedidos, e para comemorar os 10 anos da Nerv, vamos lançar alguns Workshops, rápidos, práticos e diretos.

Como já conversei com muitos de nossos alunos, o foco em Consultoria não me permite criar novos Treinamentos e nem me dedicar mais aos já existentes, mas Workshops são mais precisos, e consomem muito menos de nosso tempo (nossos Workshops possuem a duração de 04 horas).

O primeiro deles será a 9a turma do Oracle AWR, onde além de conhecer um método direto e preciso para interpretar um relatório Statspack / AWR, você pode trazer os seus, para fazermos a análise juntos.
Deixamos este Workshop no dia 31/07, um dia depois do GUOB Tech Day 2016, para quem vem de fora São Paulo poder aproveitar a viagem.

Também temos um lançamento, o Oracle 12c: Multitenant Architecture. A intenção deste Workshop é que o participante rapidamente entenda (e pratique) como funcionam CDBs e PDBs no dia a dia do DBA.

Mais detalhes aqui: http://nervinformatica.com.br/OracleMultitenantArchitecture.php

E ele já está em nossa tradicional agenda: http://nervinformatica.com.br/agenda.php

Como sempre, as vagas são muito limitadas.

Desconto no GUOB Tech Day 2016

GUOB-2016

Com grande sucesso, o GUOB prepara mais uma edição de seu evento nacional no dia 30/07/2016 em São Paulo, no Hotel Blue Tree Morumbi, com palestrantes nacionais e internacionais.

Veja aqui a programação: http://www.guobtechday2016.eventize.com.br/index.php?pagina=3

Os primeiros 100 Alunos e Clientes Nerv que se inscreverem ganham um desconto de 50% no valor vigente. Para ganhar o desconto, use o código DC95471151 na inscrição.

Valores da Inscrição: http://www.guobtechday2016.eventize.com.br/index.php?pagina=4

Inscreva-se aqui: http://www.guobtechday2016.eventize.com.br/index.php?inscricao

Grande abraço, e nos vemos lá!

Palestras que quero assistir no GUOB Tech Day 2016

GUOB2016-Grade

É muito comum a grade mudar, por diversos motivos. Se ela continuar como está, estas serão as palestras que gostaria de assisir. Provavelmente terei que prazeirosamente sacrificar uma outra para conversar com os amigos, mas depois posso ver o material das palestras e talvez alguns vídeos, o que não é a mesma coisa, mas ver os amigos é bem mais raro.

10:05 – “Oracle Database Advanced Security – Hack Defense”, por Rodrigo Jorge, se não fosse o horário da minha palestra. Na dúvida, prefiro prestigiar os brasileiros.

11:15 – “Understanding my database through SQL*Plus using the free tool eDB360”, por Carlos Sierra. Sou fã do Carlos Sierra, e de suas ferramentas SQLTXPLAIN e do eDB360, que já me salvaram diversas vezes.

13:30 – “Hunting Malwares in the Memory of an Oracle Linux 7.x”, por Alexandre Borges. Gosto muito do trabalho do Alexandre, e como sempre, prestígio aos brasileiros.

14:20 – “DBA Commands and Concepts That Every Developer Should Know”, por Alex Zaballa, o cara que me fez parar de tirar certificações, porque ele não sabe brincar.

15:10 – “SQL Tuning 101”, por Carlos Sierra. Mesmo que não fosse ele. odiei Docker, e não aguento mais palestra de CDB e PDB.

16:25 – “Alta Disponibilidade no MySQL 5.7”, por Airton Lastori. O cara conhece, vamos lá aprender. Desculpas à Carina, mas eu fujo de BI!

17:15 – “Performance & Tuning – ASH”, por Rodrigo Mufalani. Além de ser o Mufalani, sou “muito AWR”, preciso de “mais ASH”.

18:05 – “RDBMS Forensics: Troubleshooting Using ASH”, por Tim Gorman. Mesmo motivo do acima. e as outras palestras são de BI e “R”.

DBSAT – Oracle Database Security Assessment Tool

O DBSAT é uma ferramenta da própria Oracle para detectar vulnerabilidades e riscos de segurança no Oracle Database, e está disponível pelo MOS, Doc ID 2138254.1.

Seu uso é muito simples. Basta baixar, descompactar, e executar um script duas vezes. A primeira execução é para coleta de dados, e a segunda execução é para criar um relatório HTML baseado na coleta executada, mostrando quais são as vulnerabilidades encontradas.

[oracle@nerv10 dbsat]$ ls -lh
total 192K
-rw-r--r--. 1 oracle oinstall 191K Jun  1 10:39 dbsat.zip
[oracle@nerv10 dbsat]$ unzip -q dbsat.zip
[oracle@nerv10 dbsat]$ ls
dbsat  dbsat.bat  dbsat.zip  sat_analysis.py  sat_collector.sql  sat_reporter.py  xlsxwriter
[oracle@nerv10 dbsat]$ echo $ORACLE_SID
CATALOGO
[oracle@nerv10 dbsat]$ ./dbsat collect -n "/ as sysdba" /tmp/collect_result

This tool is intended to assist in you in identifying potential
vulnerabilities in your system, but you are solely responsible for
your system and the effect and results of the execution of this tool
(including, without limitation, any damage or data loss). Further,
the output generated by this tool may include potentially sensitive
system configuration data and information that could be used by a
skilled attacker to penetrate your system. You are solely responsible
for ensuring that the output of this tool, including any generated
reports, is handled in accordance with your company's policies.

Connecting to the target Oracle database...


SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 1 10:47:32 2016

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

Setup complete.
SQL queries complete.
OS commands complete.
Disconnected from 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
DBSAT Collector completed successfully.

[oracle@nerv10 dbsat]$ ./dbsat report -n /tmp/collect_result

This tool is intended to assist in you in identifying potential
vulnerabilities in your system, but you are solely responsible for
your system and the effect and results of the execution of this tool
(including, without limitation, any damage or data loss). Further,
the output generated by this tool may include potentially sensitive
system configuration data and information that could be used by a
skilled attacker to penetrate your system. You are solely responsible
for ensuring that the output of this tool, including any generated
reports, is handled in accordance with your company's policies.

DBSAT Reporter ran successfully.

[oracle@nerv10 dbsat]$ ls -lh /tmp/collect_result.*
-rw-------. 1 oracle oinstall 117K Jun  1 10:49 /tmp/collect_result.html
-rw-------. 1 oracle oinstall 131K Jun  1 10:48 /tmp/collect_result.json
-rw-------. 1 oracle oinstall  77K Jun  1 10:49 /tmp/collect_result.txt
-rw-------. 1 oracle oinstall  19K Jun  1 10:49 /tmp/collect_result.xlsx
[oracle@nerv10 dbsat]$

01

00

02
03

MySQL InnoDB: Tamanho de Página

O MySQL – ou mais precisamente, o InnoDB – trouxe recentemente uma mudança drástica nos tamanhos possíveis de páginas da TABLESPACE, que definem o tamanho dos blocos armazenados em disco e memória.

Até a versão 5.7.5 o tamanho de página, definido pelo parâmetro innodb_page_size, podia ser de 4k, 8k e 16k. Na versão 5.7.6, adicionamente, são permitidos os tamanhos de 32k e 64k.

Para quem não conhece MySQL, ele é assim mesmo: mudanças drásticas em parâmetros acontecem “de uma hora para outra”, então é necessário sempre estar atento à documentação.

Este limite supera o de bancos de dados comercias, como o Oracle e SQL Server. E se o sistema de arquivos estiver alinhado com este tamanho de página, o aproveitamento é completo.

Sistemas OLTP geralmente são beneficiados por tamanho de página menores, enquanto que sistemas OLAP / BI / DSS geralmente são beneficiados por tamanho de páginas maiores.

Um dos benefícios desta flexibilidade é que em sistemas OLTP, na maioria das vezes é lida uma ou poucas linhas, então não faz sentido ler 64k para ler uma linha de, digamos, 200 bytes. Já os sistemas OLAP / BI / DSS muitas vezes lêem o objeto completo, então se beneficia da condição oposta.

Para alterar o tamanho de página, é necessário reconstrutir a TABLESPACE, o que no caso do MySQL significa reconstruir o banco todo, via backup / restore lógico.

5.7.5

5.7.6

Documentação: http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Innodb_page_size

GUOB Tech Day 2016

GUOB-2016

O GUOB terá a 7a edição de seu evento nacional no dia 30/07/2016 em São Paulo no Hotel Blue Tree Morumbi, o qual proporcionará um grande encontro de usuários de tecnologia Oracle do Brasil com a participação de palestrantes internacionais e nacionais.

Irei palestrar no evento, sobre um tema de Tuning que deve preocupar todo DBA.

Maiores informações:
http://www.guob.com.br/

Inscrições:
http://www.guobtechday2016.eventize.com.br/

Passo a passo para aplicação do PSU 12.1.0.2.160419 (Patch 22291127) em Single Instance sem Grid Infrastructure.

BandAid
Este PSU inclui o CPU (Critical Patch Update) de Abril de 2016.

Desde o CPU de Janeiro de 2016, o quinto dígito do número da versão foi substituído pela data, no formato YYMMDD.

Antes de começar, baixe o OPatch mais recente para a versão. O OPatch é o arquivo p6880880_121010_Linux-x86-64.zip.

As linhas que começam com “$” devem ser executadas com o usuário oracle.
As linhas que começam com “#” devem ser executadas com o usuário root.
As linhas que começam com “SQL>” devem ser executadas no SQL*Plus.

$ lsnrctl stop

Execute o passo abaixo para cada uma das instâncias de banco de dados.

$ export ORACLE_SID=CATALOGO
SQL> SHUTDOWN IMMEDIATE;

$ cd /home/oracle
$ unzip -q p6880880_121010_Linux-x86-64.zip
$ mv $ORACLE_HOME/OPatch/ $ORACLE_HOME/OPatch.BACKUP
$ mv /home/oracle/OPatch $ORACLE_HOME
$ unzip -q p22291127_121020_Linux-x86-64.zip
$ cd 22291127/
$ $ORACLE_HOME/OPatch/opatch apply
$ lsnrctl start

Execute o passo abaixo para cada uma das instâncias de banco de dados.

$ export ORACLE_SID=CATALOGO
SQL> STARTUP;

Só é necessário executar este passo se você usa PDBs, para cada PDB.

$ export ORACLE_SID=CATALOGO
$ sqlplus / AS SYSDBA
SQL> ALTER PLUGGABLE DATABASE DEV OPEN READ WRITE;

Execute o passo abaixo para cada uma das instâncias de banco de dados.

export ORACLE_SID=CATALOGO
$ cd $ORACLE_HOME/OPatch
$ ./datapatch -verbose

Passo a passo para aplicação do PSU 12.1.0.2.160419 (Patch 22738641) em Single Instance com Grid Infrastructure.

BandAid
Desde o CPU (Critical Patch Update) de Janeiro de 2016, o quinto dígito do número da versão foi substituído pela data, no formato YYMMDD.

Antes de começar, baixe o OPatch mais recente para a versão. O OPatch é o arquivo p6880880_121010_Linux-x86-64.zip.

As linhas que começam com “$” devem ser executadas com o usuário oracle.
As linhas que começam com “#” devem ser executadas com o usuário root.
As linhas que começam com “SQL>” devem ser executadas no SQL*Plus.

$ cd /home/oracle
$ unzip -q p6880880_121010_Linux-x86-64.zip
$ mv $ORACLE_HOME/OPatch/ $ORACLE_HOME/OPatch.BACKUP
$ mv /home/oracle/OPatch $ORACLE_HOME
$ su root
# mv $GRID_HOME/OPatch/ $GRID_HOME/OPatch.BACKUP
# mv /home/oracle/OPatch/ $GRID_HOME/
$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp
     ENTER
     Y   ENTER
$ unzip -q p22738641_121020_Linux-x86-64.zip
$ $ORACLE_HOME/bin/srvctl stop database -d ORCL
$ $ORACLE_HOME/bin/srvctl stop database -d CATALOGO
$ su root
# $GRID_HOME/bin/crsctl stop resource -all
# export ORACLE_HOME=$GRID_HOME
# export PATH=$PATH:$GRID_HOME/grid/OPatch
# opatchauto apply /home/oracle/22738641 -ocmrf /home/oracle/ocm.rsp -nonrolling
# $GRID_HOME/bin/crsctl start resource -all

Só é necessário executar este passo se você usa PDBs, para cada PDB.

$ export ORACLE_SID=CATALOGO
$ sqlplus / AS SYSDBA
SQL> ALTER PLUGGABLE DATABASE DEV OPEN READ WRITE;

Execute o passo abaixo para cada uma das instâncias de banco de dados.

export ORACLE_SID=CATALOGO
$ORACLE_HOME/OPatch/datapatch

Como a Oracle está vendendo Cloud no Brasil

01

Alguém precisa falar.

No dia 28/06 acontecerá o Oracle Open World Latin America, em São Paulo.

Neste evento, os participantes irão ouvir sobre três coisas: Cloud, Cloud, e Cloud.

Os participantes deverão ouvir também como a Oracle está vendendo Cloud no Brasil a rodo. Deverão ouvir algo como “as vendas de Cloud subiram 300%!”. Eu aposto em um número maior.

O problema é que muitas destas “vendas” aconteceram da seguinte forma:
– A Oracle (geralmente um parceiro) se apresenta (de forma muito amigável) para fazer uma auditoria (eles usam um nome bem mais agradável e que não assusta) a respeito do uso de produtos Oracle.
– A auditoria acontece, e muitos clientes que utilizavam Standard Edition e Standard Edition One (SE e SE1), ou mesmo a nova Standard Edition 2 (SE2) são pegos na ARMADILHA que é o Diagnostics & Tuning Pack (ou uma das várias outras armadilhas), e passam a dever a licença Enterprise Edition.
– A Oracle cobra o preço da Enterprise Edition + Packs, que chega facilmente a milhões de dólares (e com o dólar a quase R$ 4,00…), ao invés do U$ 5.000 / 10.000 da SE / SE1 / SE2. Nesta hora, a abordagem amigável termina.
– A empresa obviamente não pode pagar (vi casos onde a licença era maior que o faturamento bruto anual). Aí que entra o Cloud: compre R$ 500.000,00 de Cloud, e perdoamos essa dívida de R$ 5.000.000,00.
– A empresa “compra” o Cloud, usa um pouco como teste, vê que não é viável financeiramente, e abandona.

Não é uma acusação, não é minha opinião. É um fato, e não é um caso isolado: eu não ouvi esta história acima menos de 20 vezes nos últimos 6 meses.

Eu acho sim que o cliente tem que pagar licença por um produto que cobra isso. Se o cliente não quiser pagar licença, que use um produto que não cobre isso. A escolha é direito tanto do fabricante e do cliente. Se o cliente usa, deve pagar.

Mas todos estes clientes da Oracle com quem eu falei querem utilizar as licenças corretas. O problema são as inúmeras armadilhas de licenciamento Oracle, onde por exemplo, o cliente ativa a Option Diagnostics Pack em uma instalação SE1 (sendo que Options são exclusivas da Enterprise Edition), não sabe como fez isso, e nem o parceiro lhe explica como. E nem é interessante para a Oracle explicar…

Pior do que isso, é a abordagem de chantagem, para vender um produto que não o cliente não quer.

Recomendo fortemente a toda empresa que, antes de receber a auditoria da Oracle ou Parceiro Oracle, fale com uma Consultoria que possui conhecimento a respeito, para ajuda-lo a adequar sua necessidade com suas licenças.