Oracle Autonomous Database e a Morte do DBA Oracle

Senta que é textão.

Estou devendo este Post a um bom tempo, mas a parte de Consultoria da Nerv hoje toma a maior parte de meu tempo – Amém.

Desde o anúncio do Oracle Autonomous Database, muitos DBAs me procuraram com a seguinte preocupação: meu trabalho não existirá mais.

Em primeiro lugar, saiba que o Oracle 18c só é Autonomous Database se for utilizado no Oracle Cloud. Pelo o que vejo, pouca gente entendeu isso.
Fonte: “Oracle Database 18c is NOT an Autonomous Database!

Ou seja, daí você já pode supor (só posso supor, pois o produto ainda não está disponível) que na verdade não é o Oracle Database que é Autônomo. O Autonomous Database é (a grosso modo) um bando de scripts que rodam no Dataceter da Oracle. Automação de tarefas é uma tendência, porque economizar é uma tendência.

Sim, se você instalar o Oracle 18c em seu servidor, ele deverá ser tão Autônomo quando o 12cR2 (ou um pouquinho mais).

E aí está outra coisa que vejo que pouca gente entendeu: o 18c não é uma nova versão. É apenas um Patchset, com uma mudança de nome. O 18c na verdade é apenas o Patchset 12.2.0.2, do 12cR2.
Fonte: My thoughts about the new Oracle Database Release Schedule

“Ah Portilho, mas o 18c tem New Fetures.”
Desde o 11.2.0.2, Patchsets tem New Features. Nada mudou.
Fontes:
Oracle Database 11g Release 2 (11.2.0.2) New Features
Oracle Database 11g Release 2 (11.2.0.3) New Features
Oracle Database 11g Release 2 (11.2.0.4) New Features
Oracle Database 12c Release 1 (12.1.0.2) New Features

Tá, e este Oracle Autonomous Database irá acabar com o DBA? Sim e Não.

Explico – eu conheço dois DBAs:

O DBA “A”:
– Sabe instalar o Oracle e criar um banco (com -ignoreSysPrereqs, e no modo YES YES FINISH GET ME OUT OF HERE).
– Consegue também criar um Standby Manual (mas só depois de rever alguns vídeos na Internet).
– Até RAC ele instala, mas “daquele jeito”.
– Não aplica Patch, e foge de Upgrade como o diabo da cruz.
– Passa o dia inteiro cuidando de TABLESPACEs, aumentando os DATAFILEs manualmente, para que todos estejam no máximo com 89% do espaço ocupado, como ele gosta. Se uma TABLESPACE cresce muito, ele manda e-mail reclamando para o gerente da área responsável pelo aumento.
– Faz o backup com “um script que achou na internet”. Não sabe quanto tempo um Restore levará, e nem mesmo se funcionaria. Afinal, nunca deu problema.
– Quando reclamam para ele de lentidão, ele verifica qual processo está consumindo muita CPU, e mata ele (com kill -9, pois é muito mais rápido).
– Se mesmo assim continuam reclamando, ele acha (após muito esforço) o SQL que está causando lentidão, e “encaminha para o desenvolvedor responsável”.
– Se o Desenvolvedor não faz nada, e a lentidão está muito feia, ele utiliza o Tuning Pack que sugere a ele coletar estatísticas, criar um determinado índice, ou criar um Profile. Nessa hora ele se sente o Tuning Man.
– Quando uma área de negócio procura ele para criar um novo banco, ou fazer um Refresh do ambiente de desenvolvimento, ele faz um drama, diz que vai levar uma semana, que toda hora pedem Refresh, e por aí vai.

O DBA “B”:
– Mantém seus bancos de dados, nos mais diversos cenários (Single Instance, Oracle Restart, RAC, Data Guard, Golden Gate, etc.), atualizados, monitorados, administrados com o máximo possível de automação, e com todas as melhores práticas possíveis implementadas. Planeja e executa migrações, atualizações, consolidações, “desconsolidações”, e o que mais aparecer pela frente.
– Detecta lentidão antes que o usuário reclame, identifica a causa com tranquilidade, implementa tudo o que pode ser feito sem a necessidade de alterar a aplicação, e caso seja necessário, já passa para o desenvolvedor o que deve ser feito, no mínimo em linhas gerais. E o mais importante, participa do planejamento da aplicação.
– Quando a área de negócio precisa de algo, ele identifica a melhor forma de atende-los, seja com New Features (“Clone? É melhor um PDB.”) ou mesmo com outras tecnologias (“Oracle não é bom para isso, vamos usar a tecnologia X”).

Então o Oracle Autonomous Database irá acabar com o DBA? Sim, com o “A”. O DBA “A” já está acabando a um tempo, e irá se tornar obsoleto, e o Autonomous Database só irá acelerar esse processo. Cloud em geral (que nada mais é do que um nome bonito para Datacenter + Virtualização + Automação) faz sucesso por causa do DBA “A”. Se você acha que é um DBA “A”, já passou da hora de acordar, não é só Oracle Autonomous Database que irá acabar com seu trabalho.

O Oracle Autonomous Database não fará o papel do DBA “B”, da mesma forma que não consegue fazer café.

“Ah Portilho, mas a Oracle disse que tudo vai para o Cloud, então deve ser verdade. E se for Autonomous então, as empresas irão querer ir mais rápido ainda para Cloud, então tudo vai para Autonomous Database, vai ter menos trabalho de DBA”.

Discordo, pelos seguintes motivos:
– Nem toda aplicação pode ir para Cloud. Ainda existe muita aplicação Client / Server, sem planos para migrar para Web, e que não funcionam bem com a Virtualização de Client (com Critix, por exemplo).
– Nem toda empresa terá infraestrutura (Link) para ir para Cloud, seja por custo, seja pela localização.
– Nem toda empresa pode ir para Cloud, por legislação ou regras da empresa.
– Nem toda empresa quer ir para Cloud, pois a TI é tão estratégica que não pode ser terceirizada (o maior banco do país não foi para Cloud, criou um Datacenter do zero).
Fonte: Itaú Unibanco inaugura data center de R$ 3,3 bilhões
– Vi muitas empresas entrarem e saírem de Cloud, por falta de qualidade do produto. Isto era previso: quanto mais popular Cloud for, a concorrência será no preço (pois é um produto “Commodity” – tanto faz usar desta empresa quanto daquela). Se a concorrência for no preço, é inevitável que a qualidade caia – por exemplo, a empresa de Cloud vai ter que contratar DBAs mais baratos, switches mais baratos, colocar mais VMs do que o hardware aguenta, não colocar um bom sistema contra incêndios… Acho que a tendência é a consolidação nos grandes.
– Cloud aumenta o trabalho do DBA “B”. Quando mais fácil for a criação de um ambiente, e quanto mais fácil for desenvolver, mais fácil é desenvolver porcaria. Resolver um problema de desempenho com hardware é como alimentar um monstro (além de ser caro, mesmo em Cloud). É como o Cary Millsap diz, “You can’t hardware yourself out of a performance problem you softwared yourself into”.
Fonte: https://twitter.com/CaryMillsap/status/915265201569533952
– O Oracle 18c Autonomous Database ainda nem existe: hoje é 12/04/2018, e ele foi “lançado” em 02/10/2017). Ou seja: o negócio ainda nem deve funcionar direito, ou eles já estavam vendendo.
Fonte: Oracle’s automated database is a minimum viable release
– O Oracle Cloud (mesmo sem o Autonomous) nem funciona direito. Ele é uma piada entre os DBAs Oracle, mesmo sendo a menina dos olhos da empresa, e já existir a anos.
Fonte: 7 Motivos para usar o Oracle Cloud
– A Oracle é conhecida por “Forçar a amizade” quando anuncia um Produto.
Fonte: AWS fires back at Larry Ellison’s claims, saying it’s just Larry being Larry

Ah Portilho, então a Oracle está mentindo? Não é Autonomous?

Veja esta parte do anúncio do Larry Elisson sobre o 18c:

Oracle Database 18c makes DBAs far more productive. Numerous, major areas of database administration have been either entirely automated or dramatically simplified. This is part of a larger effort that actually began with the 12c release of the Oracle database. The accomplished goal of Oracle 12c was to reduce the effort needed to administer an Oracle database by one half. The accomplished goal of Oracle Database 18c was to reduce the effort by another half. More has been invested in reducing administration costs in these two major database releases than in any other area of functionality. Existing DBA staffs can now accomplish much more and deliver even higher quality service to their end users.

Legal né? Só que este texto é a respeito do Oracle 10g. Eu apenas troquei 10g por 18c, e 9i por 12c. E traduzindo o que o Larry Elison disse sobre o 10g, ele tinha memória automática e Enterprise Manager. É isso.

Fonte original (muita atenção no título): Oracle Database 10g Release 2: A Revolution in Database Technology (PDF)

O 10g então (e outras coisas que vieram) acabou com certos DBAs – aquele que dizia que gerenciar TABLESPACEs era complicado, alterar parâmetros era difícil, e ver qual era o problema de desempenho era tarefa de magos. Aí o cliente / gerente passou a ver que não era tão complicado assim.

O Oracle tem sido sim cada vez mais Autônomo, especialmente a partir do 12cR1: Adaptive Dynamic Sampling, Optimizer Adaptive Plans, SQL Plan Directives, Auto Creation of Column Group Statistics, para citar apenas algumas New Features. Isto é muito comum no Marketing da Oracle – eles vão lançando Features, vendo se funcionam (Optimizer Adaptive Features fez muito 12cR1 travar), e quando funcionam, “lançam” o Produto. Por exemplo, o Flashback existe desde o 9i, embora a maioria lembra que ele foi “lançado” no 10g.
Fonte: Optimizer Adaptive Features in Oracle Database 12c Release 2
Fonte: Utilizando o Flashback Query a partir do Oracle 9i

No anúncio do Oracle Autonomous Database, é dito que “Provision, Patch, Update, Backup, Tune” será automatizado.

Acho que minhas grandes dores em Consultoria são:
– Implementação / Instalação.
– Falhas de infraestrutura.
– Refresh (ou Criação / Atualização de ambientes de Homologação e Desenvolvimento).
– Patch, Update, Upgrade.

Se eu puder me preocupar menos com estas tarefas, poderei me dedicar mais com o trabalho de DBA “B”. Então seja bem vindo, Oracle Autonomous Database.

A respeito de “Tune”, pelo o que eu li, o que o Oracle Autonomous Database faz é:
– Aumentar a SGA (e imagino, a memória) automaticamente quando o usuário aumenta a quantidade de CPUs.
– Paralelismo automático de acordo com a quantidade de CPUs que o usuário especificou para o banco.
– Query Result Cache habilitado (talvez por isso foi lançado primeiramente apenas para BI).
– O usuário não pode criar índices, então imagina-se que eles serão criados automatiamente.
Fonte: Autonomous Data Warehouse Cloud Hands-On Lab : My Thoughts

Ou seja, é Tune de DBA “A”. E não tem nada de novo, é automação de coisas que já existem. É o que eu acho, veremos quando o produto for realmente lançado…

Mas com esta postura da Oracle (“não precisa mais de DBA”), ela mais uma vez toma um caminho perigoso com sua comunidade (outras mancadas recentes da Oracle com sua comunidade foram com Licenciamento e com o Programa Oracle ACE).

Sabe porque ninguém (estou generalizando) usa DB2? Por que ele é um banco ruim? Não, é um produto excelente. Ninguém usa porque não existe DBA (estou generalizando aqui também). Tudo começa na comunidade. Se eu tenho uma empresa, e quero criar um Software, não vou usar DB2, pois não acharei quem irá administra-lo.

A comunidade é quem faz o Produto

17 comments

  1. Gostei muito do post Portilho. Já vi muita gente dizendo que o DBA vai acabar, e muita gente dizendo que não vale a pena e desvalorizando a área.

    Realmente não precisava desse marketing da Oracle, não foi muito bem direcionado.

    Agora, uma pergunta. Qual foi a mancada com o programa Oracle ACE?

    1. Obrigado Tércio!
      Sobre o programa Oracle ACE, acho que foi um monte de coisas. Alguns exemplos: a Oracle reduziu o apoio ao programa (em resumo, $ para os ACE Directors viajarem para palestrar), temos que preencher uma “planilha” sobre o que fazemos (praticamente um trabalho), somos “incentivados” a falar do bendito Cloud, e somos “fortemente desmotivados” a falar dos problemas do Cloud.

      1. Verdade, estou tendo que preencher o meu Scoreboard para ganhar pontos e assim continuar no programa, subir de nível ou ser um alumini.

        Sobre o ACE Directors, realmente eles tem que dar muitas palestras, e isso gera um custo elevado, é praticamente trabalhando para a própria Oracle mesmo, e eles ganham muito com isto. A comunidade tem um poder muito grande.

        1. Uma coisa é nós, meros mortais, terem que preencher a planilha. Outra é fazer com que Tim Hall, Jonathan Lewis, etc, tenham que fazer o mesmo.
          Ah, mais algumas coisas que lembrei: o Arup Nanda viria para o GUOB em 2017, mas a Oracle não deu o $ suficiente para ele vir.
          E a Oracle retirou o patrocínio do GUOB 2017, e não irá patrocinar em 2018.

          1. Isso realmente é uma má notícia! Lembro que o GUOB do ano passado venho nomes muito bons. Mas agora retirando o patrocínio irá ficar bem difícil.

            A Oracle esta dando um tiro no pé nisto. A Comunidade é bem importante, um exemplo disso é o que acontece com o IBM DB2 que você já citou.

            Espero que isso mude.

            Até estava pensando em ir para o GUOB, mas fica difícil gastar muito para ir em algo que não tem patrocínio da própria Oracle e não traz nomes importantes da comunidade global.

            Sei que o OOW esse aqui no Brasil terá inscrições gratuitas. O que será que fez eles decidirem por isto? Será que vai ser tão bom como antes?

          2. Em 2016 viram vários bons nomes internacionais para o GUOB. Em 2017 viram alguns bons nomes. Em 2018 acho que virão menos.
            Mas é importante a comunidade ir nos eventos, ou eles acabam.

            Acho que esse “grátis” do OOW é o “grátis” que sempre teve, não dá acesso a tudo, e terá o pago como sempre.
            Nunca gostei de OOW. Para mim parece o salão do automóvel, só que sem automóveis.

          3. A comparação do salão de automóveis foi ótimo.

            Estou tentando ir, quem sabe eu consiga.

            Morar longe de São Paulo dá nisso. rs

            Espero que os nomes internacionais continuem a vir.

  2. Portilho, texto excelente!

    E essa da troca do 10g pelo 18c, e demais versões em cascata, foi o máximo! Tô rindo litros até agora.

    Parece a Google quando anuncia que a nova versão do Android vai consumir menos bateria. Fazem isso desde o lançamento do Android!

  3. Excelente Proni! Apesar de não ser DBA, e nem entender de Oracle, saber disso tudo com relação a Cloud, e mais ainda com viés de segurança no assunto, ai sim vale a leitura para mim. Parabéns pelo post!

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *