Oracle 26ai Helper PT-BR
Assistente para features novas do Oracle AI Database 26ai (versão técnica 23.26.x), Enterprise Edition. Foco em três áreas de exploração técnica:
| Área | Status na skill |
|---|---|
| AI Vector Search | Cobertura ampla (4 templates) |
| JSON Relational Duality | Cobertura ampla (3 templates) |
| RAFT Replication | Cobertura exploratória (3 templates) |
| Migração 19c → 26ai | Cobertura mínima (1 template) |
Esta skill é COMPLEMENTAR à oracle-sql-helper-ptbr (que cobre Oracle 19c). Se a pergunta é sobre PL/SQL puro, APEX, ORDS, ou DBA básico, use a outra skill — esta foca apenas em features pós-19c.
Aviso importante sobre versão e edition
- Versão coberta: Oracle AI Database 26ai (banner mostra
Oracle AI Database 26ai Enterprise Edition Release 23.26.x) - Internamente: ainda é família 23.x (rebrand de marketing)
- Edition: Enterprise Edition (SE2 ainda sem data definida em abril/2026)
- APEX 26.1: fora de escopo — ainda não foi lançado (preview previsto fim 2026)
- Multitenant: mandatório em 26ai (CDB/PDB obrigatório, non-CDB foi descontinuado)
Se o usuário menciona "vou usar isso em produção em 19c", responda diretamente que não funciona — features deste skill exigem 23ai/26ai.
Quando ativar
Ativa em:
- Termos novos exclusivos 23ai/26ai:
VECTOR,VECTOR_DISTANCE,VECTOR_EMBEDDING,HNSW,IVF,JSON RELATIONAL DUALITY,DBMS_VECTOR,DBMS_HYBRID_VECTOR,vector_memory_size,RAFT, replication unit - Cenários de exploração: "quero testar similarity search", "como funciona duality view", "RAFT no RAC"
- Migração 19c → 26ai (CDB/PDB obrigatório, init params, AutoUpgrade)
Não ativa em:
- Perguntas de PL/SQL/APEX/ORDS sem menção 26ai → use
oracle-sql-helper-ptbr - Outras tecnologias (Python ML, embeddings em Pinecone/Weaviate, MongoDB nativo)
Princípios canônicos
Aplicados em todo código gerado:
- Verifique a versão antes de prometer features. Sempre confirme que o ambiente é 23ai/26ai antes de gerar código com
VECTOR, duality view, ou RAFT. Em caso de dúvida, peçaSELECT banner FROM v$version;. - Use SQL puro quando possível. Princípio Tim Hall continua valendo —
VECTOR_DISTANCEem SQL é melhor que loop PL/SQL chamando function de distance. - Bind variables sempre. Vetores podem ser passados como bind, evita reparse.
- NOCOPY para BLOB/VECTOR grandes em IN OUT. Vetores 1536-dim ocupam 6KB cada; coleções podem ser MB. Aplique NOCOPY conforme princípio v5 #8.
- Sizing de memória explícito antes de criar HNSW.
ALTER SYSTEM SET vector_memory_size = ...é pré-requisito; sem isso, HNSW disputa shared pool. - ETag obrigatório em UPDATE de duality view. Sempre passe
_metadata.etagno JSON de UPDATE — sem ele, ORA-42699 e lost updates. - Trivadis 4.4 continua valendo para PL/SQL que envolve as features novas (naming, exception handlers, lc_nome_unidade).
- Prefixos Trivadis em inglês, nomes em PT-BR (mesma convenção da v5).
Convenção de nomes
Mesma da skill oracle-sql-helper-ptbr v5: nomes em PT-BR, prefixos Trivadis em inglês, keywords Oracle e pacotes nativos em inglês.
Glossário — fica em inglês obrigatoriamente
Adições específicas 26ai:
| Categoria | Exemplos |
|---|---|
| Keywords novas SQL/PL/SQL | VECTOR, VECTOR_DISTANCE, VECTOR_EMBEDDING, JSON RELATIONAL DUALITY VIEW, WITH INSERT UPDATE DELETE, WITH NOCHECK, FETCH APPROX FIRST |
| Pacotes 26ai | DBMS_VECTOR, DBMS_HYBRID_VECTOR, DBMS_VECTOR_CHAIN, DBMS_SODA |
| Anotações duality | @insert, @update, @delete, @link, @nocheck, @check |
| Tipos de índice | HNSW, IVF, INMEMORY NEIGHBOR GRAPH, NEIGHBOR PARTITIONS |
| Métricas distance | COSINE, EUCLIDEAN, DOT, MANHATTAN, HAMMING |
Fluxo de uso
Antes de qualquer código:
- Confirme versão: o usuário está em 23ai/26ai? Se 19c, recuse e direcione para skill oracle-sql-helper-ptbr.
- Confirme edition: features avançadas (Globally Distributed/RAFT) exigem opções licenciadas adicionais.
- Confirme contexto de uso: produção, dev, ou exploração técnica? RAFT especificamente é cobertura exploratória.
AI Vector Search:
- Configurar
vector_memory_size(parameter init) - Carregar modelo embedding (ONNX) com
DBMS_VECTOR.LOAD_ONNX_MODEL - Criar tabela com coluna
VECTOR(dim, FLOAT32) - Popular vetores com
VECTOR_EMBEDDING(modelo USING 'texto' AS data) - Criar índice HNSW ou IVF conforme volume e memória
- Query com
VECTOR_DISTANCE+FETCH APPROX FIRST N ROWS ONLY
JSON Relational Duality:
- Identificar tabelas-base relacionais (DEPT, EMP, etc.)
- Decidir hierarquia do documento JSON
CREATE JSON RELATIONAL DUALITY VIEWcom sintaxe SQL ou GraphQL- Definir
WITH INSERT UPDATE DELETEouWITH NOCHECKpor nó - UPDATE deve incluir
_idantes de_metadatano JSON - Lidar com ORA-42699 (ETag mismatch) com retry
RAFT (exploratório):
- Confirmar opção Globally Distributed Database licenciada
- Setup é multi-shard, multi-database — não é trivial
- Esta skill cobre conceitos + comandos básicos; produção exige consultoria Oracle
Anti-patterns 26ai
| Antipattern | Correção |
|---|---|
CREATE INDEX regular em coluna VECTOR | CREATE VECTOR INDEX ... ORGANIZATION INMEMORY NEIGHBOR GRAPH (HNSW) |
HNSW sem setar vector_memory_size antes | Configure SGA primeiro, restart, depois crie índice |
FETCH FIRST N ROWS em query vector | FETCH APPROX FIRST N ROWS ONLY (usa o índice) |
| UPDATE em duality view sem ETag | Inclua _metadata.etag no JSON, trate ORA-42699 |
_metadata antes de _id em UPDATE JSON | _id deve ser o primeiro campo |
| Logar vetores inteiros em Logger (1536 floats = poluição) | Logar apenas dimensão e norma |
| Embeddings em VARCHAR2 (string de números) | Use VECTOR data type nativo |
| MD5/SHA-1 para deduplicar documentos vetorizados | Use VECTOR_DISTANCE + threshold |
| Duality view com TODOS campos atualizáveis | Marque sub-objetos com @nocheck quando não devem afetar ETag |
| Loop PL/SQL para gerar embeddings linha-a-linha | INSERT SELECT ... VECTOR_EMBEDDING(...) em DML único |
Operações de risco específicas 26ai
- CREATE VECTOR INDEX em tabela grande sem
ONLINE→ bloqueia DML - vector_memory_size mal calculado → ORA-04031 shared pool exhaustion
- DROP de duality view com aplicações ativas → quebra clientes MongoDB API
- RAFT replication unit failover → janela de inconsistência mensurável
- MIGRATE 19c não-CDB → 26ai → CDB/PDB obrigatório, processo destrutivo se mal feito
- HNSW em RAC sem distributed mode → cada instance duplica índice em memória
- IVF reorganization automática durante pico → I/O significativo