DEV Community

Cover image for Acessando uma instância na Oracle Autonomous Database utilizando o PLSQL Developer
Valter Zanchetti Filho
Valter Zanchetti Filho

Posted on

Acessando uma instância na Oracle Autonomous Database utilizando o PLSQL Developer

Geralmente quem utiliza o PLSQL Developer já está na estrada Oracle há bastante tempo. Estamos acostumados a configurar os TNSNAMES para acessar nossas bases de dados On Premise até com uma das mãos atadas, porém, quando nos deparamos pela primeira vez com a Autonomous Database, vemos que o caminho para conectar é um pouco diferente. Este tópico vai abordar a forma mais prática de fazer login na sua Autonomous Database com o PLSQL Developer. Para isso, você deve acessar a instância na OCI.

No console da OCI, no menu Autonomous Database, você deve clicar na database que você tem interesse em se conectar.

Clicar em database connections

Você deve baixar a sua wallet da instância em download wallet. Irá trazer sua wallet em .zip

A partir daqui temos três opções:

Opção A - Você extrai o ZIP numa pasta separada e manda o PLSQL Developer ler nessa pasta.

A mais prática de todas. Você cria uma pasta com o nome que você quiser [exemplo: my_plsql_wallet]. Dentro dela, cria outra pasta chamada network. Dentro de network cria uma pasta chamada admin.

No exemplo, ficaria assim: C:\my_plsql_wallet\network\admin. Coloque o conteúdo extraido da wallet na pasta admin. Dentro da pasta admin deve ver os arquivos abaixo.

Aponte o caminho aponte o caminho da pasta mãe no PLSQL Developer. [Exemplo: C:\my_plsql_wallet]

Opção B - Você extrai e adiciona as entradas no TNSNAMES e SQLNET.ORA [Caso queira manter as conexões que você já possui e tenha apenas uma conexão ativa na Autonomous Database]

Neste caso, você vai procurar na sua máquina o seu arquivo TNSNAMES (supondo que você já tenha um Oracle Client instalado) e adicionar as entradas que estão dentro do TNS_NAMES da wallet.

No arquivo SQLNET.ORA, você vai adicionar a seguinte entrada:

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin"))) SSL_SERVER_DN_MATCH=yes

Opção C - Você extrai, adiciona as entradas e modifica o TNSNAMES indicando o caminho da wallet. [A mais trabalhosa e útil se você quer trabalhar com mais de uma instância na Autonomous Database]

Lembre de fazer um backup antes de qualquer coisa. Primeiro você irá limpar do SQLNET.ORA tudo o que tiver relação com wallet. Você vai extrair a wallet numa pasta com o nome que você quiser [exemplo: my_plsql_wallet].

Você vai adicionar a entrada no seu TNSNAMES, e modificar a parte que se refere a wallet, modificando a parte de apontamento de wallet em security como no exemplo abaixo:

dbtest_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.sa-saopaulo-1.oraclecloud.com))(connect_data=(service_name=exampleservice_high.adb.oraclecloud.com))(SECURITY =(MY_WALLET_DIRECTORY = C:\my_plsql_wallet)(SSL_VERSION = 1.2)(SSL_CLIENT_AUTHENTICATION = FALSE))))

IMPORTANTE: A partir do Oracle 23ai, o MY_WALLET_DIRECTORY foi substituído por WALLET_LOCATION.

Referências:

https://blog.bar-solutions.com/?p=954

https://forums.oracle.com/ords/apexds/post/one-client-needing-multiple-wallets-and-or-multiple-sqlnet-6227

https://docs.oracle.com/en/database/oracle/oracle-database/23/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-E48103F6-8B8B-457C-9374-695C7CCAD816

Top comments (0)