image

Access unlimited bootcamps and 650+ courses forever

70
%OFF
Jefferson Melo
Jefferson Melo24/05/2026 10:13
Share

Oracle Data Platform Foundations Associate (1Z0-1195-25): o portfólio de dados Oracle na prática

    Das três certificações Foundations, essa é a mais densa de todas. A Oracle construiu um portfólio de dados que cobre praticamente todo cenário possível: banco relacional, JSON, grafo, espacial, NoSQL, analytics, lakehouse. A prova cobre tudo isso. Quem se prepara para ela sai com um mapa completo de um ecossistema que, sem nenhum guia, levaria meses para entender.

    Para quem vem do AWS ou Azure, vale o aviso: o Autonomous Database e a Converged Database são os pontos onde a Oracle mais difere das outras nuvens. Não tem equivalente direto. Entender o que esses dois fazem vai mudar a forma como você pensa arquitetura de dados, e com certeza terá reflexo prático no seu próximo projeto.

    Dados da prova:

    - Código: 1Z0-1195-25
    - Questões: 55, múltipla escolha
    - Duração: 90 minutos
    - Aprovação: 68%
    - Custo: gratuito
    - Aposentadoria da versão 2025: 29 de maio de 2026
    

    Parte 1 - O que é a área e o que a prova cobre

    A plataforma de dados Oracle cobre todo o ciclo: armazenamento, processamento, analytics, desenvolvimento de aplicação sobre o banco, resiliência e migração. A prova não chega no detalhes técnicos de cada um, mas espera que você saiba o que cada produto faz e em que situação faz sentido escolhê-lo.

    Os domínios oficiais e seus pesos:

    Domínio                                        Peso
    Autonomous Database e ferramentas              16%
    Data Lake, Data Warehouse e Machine Learning   15%
    Desenvolvimento em Oracle Database             13%
    Introdução à gestão de dados                   11%
    Exadata e DBCS                                 11%
    Resiliência                                     9%
    MySQL e NoSQL                                  10%
    Converged Database                              7%
    Upgrades e migrações                            8%
    

    Analisando essa distribuição, os três primeiros domínios somam 44% da prova. Quem chega bem preparado em Autonomous Database, na arquitetura de Lakehouse Oracle e nos fundamentos de desenvolvimento (ORDS, APEX) já chega cpm vantagem.

    Parte 2 - Os serviços Oracle na prática

    Autonomous Database

    O Autonomous Database é o protagonista da prova. E o "Autonomous" no nome não é à toa: a Oracle assume o trabalho de patching, backup, tunning de query, scaling de compute e storage e detecção de anomalias de segurança. Tudo automatizado. A diferença para o Base Database Service é simples: aqui você não pega SSH, não decide quando aplicar patch, não mexe no sistema operacional. Para muita gente isso é alívio, para outros é perda de controle. Depende do caso.

    Quatro variantes, cada uma com seu cenário:

    ATP (Autonomous Transaction Processing) - para OLTP. Workload transacional com muita concorrência, milhares de conexões abertas, transações curtas de escrita e leitura. Sistema de e-commerce, ERP, CRM.

    ADW (Autonomous Data Warehouse) - para analytics. Query analítica pesada sobre volume grande de dados histórico. Columnstore por padrão, paralelismo automático. Performance bem melhor que o ATP em query agregada, justamente porque o armazenamento é orientado a coluna.

    AJD (Autonomous JSON Database) - banco de documentos JSON com API SODA, e compatível com a API do MongoDB. Quem tem aplicação MongoDB e quer migrar pode apontar o driver para o AJD sem reescrever código.

    Autonomous Database for APEX - banco dedicado para desenvolvimento low-code com Oracle APEX. Custa menos que as outras variantes porque é otimizado especificamente para esse perfil de uso.

    Um trecho de SQL para dar contexto do que dá para fazer dentro do banco:

    [SQL]
    -- Criar schema para aplicação
    CREATE USER vendas_app IDENTIFIED BY "Senha#2026!";
    GRANT CONNECT, RESOURCE TO vendas_app;
    
    -- Tabela de pedidos com performance para OLTP
    CREATE TABLE vendas_app.pedidos (
    id      NUMBER GENERATED ALWAYS AS IDENTITY,
    cliente_id  NUMBER    NOT NULL,
    produto_id  NUMBER    NOT NULL,
    quantidade  NUMBER    NOT NULL,
    valor_total  NUMBER(10,2) NOT NULL,
    status    VARCHAR2(20) DEFAULT 'PENDENTE',
    criado_em   TIMESTAMP   DEFAULT SYSTIMESTAMP,
    CONSTRAINT pk_pedidos PRIMARY KEY (id),
    CONSTRAINT ck_status CHECK (status IN ('PENDENTE','PROCESSANDO','ENVIADO','ENTREGUE','CANCELADO'))
    );
    
    -- Índice para queries por cliente (frequente em OLTP)
    CREATE INDEX idxpedidoscliente ON vendasapp.pedidos (clienteid, criado_em DESC);
    
    -- Query analítica que o ADW vai paralelizar automaticamente
    SELECT 
    produto_id,
    TRUNC(criado_em, 'MM') AS mes,
    COUNT(*)        AS total_pedidos,
    SUM(valor_total)    AS receita,
    AVG(valortotal)    AS ticketmedio
    FROM vendas_app.pedidos
    WHERE criadoem >= ADDMONTHS(SYSDATE, -12)
     AND status = 'ENTREGUE'
    GROUP BY produtoid, TRUNC(criadoem, 'MM')
    ORDER BY mes DESC, receita DESC;
    

    Pela CLI fica assim:

    [BASH]
    Criar ATP via CLI
    oci db autonomous-database create \
     --compartment-id <compartment-ocid> \
     --db-name "VENDAS01" \
     --display-name "banco-vendas-producao" \
     --db-workload "OLTP" \
     --cpu-core-count 4 \
     --data-storage-size-in-tbs 2 \
     --admin-password "Admin#2026!" \
     --is-auto-scaling-enabled true \
     --is-free-tier false
    
    Escalar CPU sem downtime
    oci db autonomous-database update \
     --autonomous-database-id <adb-ocid> \
     --cpu-core-count 8
    
    Criar backup manual
    oci db autonomous-database-backup create \
     --autonomous-database-id <adb-ocid> \
     --display-name "backup-pre-atualizacao" \
     --type "FULL"
    
    Baixar wallet para conexão segura
    oci db autonomous-database generate-wallet \
     --autonomous-database-id <adb-ocid> \
     --password "WalletPwd#2026" \
     --file wallet.zip
    

    Vale destacar o auto-scaling. Se ativado, o banco usa até três vezes o número base de CPUs em momento de pico, e volta ao baseline quando o tráfego cai. Você paga pelas CPUs adicionais por hora efetivamente usada, não pelo tempo provisionado. Para workload com tráfego irregular, isso elimina aquele cálculo chato de dimensionar para o pior caso e pagar caro o ano inteiro.

    Exadata e Base Database Service

    O Exadata é o hardware proprietário Oracle, desenhado para Oracle Database de alta performance. A ideia técnica é simples de explicar mas pesada na prática: hardware e software co-projetados, com otimizações que servidor genérico não tem. Smart Scan executa filtro diretamente na camada de storage antes de mandar dado para a camada de banco. Smart Flash Cache mantém bloco quente em NVMe flash com acesso direto. O resultado é throughput de I/O em outro patamar.

    No OCI, o Exadata aparece em três formatos:

    - Exadata Cloud Service: infraestrutura dedicada que você provisiona, Oracle gerencia hardware e software Exadata

    - Autonomous Database on Exadata: Autonomous rodando sobre Exadata, gerenciamento máximo

    - Exadata Cloud@Customer (ExaCC): Exadata instalada no seu data center, gerenciada via OCI

    O Base Database Service (DBCS) é o Oracle Database tradicional rodando em VM no OCI. Você tem SSH, controla configuração do banco, e pode instalar software adicional. A Oracle ainda oferece ferramenta para automatizar backup e patching, mas quem decide quando e como é você. Mais controle, mais trabalho operacional.

    Quando o DBCS faz mais sentido que o Autonomous? Em três casos comuns: versão específica do Oracle Database que o Autonomous ainda não suporta, workload com dependência de SO (extensão compilada, script de sistema), e licenciamento BYOL com Enterprise Edition mais opções específicas.

    [BASH]
    Criar Base Database Service
    oci db system launch \
     --compartment-id <compartment-ocid> \
     --availability-domain "GrCH:SA-SAOPAULO-1-AD-1" \
     --subnet-id <subnet-ocid> \
     --db-home-display-name "DbHome01" \
     --db-version "19.0.0.0" \
     --display-name "dbcs-producao" \
     --hostname "dbcs-prod-01" \
     --shape "VM.Standard.E4.Flex" \
     --ssh-public-keys '["<ssh-public-key>"]' \
     --cpu-core-count 4 \
     --database-edition "ENTERPRISE_EDITION" \
     --db-name "PRODDB" \
     --admin-password "Admin#2026!" \
     --db-workload "OLTP"
    

    Converged Database: JSON, Grafo e Spatial no mesmo engine

    A Converged Database é o conceito que mais diferencia a Oracle das outras nuvens em banco de dados. Em vez de usar um banco de documento separado para JSON, um banco de grafo para relação complexa, um banco espacial para geolocalização, você usa Oracle Database para todos. O modelo relacional é a base, e cada modelo adicional vive como capacidade nativa do mesmo engine.

    JSON nativo - o Oracle Database trata JSON como tipo de primeira classe. Coluna JSON, índice em campo específico do documento, query com SQL padrão ou via API SODA. Sem parser externo, sem driver paralelo.

    [SQL]
    -- Armazenamento e consulta de JSON no Oracle Database
    CREATE TABLE produtos (
    id     NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    dados    JSON
    );
    
    INSERT INTO produtos (dados) VALUES (
    JSON('{"nome": "Notebook Pro", 
        "preco": 5999.00,
        "specs": {"ram": "16GB", "storage": "512GB SSD"},
        "tags": ["eletronico", "computador", "premium"]}')
    );
    
    -- Consultar usando dot notation
    SELECT p.dados.nome AS nome,
      p.dados.preco AS preco,
      p.dados.specs.ram AS ram
    FROM produtos p
    WHERE p.dados.preco < 7000;
    
    -- Verificar se contém uma tag específica
    SELECT p.dados.nome
    FROM produtos p
    WHERE JSON_EXISTS(p.dados, '$.tags[*]?(@ == "premium")');
    
    -- Criar índice em campo JSON para performance
    CREATE INDEX idxprodutopreco 
    ON produtos (JSON_VALUE(dados, '$.preco' RETURNING NUMBER));
    

    Oracle Graph - permite consulta em dado modelado como grafo (nó e aresta) usando PGQL (Property Graph Query Language) ou SQL/PGQ. Os casos de uso clássicos: detecção de fraude por padrão de transação, análise de rede social, sistema de recomendação, supply chain.

    [SQL]
    -- Criar grafo de relacionamentos de clientes
    CREATE PROPERTY GRAPH rede_social
    VERTEX TABLES (clientes LABEL CLIENTE PROPERTIES (id, nome, cidade))
    EDGE TABLES (
      seguimentos
      SOURCE KEY (seguidor_id) REFERENCES clientes(id)
      DESTINATION KEY (seguido_id) REFERENCES clientes(id)
      LABEL SEGUE
    );
    
    -- Buscar amigos de amigos (distância 2 no grafo)
    SELECT *
    FROM GRAPHTABLE (redesocial
    MATCH (c1 IS CLIENTE) -[IS SEGUE]-> (c2 IS CLIENTE) -[IS SEGUE]-> (c3 IS CLIENTE)
    WHERE c1.nome = 'Ana Souza'
     AND c3.nome != 'Ana Souza'
    COLUMNS (c1.nome AS origem, c3.nome AS amigodeamigo)
    );
    
    -- Detectar ciclos (possível indicador de fraude em redes de transações)
    SELECT *
    FROM GRAPHTABLE (redefinanceira
    MATCH (a) -[IS TRANSFERE]-> (b) -[IS TRANSFERE]-> (a)
    COLUMNS (a.contaid AS contaa, b.contaid AS contab)
    );
    

    Spatial - dado geográfico via tipo SDO_GEOMETRY e função de análise espacial. Encontrar ponto dentro de raio, calcular distância entre coordenada, verificar se ponto está dentro de polígono. Tudo via SQL.

    [SQL]
    -- Criar tabela com dados espaciais
    CREATE TABLE lojas (
    id    NUMBER PRIMARY KEY,
    nome   VARCHAR2(200),
    cidade  VARCHAR2(100),
    localizacao SDO_GEOMETRY
    );
    
    -- Inserir loja em São Paulo (longitude, latitude)
    INSERT INTO lojas VALUES (
    1, 
    'Loja Centro', 
    'São Paulo',
    SDOGEOMETRY(2001, 4326, SDOPOINT_TYPE(-46.6333, -23.5505, NULL), NULL, NULL)
    );
    
    -- Criar índice espacial
    CREATE INDEX idxlojasspatial ON lojas (localizacao) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    
    -- Encontrar todas as lojas em raio de 5km de uma coordenada
    SELECT nome, cidade,
      SDOGEOM.SDODISTANCE(localizacao, 
        SDOGEOMETRY(2001, 4326, SDOPOINT_TYPE(-46.6388, -23.5489, NULL), NULL, NULL),
        0.05, 'unit=KM') AS distancia_km
    FROM lojas
    WHERE SDOWITHINDISTANCE(localizacao,
    SDOGEOMETRY(2001, 4326, SDOPOINT_TYPE(-46.6388, -23.5489, NULL), NULL, NULL),
    'distance=5 unit=KM') = 'TRUE'
    ORDER BY distancia_km;
    

    O que você precisa saber para a prova? Por que usar um engine que suporta vários modelos em vez de bancos especializados separados? A resposta envolve simplicidade operacional - apenas uma stack para administrar, menor latência (sem rede entre engines), transação ACID em diversos modelos (mantendo consistência), e segurança unificada.

    MySQL HeatWave

    O MySQL HeatWave é a versão Oracle do MySQL com um acelerador analítico in-memory acoplado. A proposta é juntar OLTP e analytics no mesmo sistema, sem pipeline ETL para data warehouse separado e sem latência de replicação.

    Funciona assim: o HeatWave é um cluster de nós especializados em memória ligado ao MySQL. Você marca quais tabelas devem entrar, e a partir daí as queries analíticas nessas tabelas são roteadas automaticamente para o HeatWave. O MySQL continua respondendo a transações OLTP normalmente.

    [SQL]
    -- Carregar tabela de vendas no HeatWave para acelerar analytics
    ALTER TABLE vendas SECONDARY_ENGINE=RAPID;
    ALTER TABLE vendas SECONDARY_LOAD;
    
    -- Verificar status do carregamento
    SELECT TABLENAME, LOADSTATUS
    FROM performanceschema.rpdtables
    WHERE TABLESCHEMA = 'dbvendas';
    
    -- Query analítica (será automaticamente roteada para HeatWave)
    EXPLAIN SELECT 
    DATEFORMAT(datavenda, '%Y-%m') AS mes,
    produto_categoria,
    SUM(valor) AS total,
    COUNT(*) AS transacoes
    FROM vendas
    WHERE datavenda >= DATESUB(NOW(), INTERVAL 12 MONTH)
    GROUP BY mes, produto_categoria
    ORDER BY mes DESC, total DESC;
    -- Com USESECONDARYENGINE=FORCED no explain, confirma uso do HeatWave
    
    -- Usar o recurso ML do HeatWave (treino direto no MySQL)
    CALL sys.MLTRAIN('dbvendas.historico_clientes', 
            'churn_score', 
            JSON_OBJECT('task', 'classification'), 
            'modelochurnv1');
    
    CALL sys.MLPREDICTROW(
    JSONOBJECT('idade', 35, 'valormediomensal', 150.0, 'mesesinativo', 3),
    'modelochurnv1',
    NULL
    );
    

    E tem mais: o HeatWave traz ML integrado. Você treina modelo diretamente no MySQL, sem exportar dados para outra plataforma. Para várias empresas que tem MySQL em produção e quer começar a explorar ML sobre os dados do próprio negócio, isso elimina o trabalho de montar uma infraestrutura paralela.

    OCI NoSQL Database

    O OCI NoSQL é um banco de chave-valor e documento para workload que precisa de latência previsível em escala horizontal. Latência em milissegundo de um dígito, throughput que escala adicionando capacidade, modelo serverless sem cluster para gerenciar.

    Funciona muito bem em catálogos de produtos, perfis de usuários, sessões de aplicações, catálogo de produto com leitura intensa, perfil de usuário, sessão de aplicação e dados de IoT com alta taxa de ingestão. Onde não funciona? Relações complexax entre entidades, transações ACID em múltiplas linhas e query analítica.

    [PYTHON]
    import borneo
    from borneo import NoSQLHandle, NoSQLHandleConfig
    from borneo.iam import SignatureProvider
    from borneo.nosql import TableLimits, TableRequest, PutRequest, GetRequest, QueryRequest
    
    Conectar ao OCI NoSQL
    provider = SignatureProvider()
    config = NoSQLHandleConfig("sa-saopaulo-1").setauthorizationprovider(provider)
    handle = NoSQLHandle(config)
    
    Criar tabela
    table_request = TableRequest()
    tablerequest.setstatement("""
    CREATE TABLE IF NOT EXISTS sessoes_usuario (
      usuario_id STRING,
      sessao_id STRING,
      dados   JSON,
      expira_em LONG,
      PRIMARY KEY (SHARD(usuarioid), sessaoid)
    )
    """)
    tablerequest.settable_limits(TableLimits(50, 50, 1)) # reads/s, writes/s, GB
    handle.tablerequest(tablerequest).waitforcompletion(handle, 30000, 1000)
    
    Inserir sessão
    put_request = PutRequest()
    putrequest.settablename("sessoesusuario")
    putrequest.setvalue({
    "usuarioid": "user12345",
    "sessaoid": "sessabc_20260415",
    "dados": {"carrinho": [{"produto_id": 42, "qty": 2}], "origem": "mobile"},
    "expira_em": 1766000000000
    })
    handle.put(put_request)
    
    Buscar sessão por chave primária (latência ~1ms)
    get_request = GetRequest()
    getrequest.settablename("sessoesusuario")
    getrequest.setkey({"usuarioid": "user12345", "sessaoid": "sessabc_20260415"})
    result = handle.get(get_request)
    print(result.get_value())
    
    Query SQL-compatible
    query_request = QueryRequest()
    queryrequest.setstatement(
    "SELECT * FROM sessoesusuario WHERE usuarioid = 'user_12345'"
    )
    results = handle.query(query_request)
    

    ORDS e Oracle APEX: desenvolvimento sobre o banco

    O Oracle REST Data Services (ORDS) expõe tabela e procedure do Oracle Database como API REST automaticamente. Aplicação moderna que não quer driver JDBC na stack consome dado Oracle via HTTP. É bem útil quando você tem time front-end ou mobile que precisa falar com o banco e você quer evitar criar uma camada de API só para isso.

    [SQL]
    -- Habilitar ORDS para um schema
    BEGIN
    ORDS.ENABLE_SCHEMA(
      p_enabled       => TRUE,
      pschema       => 'VENDASAPP',
      purlmappingtype  => 'BASEPATH',
      purlmapping_pattern => 'vendas',
      pautorest_auth   => FALSE
    );
    COMMIT;
    END;
    /
    
    -- Expor uma tabela como endpoint REST automaticamente
    BEGIN
    ORDS.ENABLE_OBJECT(
      p_enabled   => TRUE,
      pschema    => 'VENDASAPP',
      p_object    => 'PEDIDOS',
      pobjecttype => 'TABLE',
      pautorest_auth => FALSE
    );
    COMMIT;
    END;
    /
    -- Agora: GET /ords/vendas/pedidos/ retorna os pedidos
    -- GET /ords/vendas/pedidos/:id retorna um pedido específico
    -- POST /ords/vendas/pedidos/ insere novo pedido
    
    -- Criar endpoint customizado com lógica de negócio
    BEGIN
    ORDS.DEFINE_SERVICE(
      pmodulename   => 'relatorios',
      pbasepath    => '/relatorios/',
      p_pattern     => 'vendas-mensais/',
      p_method     => 'GET',
      psourcetype   => ORDS.sourcetypequery,
      psource     => 'SELECT produtoid,
                     SUM(valor_total) AS total,
                     COUNT(*) AS qtd
                 FROM pedidos
                 WHERE TRUNC(criado_em, ''MM'') = TRUNC(SYSDATE, ''MM'')
                  AND status = ''ENTREGUE''
                 GROUP BY produto_id
                 ORDER BY total DESC'
    );
    COMMIT;
    END;
    /
    

    O Oracle APEX (Application Express) é o framework de desenvolvimento low-code que roda dentro do banco Oracle. Você monta aplicação web inteira (formulário, relatório, dashboard, fluxo de workflow) pelo browser, sem servidor de aplicação separado. O banco é o runtime. Para muito uso interno de empresa, o APEX entrega aplicação funcional em horas, não semanas.

    [SQL]
    -- Criar página de relatório APEX programaticamente via API
    DECLARE
    lappid NUMBER := 100;
    lpageid NUMBER;
    BEGIN
    -- Criar nova página no aplicativo
    APEXAPPLICATIONPAGE.CREATE_PAGE(
      papplicationid => lappid,
      ppagealias   => 'relatorio-pedidos',
      ppagename   => 'Relatório de Pedidos',
      ppageid    => lpageid
    );
    
    -- Adicionar região de relatório interativo
    APEXAPPLICATIONPAGEREGIONS.CREATEREGION(
      papplicationid => lappid,
      ppageid    => lpageid,
      pregionname  => 'Pedidos',
      psource     => 'SELECT id, clienteid, valortotal, status, criadoem 
                 FROM pedidos 
                 ORDER BY criado_em DESC',
      pregiontype  => 'NATIVE_IR' -- Interactive Report
    );
    END;
    

    Data Lakehouse: Object Storage + Autonomous Database + Analytics

    A arquitetura de Lakehouse da Oracle junta armazenamento barato (Object Storage) com poder analítico (Autonomous Database). O dado bruto fica no Object Storage, e o Autonomous Database lê externamente via External Table ou via Data Catalog, sem precisar mover tudo para dentro do banco. Você consulta arquivo CSV ou Parquet com SQL puro, como se fosse tabela do banco.

    [SQL]
    -- Criar tabela externa que lê dados CSV direto do Object Storage
    CREATE TABLE vendashistoricoext (
    data_venda  DATE,
    produto_id  NUMBER,
    quantidade  NUMBER,
    valor     NUMBER,
    regiao    VARCHAR2(50)
    )
    ORGANIZATION EXTERNAL (
    TYPE ORACLE_LOADER
    DEFAULT DIRECTORY DATAPUMPDIR
    ACCESS PARAMETERS (
      RECORDS DELIMITED BY NEWLINE
      SKIP 1
      FIELDS TERMINATED BY ','
      OPTIONALLY ENCLOSED BY '"'
      (
        data_venda  DATE "YYYY-MM-DD",
        produto_id  INTEGER EXTERNAL,
        quantidade  INTEGER EXTERNAL,
        valor     DECIMAL EXTERNAL,
        regiao    CHAR(50)
      )
    )
    LOCATION ('https://objectstorage.sa-saopaulo-1.oraclecloud.com/n/<namespace>/b/datalake/o/vendas/')
    )
    REJECT LIMIT UNLIMITED;
    
    -- Consultar dados do Object Storage diretamente com SQL
    SELECT regiao,
      SUM(quantidade) AS total_itens,
      SUM(valor) AS receita_total
    FROM vendashistoricoext
    WHERE data_venda >= DATE '2025-01-01'
    GROUP BY regiao
    ORDER BY receita_total DESC;
    

    O OCI Data Flow é o Spark serverless do OCI. Você escreve PySpark ou Scala, deixa o código no Object Storage, e submete o job. Sem cluster para subir, sem cluster para descer. Paga pelo tempo de execução.

    [PYTHON]
    Submeter job Spark no OCI Data Flow via CLI
    import subprocess
    import json
    
    job_config = {
    "compartmentId": "<compartment-ocid>",
    "displayName": "processamento-logs-abril",
    "applicationId": "<data-flow-app-ocid>",
    "arguments": ["--data-date", "2026-04-01"],
    "configuration": {
      "spark.executor.memory": "4g",
      "spark.executor.cores": "2"
    }
    }
    
    result = subprocess.run([
    "oci", "data-flow", "run", "submit",
    "--from-json", json.dumps(job_config)
    ], capture_output=True, text=True)
    

    E para fechar o ciclo de BI, o Oracle Analytics Cloud (OAC) é a plataforma de business intelligence gerenciada. Conecta no Autonomous Database, em outras fontes e no Object Storage. Entrega dashboard, relatório, análise aumentada com ML, e integra com os OCI AI Services.

    Maximum Availability Architecture e resiliência

    A Oracle tem um framework chamado MAA (Maximum Availability Architecture) que organiza estratégia de alta disponibilidade em quatro níveis: Bronze, Silver, Gold e Platinum. Cada nível habilita um conjunto de capacidades. Quanto mais alto, menor o RPO (perda potencial de dado) e o RTO (tempo até voltar).

    Data Guard replica o banco para uma instância standby. Pode ser síncrono (zero perda, latência maior) ou assíncrono (perda potencial de segundo, melhor performance). Em caso de falha, o failover promove o standby para primário.

    [SQL]
    -- Verificar status do Data Guard
    SELECT DATABASEROLE, PROTECTIONMODE, PROTECTION_LEVEL,
      SWITCHOVERSTATUS, DATAGUARDBROKER
    FROM V$DATABASE;
    
    -- No Autonomous Database, configurar Autonomous Data Guard via console ou CLI
    oci db autonomous-database update \
     --autonomous-database-id <adb-ocid> \
     --is-data-guard-enabled true \
     --standby-whitelisted-ips '["0.0.0.0/0"]'
    
    -- Verificar lag de replicação
    SELECT APPLYLAG, TRANSPORTLAG
    FROM V$DATAGUARD_STATS
    WHERE NAME IN ('apply lag', 'transport lag');
    

    O RAC (Real Application Clusters) permite que várias instâncias do banco acessem o mesmo storage ao mesmo tempo, provendo alta disponibilidade ativa-ativa. Se um nó morre, as sessões migram para os outros sem o usuário perceber.

    Migrações: Database Migration Service e AutoUpgrade

    O Database Migration Service (DMS) migra banco externo para o OCI: Oracle on-premises indo para Autonomous Database ou DBCS, PostgreSQL indo para DBCS, MySQL indo para MySQL HeatWave. O processo usa Oracle GoldenGate para replicação contínua, o que mantém o downtime baixo na hora do corte final.

    [BASH]
    Criar migration job no DMS via CLI
    oci database-migration migration create \
     --compartment-id <compartment-ocid> \
     --display-name "migracao-oracle-atp" \
     --type "ONLINE" \
     --source-database-connection-id <source-conn-ocid> \
     --target-database-connection-id <target-atp-ocid>
    
    Validar a migration antes de executar
    oci database-migration migration validate \
     --migration-id <migration-ocid>
    
    Iniciar a migration
    oci database-migration migration start \
     --migration-id <migration-ocid>
    
    Monitorar progresso
    oci database-migration work-request get \
     --work-request-id <work-request-ocid>
    

    O AutoUpgrade é a ferramenta para upgrade de versão do Oracle Database (de 19c para 23ai, por exemplo). Ele automatiza análises, execuções e rollback. Pode rodar upgrade em paralelo em vários bancos, o que ajuda quando você tem dezenas de instâncias para atualizar.

    Parte 3 - O curso online e o ritmo de estudos

    O learning path oficial no MyLearn tem cerca de 6 horas de vídeo, divididas nos domínios da prova. Os módulos de Autonomous Database, Converged Database e APEX têm boa profundidade. Migração e resiliência ficam mais por cima, o que reflete o peso menor desses domínios na prova.

    O Material complementar é ótimo. Os canais da Oracle no YouTube (Oracle Learning, Oracle Database Development) têm conteúdo mais atualizado para tópico específico como JSON nativo e Graph, principalmente quando recursos novos saem.

    Para laboratório, o ambiente Always Free do OCI já entrega um Autonomous Database com 1 OCPU e 20 GB, gratuito para sempre. Dá para fazer praticamente todos os labs da certificação ali mesmo - criar tabela, explorar o Database Actions, testar API SODA, configurar ORDS e brincar com query analítica. Sem precisar de cartão de crédito.

    Ritmo sugerido:

    Para quem tem base de banco de dados relacional e SQL, três semanas dão conta. Os conceitos fundamentais você já tem. O tempo extra vai para aprender o que é específico Oracle: Autonomous Database, Converged, APEX, ORDS, HeatWave.

    Para quem está chegando em banco de dados agora, é preciso de quatro a cinco semanas. A primeira semana inteira é fundação relacional antes de entrar nos produtos.

    Prazo importante: a versão 2025 se aposenta em 29 de maio de 2026, mesma data da AI Foundations. Quem quer tirar as três versões 2025, atenção nesse calendário, porque o tempo é apertado.

    Parte 4 - Plano de estudos

    Semana 1 - Fundamentos e Autonomous Database

    Dias 1 e 2: Módulo de Introdução à gestão de dados no MyLearn. Conceito de data management strategy da Oracle, os objetivos da plataforma (simplificar, convergir, automatizar, inovar), modelos de deployment (cloud, on-premises, multicloud). Não é o domínio mais pesado, mas contextualiza tudo que vem depois.

    Dias 3 e 4: Autonomous Database completo. Cubra as quatro variantes (ATP, ADW, AJD, APEX), o que "autonomous" significa na prática operacional, scaling sem downtime, backup automático, e o Database Actions como ferramenta de gerenciamento. Suba um Autonomous Database no Always Free e explore o Database Actions direto no browser.

    Dia 5: Ferramentas que vivem dentro do Autonomous Database: Data Studio para carregamento e transformação, Performance Hub para análise de performance, APEX para low-code. Não é para decorar, é para entender qual ferramenta resolve o que.

    Semana 2 - Compute de Dados e Desenvolvimento

    Dias 1 e 2: Exadata e DBCS. Modelos de deployment do Exadata (Exadata Cloud Service, Autonomous on Exadata, ExaCC), componentes técnicos (Smart Scan, Smart Flash Cache, RDMA), e quando cada opção bate Autonomous Database como melhor escolha.

    Dias 3 e 4: ORDS e Oracle APEX. Como o ORDS expõe Oracle Database como REST API, AutoREST para objeto e handler customizado. APEX como framework low-code dentro do banco. Esse domínio pesa 13% da prova e é menos familiar para quem vem de outras plataformas, então vale dedicar algum tempo.

    Dia 5: Converged Database. JSON nativo com JSONVALUE, JSONEXISTS, JSONTABLE. Oracle Graph com PGQL e SQL/PGQ. Spatial com SDOGEOMETRY. Aqui você deve responder uma pergunta: por que usar um engine multi-modelo em vez de bancos especializados? Você precisa ter essa resposta na ponta da língua.

    Semana 3 - Dados em Escala, Resiliência e Migração

    Dias 1 e 2: MySQL HeatWave e OCI NoSQL. HeatWave: arquitetura, roteamento automático de query, ML integrado. NoSQL: modelo de dado, latência e escalabilidade, quando usar em vez de banco relacional.

    Dias 3 e 4: Data Lakehouse. Object Storage como camada bruta, External Table no Autonomous Database, OCI Data Flow para processamento Spark, Oracle Analytics Cloud para BI. A distinção entre data lake, data warehouse e lakehouse cai na prova mais de uma vez.

    Dia 5: Resiliência e Migrações. Data Guard (síncrono e assíncrono), MAA (Bronze a Platinum), Database Migration Service, AutoUpgrade. Peso menor na prova, mas sempre está lá.

    Semana 4 - Revisão e simulados

    Dias 1 e 2: Revisão focada nos pontos fracos identificados durante o estudo. Autonomous Database (16%), Data Lake/DW/ML (15%) e Desenvolvimento (13%) somam 44%. Priorize esses na revisão.

    Dias 3 e 4: Dois simulados completos de 55 questões em 90 minutos. O MyLearn tem practice exam. Anote em quais domínios você errou mais.

    Dia 5: Revisão final só dos erros dos simulados. Não tente revisar a prova inteira, esse não é o momento.

    Parte 5 - Por que essa certificação importa

    O portfólio de dados da Oracle é deliberadamente amplo. Autonomous Database com várias variantes, Converged Database com suporte nativo a JSON, grafo e espacial, MySQL com HeatWave acoplado, NoSQL gerenciado, APEX para low-code, ORDS para REST, Lakehouse com Data Flow rodando Spark. É bastante coisa.

    A maioria das pessoas que trabalha com Oracle Cloud usa apenas parte desse portfólio. Muitas vezes porque descobriu o que precisava na hora em que precisou, e não mudou muito depois disso. O Autonomous Database resolve a maioria dos problemas de banco, então muita gente não vai além.

    Essa certificação te força a criar um inventário de tudo que existe em dados. Você sai apresender que o Oracle Graph permite consultas de caminho em dado relacional sem stack separada, que o HeatWave elimina a necessidade de data warehouse paralelo para analytics em MySQL, que o ORDS expõe procedure Oracle como REST em minutos ou que o AI Vector Search no 23ai permite RAG sem manter um vector store à parte.

    Para quem está desenhando soluções de dados em sistemas Oracle, esse mapa vale ouro. Para quem está chegando no Oracle Cloud vindo do AWS ou Azure, essa é a certificação que melhor cobre o terreno onde a Oracle difere das outras nuvens. E justamente por isso, as melhores soluções não são óbvias para quem está acostumado com outro vocabulário.

    O prazo da versão atual é 29 de maio de 2026, mesma data da AI Foundations. Quem quer pegar as duas antes do prazo precisa planejar bem o tempo de estudo.

    Share
    Recommended for you
    GFT - Fundamentos de Cloud com AWS
    Bootcamp Bradesco - GenAI, Dados & Cyber
    Bootcamp Afya - Automação de Dados com IA
    Comments (0)