# Oracle

## Métodos

É ofertado 4 possibilidades para se conectar a Banco de Dados Oracle:

{% stepper %}
{% step %}
**WEB CLI**

Linha de comando direto pela console do PAM no navegador
{% endstep %}

{% step %}
**WEB GUI**

Interface gráfica nativa do PAM, sendo carregada direto pela console do PAM para executar queries
{% endstep %}

{% step %}
**CONEXAO GUIADA**

É disponibilizado tokens de conexao, efemeros ou usuário e senha temporários (#JIT = Just-In-Time Access, #PED = Privileged Access on Demand).

Gera informações de conexão para qualquer cliente DB
{% endstep %}

{% step %}
**APLICATIVO VIRTUAL**

Pode ser publicado no PAM aplicativos Oracle para acesso GUI pelo PAM.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Proteja a conexão com SSL/TLS**

Ao utilizar os métodos de conexão descritos acima, recomendamos proteger a conexão no destino.

DataDike é compatível com TLS 1.2.
{% endhint %}

***

### Cadastre o Banco de Dados Oracle

## Passo 1: Cadastro

1. Navegue até **Console → Asset List** (menu lateral esquerdo).
2. Na árvore de ativos, selecione ou crie um nó (ex: *Bancos de Dados → Produção*).

Criar o ativo

1. Clique em **"+ Create"** (botão superior direito).
2. Na janela de seleção de plataforma, escolha:
   * Tipo: **Database**
   * Plataforma: **Oracle**
3. Preencha os campos obrigatórios:

| Campo        | Valor                             | Observação                         |
| ------------ | --------------------------------- | ---------------------------------- |
| **Name**     | Ex: `Oracle-Producao-ERP`         | Nome identificador único           |
| **Address**  | IP ou hostname do servidor Oracle | Ex: `10.0.1.50`                    |
| **Port**     | `1521`                            | Porta padrão do Oracle Listener    |
| **Database** | Service Name da instância         | Ex: `ORCL` ou `pdb1.empresa.local` |
| **Nodes**    | Selecionar o nó na árvore         | Pode ser selecionado antes         |

## Passo 2: Credenciais

1. Na aba **"Accounts"** do ativo recém-criado, clique em **"+ Create"**.
2. Preencha:
   * **Name:** Ex: `svc-readonly`
   * **Username:** O usuário Oracle (ex: `pam_svc`)
   * **Password:** A senha do usuário Oracle
3. Salve a conta.

## Passo 3: Autorização de acesso

1. Navegue até **Console → Permissions → Asset Permissions**.
2. Clique em **"+ Create"**.
3. Configure:
   * **Users/User Groups:** Selecione os usuários que devem ter acesso.
   * **Assets:** Selecione o ativo Oracle criado.
   * **Accounts:** Selecione a conta cadastrada (ou *@ALL* para todas).
   * **Expire Date:** Defina prazo se necessário.
4. Salve a autorização.

#### Testar Conectividade

1. No ativo Oracle, clique no ícone **"Test"** (ou acesse o asset e selecione a conta → Test).
2. O sistema tentará conectar ao Oracle. Resultado esperado: **Sucesso**.

   #### Métodos de Conexão com Oracle

   **A. Web GUI (Editor SQL no navegador)**

   1. Acesse **Workbench** (menu lateral).
   2. Localize o ativo Oracle na lista de ativos autorizados.
   3. Clique para abrir. Selecione a conta desejada.
   4. O editor SQL será aberto no navegador com funcionalidades:
      * Executar queries SQL
      * Salvar queries favoritas
      * Exportar resultados para CSV
      * Histórico de comandos

   **B. DB Client (DBeaver via Proxy)**

   1. Acesse **Workbench → Database**.
   2. Selecione o ativo Oracle → Método: **DB Client**.
   3. O sistema abrirá o DBeaver conectado automaticamente.
   4. Alternativa: Copie as informações de conexão e configure manualmente:
      * Host: `<IP_HOST>`
      * Port: porta alocada
      * SID/Service: conforme configurado

   **C. DB Connection Guide**

   1. No ativo Oracle, selecione método **"DB Guide"**.
   2. O sistema exibirá todas as informações necessárias para conexão manual:
      * Host e Porta
      * Username e Password (temporários/proxy)
      * Database / Service Name
      * Linha de comando para `sqlplus`
   3. Use estas informações para conectar com qualquer ferramenta (SQL Developer, Toad, DataGrip, etc.).

   **D. RemoteApp (Navicat / DBeaver publicado)**

   1. Pré-requisito: RemoteApp configurado com Navicat ou DBeaver publicado no PAM.
   2. Selecione método **"RemoteApp"** ao conectar.
   3. O Navicat/DBeaver será aberto em sessão remota com conexão pré-configurada ao Oracl

      #### Troubleshooting Oracle

      | Problema                          | Causa Provável                                    | Solução                                                           |
      | --------------------------------- | ------------------------------------------------- | ----------------------------------------------------------------- |
      | Erro "OCI library not found"      | OCI não instalado ou path incorreto               | Instalar Oracle Instant Client 21+ e configurar `LD_LIBRARY_PATH` |
      | Erro "TNS: no listener"           | Listener Oracle desligado ou bloqueio de firewall | Verificar `lsnrctl status` no Oracle e abrir porta 1521           |
      | Caracteres corrompidos na Web GUI | Character set não-UTF8 sem `NLS_LANG`             | Configurar `NLS_LANG` no servidor                                 |
      | Oracle SQL Developer não conecta  | Versão 23.1 incompatível com OCI                  | Usar SQL Developer 22.x                                           |
      | Erro "ORA-12514: TNS no service"  | Service Name incorreto no ativo                   | Verificar Service Name (não confundir com SID)                    |
      | Timeout na conexão                | Firewall entre PAM e Oracle                       | Liberar porta 1521 (ou customizada) do PAM para o Oracle          |
      | Windows client OCI antigo         | OCI local < v19                                   | Baixar Oracle Instant Client 19c+ manualmente                     |

      > **💡 Dica:** O fluxo básico para qualquer banco de dados é: **Criar Ativo** (Database) → **Adicionar Conta** (credencial) → **Criar Autorização** (vincular usuário ao ativo) → **Conectar via Workbench**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.datadike.com/integracoes/databases/oracle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
