Oracle
Coleta ORACLE e Entrega ORACLE_EXEC. O connect string é montado pelo CMS a partir dos campos
da conexão: o servidor onde o CMS roda não precisa de um tnsnames.ora instalado, e quem já tem
esse arquivo cola o descriptor direto na conexão — ver Descriptor TNS. Os campos
de comando aceitam só DML; para rodar PL/SQL gerado pelo Transformador há um template fixo — ver
procedures e SQL dinâmico.
Conexão
| Campo | Para que serve |
|---|---|
| Identificação | Decide como o endereço é informado, e com isso quais campos aparecem. SERVICE_NAME monta um connect string Easy Connect (host:porta/serviço); SID monta o descritor clássico (DESCRIPTION=(ADDRESS=...)(CONNECT_DATA=(SID=...))); Descriptor (TNS) usa o texto que você colar |
| Host / Porta | Listener Oracle. Padrão 1521. Não aparecem na identificação Descriptor (TNS) |
| Service Name / SID | Nome do serviço ou do SID, conforme a Identificação escolhida. Não aparece na identificação Descriptor (TNS) |
| Descriptor TNS | Só na identificação Descriptor (TNS): o descriptor do alias, copiado do tnsnames.ora — ver Descriptor TNS |
| Usuário / Senha | Usuário do banco |
| TLS | Troca o protocolo para TCPS (tcps://host:porta/serviço). Na identificação Descriptor (TNS) não muda o endereço — quem define o protocolo ali é o PROTOCOL= de dentro do descriptor — e serve só para liberar os campos de Wallet |
| Caminho do Wallet / Senha do Wallet | Só com TLS ligado e quando o servidor exige mTLS (ex.: Oracle Autonomous Database). Aponte para o diretório do wallet (PEM ou cwallet.sso). TLS contra CA pública não precisa de wallet |
| Query de Teste (Keep Alive) | Mesma função da versão SQL Server. Em branco = SELECT 1 FROM DUAL |
O connect string é montado pelo CMS a partir desses campos — o servidor onde o CMS roda não
precisa ter um tnsnames.ora instalado, nem a variável TNS_ADMIN configurada.
Descriptor TNS
Easy Connect dá conta do caso comum, mas não expressa o que muitos ambientes de produção têm
escrito no tnsnames.ora: vários ADDRESS (RAC), LOAD_BALANCE/FAILOVER, RETRY_COUNT e o
bloco SECURITY do Autonomous Database. Para esses, escolha a identificação Descriptor (TNS) e
cole no campo o descriptor do alias:
(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.empresa.com)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=rac2.empresa.com)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=PROD))
)Pode colar o trecho inteiro do arquivo, com o nome do alias na frente (PROD_HIGH = (DESCRIPTION=...):
o CMS descarta o nome sozinho. Quebra de linha e indentação também não atrapalham.
O que não funciona é informar só o nome do alias (PROD_HIGH). O CMS não lê tnsnames.ora
nenhum, então não há onde procurar o que esse nome significa — copie o descriptor para o qual
ele aponta. Um texto que não começa com ( é recusado na hora de salvar, com essa explicação.
Na coluna Endereço da lista de conexões aparece o primeiro host:porta de dentro do
descriptor; havendo mais de um ADDRESS, um (+N) sinaliza os demais.
Autonomous Database
O wallet baixado da Oracle traz um tnsnames.ora com os aliases _high, _medium e _low. Cole
o descriptor daquele que você vai usar, ligue o TLS e aponte o Caminho do Wallet para a
pasta do wallet descompactado no servidor do CMS.
Vocabulário bloqueado neste dialeto
Além do DDL/DCL barrado em todos os dialetos, este bloqueia:
UTL_HTTP, UTL_TCP, UTL_SMTP, UTL_FILE, DBMS_SCHEDULER, DBMS_JOB, DBMS_SQL, EXECUTE IMMEDIATE
A checagem completa — verbo inicial, statements encadeados e neutralização de comentários e literais — está em o que o CMS bloqueia nos campos SQL.
O comportamento comum aos quatro bancos — modos de resultado, marcação do que já foi lido e placeholders — está em Bancos de dados.