Configurar e Estabelecer Conexão com o Oracle Autonomous Database
Obtenha os arquivos de configuração do Oracle Autonomous Database e instale-os na máquina em que o CMAN-TDM está instalado.
Configurar os Arquivos da Wallet do Oracle Autonomous Database Usando o Protocolo TLS Mútuo
- Faça log-in na Console do Oracle Cloud Infrastructure e navegue até a região em que o banco de dados autônomo reside.
- Navegue até a página Autonomous Database e clique na guia Conexão do BD.Os Detalhes do Autonomous Database são exibidos.
- Clique em Fazer Download da Wallet.Você será solicitado a informar uma senha da wallet.
- Forneça uma senha e, em seguida, faça download do arquivo ZIP da wallet para sua máquina local. Transfira o arquivo ZIP baixado para sua máquina Linux usando seu aplicativo ou método de transferência de arquivo SSH preferencial. É importante salvar (ou lembrar) a senha da wallet. Você deverá usar a senha mais adiante nesta solução.Vá para a próxima etapa depois que o arquivo ZIP da wallet estiver na sua máquina Linux.
- Extraia o conteúdo para o diretório
$TNS_ADMIN.Observação:
Esse local pode ser o caminho padrão$ORACLE_HOME/network/adminda instalação da máquina CMAN-TDM.A wallet não contém credenciais de nome de usuário e senha do banco de dados, mas você ainda deve manter a wallet e os arquivos em um local seguro para uso posterior.
Veja a seguir um exemplo dos arquivos extraídos:
-rw-r--r--. 1 oracle oinstall 7085 Sep 3 07:24 cwallet.sso -rw-r--r--. 1 oracle oinstall 7040 Sep 3 07:24 ewallet.p12 -rw-r--r--. 1 oracle oinstall 3243 Aug 24 14:25 keystore.jks -rw-r--r--. 1 oracle oinstall 691 Aug 24 14:25 ojdbc.properties -rw-r--r--. 1 oracle oinstall 3387 Aug 24 14:25 README -rw-r--r--. 1 oracle oinstall 235 Sep 3 08:00 sqlnet.ora -rw-r--r--. 1 oracle oinstall 1832 Sep 3 08:41 tnsnames.ora -rw-r--r--. 1 oracle oinstall 3336 Aug 24 14:25 truststore.jksOs arquivos principais necessários para o caso de uso atual são
cwallet.sso,ewallet.p12,sqlnet.oraetnsnames.ora. Os outros arquivos só serão necessários se o usuário planeja se conectar por meio de um aplicativo JDBC. - Edite o arquivo
sqlnet.orae altere o DIRECTORY do local da wallet para o diretório que contém o arquivocwallet.sso:WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin"))) SSL_SERVER_DN_MATCH=yesAgora que a wallet está definida, você pode se conectar ao seu banco de dados usando uma das strings de conexão "nome do serviço de rede" de
tnsnames.ora(por exemplo,exampledb_high). - Abra o arquivo
tnsnames.orae armazene os detalhes da conexão do seu banco de dados autônomo em outro arquivo, como$HOME/dbdetails.txt:Você usará os parâmetros de endereço, segurança e nome de serviço do banco de dados autônomo ao configurar o CMAN-TDM. - (Opcional) Verifique a conexão de banco de dados usando o SQL*Plus.
-
Se o SQL*Plus estiver na mesma máquina do CMAN-TDM, você poderá exibir o arquivo
tnsnames.orano diretório da wallet$TNS_ADMIN. -
Se o SQL*Plus estiver instalado em uma máquina diferente da CMAN-TDM, copie os arquivos da wallet do Autonomous Database para o diretório
$TNS_ADMINda máquina em que o SQL*Plus está instalado. Em seguida, copie os detalhes do banco de dados da seção anterior para o arquivo$TNS_ADMIN/tnsnames.orana mesma máquina.
O arquivo
$TNS_ADMIN/tnsnames.oracontém vários nomes de serviço de rede (à esquerda dos sinais "="). Você pode usar qualquer um, dependendo do nível de desempenho e simultaneidade de serviço desejado no banco de dados.Execute o SQL*Plus como o usuário
ADMINe informe a senha desse usuário definida durante a criação do banco de dados:$ sqlplus -l admin@adb-name_highQuando você tiver êxito, estará conectado ao seu banco de dados. -
Configurar o CMAN para Estabelecer Conexão com o Oracle Autonomous Database
cman.ora) com todas as especificações no diretório $TNS_ADMIN da máquina CMAN-TDM. O diretório geralmente está localizado em ORACLE_HOME/network/admin.
O arquivo cman.ora é o arquivo de configuração principal que é lido pelo CMAN-TDM. Ele contém todos os detalhes de configuração para permitir que o Traffic Director e o CMAN estabeleçam conexão com o Oracle Autonomous Database.
- Faça log-in como usuário
oracle. - Navegue até o diretório
$TNS_ADMINe crie o arquivocman.ora.$ cd $TNS_ADMIN $ vi cman.ora - Configure o arquivo
cman.ora.Neste exemplo, o nome da instância CMAN-TDM écman-test. O aplicativo cliente se conecta ao processo CMAN por meio do protocolo TCP e o CMAN se conecta ao Oracle Autonomous Database por meio do protocolo TCPS.O parâmetro de endereço contém o nome de host, protocolo do servidor CMAN-TDM. O arquivo
cman.orade exemplo a seguir usa TCP e número de porta 1523. Você pode escolher qualquer número de porta disponível na sua máquina Linux.Configure os seguintes parâmetros:
tdm=true: Importante! Defina o parâmetrotdmcomo verdadeiro para ativar o Modo do Traffic Director.tdm_threading_mode=dedicated: Este exemplo está executando o CMAN-TDM no modo dedicado, que é o modo padrão para o Modo do Traffic Director. Você pode executar o Modo do Traffic Director no modo compartilhado.log_level: Definido para ativar o nível necessário de log para fins de teste e depuração.max_connections: conjunto de acordo com seus requisitos de desempenho.idle_timeout=0registration_invited_nodes= *inbound_connect_timeout=0session_timeout=0outbound_connect_timeout=0max_gateway_processes: Ajuste de acordo com seus requisitos de desempenho.min_gateway_processes: Ajuste de acordo com seus requisitos de desempenho.trace_level: Definido para ativar o nível necessário de rastreamento para fins de teste e depuração.max_cmctl_sessions: Ajuste de acordo com seus requisitos de desempenho.event_group:init_and_term,memory_opsnext_hop: O parâmetro aponta para os detalhes de endereço do Oracle Autonomous Database junto com os detalhes de SSL. Esses detalhes são obtidos do arquivodbdetails.txt, que você criou na seção anterior.WALLET_LOCATION: O parâmetro aponta para a localização da wallet do usuário do aplicativo Traffic Director Mode, que você criará posteriormente nesta seção.SQLNET.WALLET_OVERRIDE= VERDADEIRO
Veja a seguir um arquivo de exemplocman.ora:exampledb_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))) cman-test = (configuration= (address=(protocol=tcp)(host=oracle-cloud-linuxvm)(port=1523)) (parameter_list = (tdm=true) (tdm_threading_mode=dedicated) (log_level=off) (max_connections=50) (idle_timeout=0) (registration_invited_nodes = *) (inbound_connect_timeout=0) (session_timeout=0) (outbound_connect_timeout=0) (max_gateway_processes=8) (min_gateway_processes=3) (trace_level=support) (max_cmctl_sessions=4) (event_group=init_and_term,memory_ops) ) (next_hop=(description=(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(security=(ssl_server_dn_match=on)(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))) (rule_list= (rule= (src=*)(dst=*)(srv=*)(act=accept) (action_list=(aut=off)(moct=0)(mct=0)(mit=0)(conn_stats=on)) ) ) ) WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin"))) SQLNET.WALLET_OVERRIDE = TRUE - Crie um usuário proxy do banco de dados (
tdm) para obter todas as permissões necessárias para ativar o Modo do Traffic Director (TDM).- Faça log-in no Oracle Autonomous Database por meio do SQL*Plus como usuário do
admin.$ sqlplus admin@exampledb_high SQL*Plus: Release 21.0.0.0.0 - Production on Tue May 6 15:34:43 2025 Version 21.3.0.0.0 Copyright (c) 1982, 2025, Oracle. All rights reserved. Enter password: Last Successful login time: Tue May 06 2025 15:33:09 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.1.0 - Crie um usuário proxy do banco de dados. Este exemplo usa
tdmcomo o usuário proxy do banco de dados.SQL> create user tdm identified by {password} -- replace {password} with your actual password User created. SQL> grant create session to tdm; Grant succeeded. - Saia do SQL*Plus.
- Faça log-in no Oracle Autonomous Database por meio do SQL*Plus como usuário do
- Crie a wallet do usuário proxy do banco de dados.
Adicione as Credenciais do Usuário do TDM à wallet existente do Autonomous Database.
- Navegue até o diretório
$TNS_ADMINno qual a wallet do Autonomous Database está localizada.O diretório geralmente é$ORACLE_HOME/network/admin.$ cd $TNS_ADMIN - Adicione os detalhes do usuário
tdmà wallet do Autonomous Database usando o utilitáriomkstorepresente no diretório$ORACLE_HOME/bin.Observação:
- Para o parâmetro service_name, informe o nome do serviço que está no arquivo
dbdetails.txtque você criou anteriormente. - Para os parâmetros username e password, informe suas credenciais de usuário
tdm. Repita esta etapa se quiser que outros serviços (comoexampledb_low) estejam disponíveis por meio detdm.
Use a seguinte sintaxe:
$ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Por exemplo:$ $ORACLE_HOME/bin/mkstore -wrl . -createCredential g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm {password} - Para o parâmetro service_name, informe o nome do serviço que está no arquivo
- Verifique se a wallet foi criada corretamente usando o utilitário
orapki.$ $ORACLE_HOME/bin/orapki wallet display -wallet . Oracle PKI Tool Release 21.0.0.0.0 - Production Version 21.3.0.0.0 Copyright (c) 2004, 2021, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=AAE9D2E1AE8646298FED591FC4A097EA,DNQ=V1 Oracle Secret Store entries: oracle.security.client.connect_string1 oracle.security.client.password1 oracle.security.client.username1 Trusted Certificates: Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: C=US,ST=California,L=Redwood Shores,O=Oracle Corporation Autonomous Data Warehouse Cloud Self-signed CA,CN=Autonomous Data Warehouse Cloud CA Subject: CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=USA saída deve conter entradas do Oracle Secret Store, que indicam que as credenciais do usuário
tdmsão armazenadas e são Certificados Confiáveis e Certificados do Usuário (certificados SSL do Autonomous Database). - Verifique se as credenciais do usuário
tdmestão na wallet usando o utilitáriomkstore. Quando for solicitada a senha da wallet, informe a senha da wallet do Autonomous Database que você criou quando fez download do arquivo zip da wallet na Console do Oracle Cloud Infrastructure.$ $ORACLE_HOME/bin/mkstore -wrl . -listCredential Oracle Secret Store Tool Release 21.0.0.0.0 - Production Version 21.3.0.0.0 Copyright (c) 2004, 2021, Oracle and/or its affiliates. All rights reserved. Enter wallet password: List credential (index: connect_string username) 1: g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm
- Navegue até o diretório
- Conecte-se usando um usuário do aplicativo CMAN-TDM no Oracle Autonomous Database.Você precisará criar um usuário de banco de dados 'normal' para acesso geral ao aplicativo em vez do usuário
ADMINprivilegiado para estabelecer conexão com o Oracle Autonomous Database por meio do CMAN-TDM usando as permissões do usuário proxy do banco de dados (tdm).Observação:
Se você já tiver um ou mais usuários de aplicativo existentes no Autonomous Database, ignore esta etapa.- Crie um usuário do banco de dados.
Você pode copiar e personalizar o script
createuser.sqla seguir para criar o usuário.define USERNAME = &1 -- Uncomment if you want to clean up a previous user -- begin execute immediate 'drop user &USERNAME cascade'; exception when others then if sqlcode <> -1918 then raise; end if; end; -- / create user &USERNAME; alter user &USERNAME default tablespace data temporary tablespace temp account unlock quota unlimited on data; grant connect, resource to &USERNAME; grant create session, create table, create procedure, create sequence, create trigger, create view, create synonym, alter session, create type, soda_app to &USERNAME; password &USERNAME - Inicie o SQL*Plus como o usuário
ADMIN:$ sqlplus -l admin@exampledb_high - Execute o script
createuser.sql.Informe o nome do usuário como argumento de script. Este exemplo usa
example.O script solicitará que você defina a senha para este novo usuário. A senha deve atender às Diretrizes de Senha do Usuário do Oracle Autonomous Database. Você não poderá criar um usuário se não atender às diretrizes.
SQL> @createuser.sql exampleO novo usuário é criado assim que você informa a nova senha.
- Crie um usuário do banco de dados.
- Adicione os privilégios
tdmdo usuário proxy do banco de dados a todos os usuários do aplicativo que exigem acesso ao Autonomous Database por meio do CMAN-TDM e encerre o SQL*Plus.SQL> alter user example grant connect through tdm; User altered. SQL> exit - Verifique se a conexão foi bem-sucedida para o novo usuário (será solicitado que você digite a senha):
$ sqlplus -l example@exampledb_high [ . . .] SQL> show user USER is "example" SQL> quit
Você usará esse usuário para estabelecer conexão com o Oracle Autonomous Database por meio do CMAN-TDM.
Estabelecer Conexão com o Oracle Autonomous Database por Meio do CMAN
$TNS_ADMIN/tnsnames.ora na máquina que está executando o aplicativo cliente para adicionar a conexão.- Abra a porta CMAN-TDM (1523 nesse caso) primeiro como o usuário
rootna sua VM Linux do CMAN-TDM se a VM estiver protegida por um firewall.$ sudo su root $ firewall-cmd --permanent --add-port=1523/tcp $ firewall-cmd --reload - Você pode exibir o arquivo
$TNS_ADMIN/tnsnames.orada máquina em que o aplicativo cliente está localizado para confirmar os parâmetros de endereço. Você pode adicionar o alias do Connect CMAN-TDM no arquivo.Neste exemplo, o aplicativo cliente SQL*Plus está na mesma máquina que o CMAN-TDM.
O parâmetro de endereço inclui o endereço CMAN-TDM. O parâmetro
connect_datadeve conter o parâmetroservice_namedo Autonomous Database.exampledb_high_cman_tdm = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcp)(port=1523)(host=oracle-cloud-linuxvm))(connect_data=(service_name=g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com))) - Execute o utilitário
cmctlpara iniciar CMAN-TDM.$ $ORACLE_HOME/bin/cmctl startup -c cman-testO utilitário estabelecerá conexão com a instância do CMAN e iniciará essa conexão. O status da instância e os detalhes são exibidos. - Execute o SQL*Plus usando o Alias do Connect CMAN-TDM e o usuário do aplicativo
examplecriados anteriormente para estabelecer conexão com o Autonomous Database.$ sqlplus example@exampledb_high_cman_tdmA consulta SQL exibirá o usuário proxy do banco de dados
TDMusado pelo CMAN-TDM para estabelecer conexão com o Oracle Autonomous Database. Essa consulta retornará um valor em branco quando estabelecermos conexão diretamente com o Oracle Database.
Agora você está conectado por meio do CMAN-TDM a um Oracle Autonomous Database.