Conexões com o Oracle Database

Para criar uma conexão com o ADB com IP público usando mTLS

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database -c <target_compartment_ocid> --user-name <database_user> --user-password-secret-id <vault_secret_ocid> --key-stores <keystore_json_array> --connection-string <connection_string> --display-name <connection_name>
Observação

Este exemplo pressupõe que já existem segredos obrigatórios em um vault.

Por exemplo, especificando todos os detalhes obrigatórios como argumentos:

oci dbtools connection create-oracle-database -c ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --user-name "example-user" --user-password-secret-id ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya --key-stores '[{ "keyStoreContent":{ "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya","valueType": "SECRETID" }, "keyStoreType": "SSO" }]' --connection-string '(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(connect_data=(service_name=example_databaseservice_low.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")))' --display-name example-connection

Para criar uma conexão com o ADB com IP público usando mTLS no arquivo JSON

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools, conforme especificado no arquivo JSON:

oci dbtools connection create-oracle-database --from-json "file://<path-to-json>"
Observação

Este exemplo pressupõe que já existem segredos obrigatórios em um vault.

Por exemplo, especificando todos os detalhes obrigatórios em um arquivo JSON:

{
  "compartmentId": "ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz",
  "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))
(connect_data=(service_name=example_databaseservice_low.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\")))",
  "displayName": "example-connection-from-json",
  "keyStores": [
    {
      "keyStoreContent": {
        "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya",
        "valueType": "SECRETID"
      },
      "keyStoreType": "SSO"
    }
  ],
  "userName": "example-user",
  "userPasswordSecretId": "ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya"
}
Observação

Neste exemplo, há um arquivo JSON no diretório de trabalho atual chamado example.json, conforme mostrado acima.
oci dbtools connection create-oracle-database --from-json "file://example.json"

Para criar uma conexão com um sistema de BD do Oracle VM usando um ponto final privado

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database -c <target_compartment_ocid> --user-name <database_user> --user-password-secret-id <vault_secret_ocid> --connection-string <connection_string> -private-endpoint-id <private_endpoint_ocid> --display-name <connection_name>
Observação

Este exemplo pressupõe que já existem segredos obrigatórios em um vault.

Por exemplo:

oci dbtools connection create-oracle-database -c ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --user-name "example-user" --user-password-secret-id ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya --connection-string "examplevmdb.privatesubnet.example.oraclevcn.com:1521/example_pdb.privatesubnet.example.oraclevcn.com" --private-endpoint-id ocid1.databasetoolsprivateendpoint.oc1.phx.exampleendpoint25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabcdefg --display-name example-connection

Para criar uma conexão de proxy com o Oracle Database com o nome do usuário

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database -c <target_compartment_ocid> 
--user-name <database_user[proxy_client]> --user-password-secret-id <vault_secret_ocid> 
--key-stores <keystore_json_array> --connection-string <connection_string> 
--private-endpoint-id <private_endpoint_ocid> --display-name <connection_name>
Observação

Este exemplo pressupõe que já existe um ponto final privado e o segredo necessário em um vault. Este exemplo pode ser usado sem autenticação de proxy.

Por exemplo:

oci dbtools connection create-oracle-database -c ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --user-name "example-user[proxy-client]" --user-password-secret-id ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya --connection-string "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(connect_data=(service_name=example_databaseservice_low.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")))" --key-stores '[{ "keyStoreContent":{ "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya", "valueType": "SECRETID" }, "keyStoreType": "SSO" }]' --private-endpoint-id ocid1.databasetoolsprivateendpoint.oc1.phx.exampleendpoint25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabcdefg --display-name example-connection

Para criar uma conexão de proxy com o Oracle Database com propriedades avançadas

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database -c <target_compartment_ocid> 
--user-name <database_user> --user-password-secret-id <vault_secret_ocid> --key-stores <keystore_json_array>
--connection-string <connection_string> --private-endpoint-id <private_endpoint_ocid>
--display-name <connection_name> --advanced-properties <advanced_properties_json>
Observação

Este exemplo pressupõe que já existe um ponto final privado e o segredo necessário em um vault. Este exemplo pode ser usado sem autenticação de proxy.

Por exemplo:

oci dbtools connection create-oracle-database -c ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --user-name "example-user" --user-password-secret-id ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya --connection-string "(description= retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(connect_data=(service_name=example_databaseservice_low.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")))" --key-stores '[{ "keyStoreContent":{ "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya", "valueType": "SECRETID" }, "keyStoreType": "SSO" }]' --private-endpoint-id ocid1.databasetoolsprivateendpoint.oc1.phx.exampleendpoint25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabcdefg --display-name example-connection --advanced-properties '{ "oracle.jdbc.proxyClientName": "proxy-client" }'

Para criar uma conexão de proxy com o Oracle Database com o parâmetro cliente-proxy

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database -c <target_compartment_ocid> --user-name
<database_user> --user-password-secret-id <vault_secret_ocid> --key-stores <keystore_json_array>
--connection-string <connection_string> --private-endpoint-id <private_endpoint_ocid>
--display-name <connection_name> --proxy-client <proxy_client_json>
Observação

Este exemplo pressupõe que já existe um ponto final privado e o segredo necessário em um vault. Este exemplo pode ser usado sem autenticação de proxy.

Por exemplo:

oci dbtools connection create-oracle-database -c ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --user-name "example-user" --user-password-secret-id ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya --connection-string "(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=adb.us-phoenix-1.oraclecloud.com)) (connect_data=(service_name=example_databaseservice_low.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")))" --key-stores '[{ "keyStoreContent":{ "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya", "valueType": "SECRETID" }, "keyStoreType": "SSO" }]' --private-endpoint-id ocid1.databasetoolsprivateendpoint.oc1.phx.exampleendpoint25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabcdefg --display-name example-connection --proxy-client '{ "proxy-authentication-type": "USER_NAME", "user-name": "proxy-client", "roles": [ "connect" ]}'

Para criar uma conexão de proxy com o Oracle Database com o parâmetro de cliente de proxy no arquivo JSON

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools, conforme especificado no arquivo JSON:

oci dbtools connection create-oracle-database --from-json "file://<path-to-json>"
Observação

Este exemplo pressupõe que já existe um ponto final privado e o segredo necessário em um vault. Este exemplo pode ser usado sem autenticação de proxy.

Por exemplo, especificando todos os detalhes obrigatórios em um arquivo JSON:

{
  "compartmentId": "ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz",
  "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(connect_data=(service_name=example_databaseservice_low.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\")))",
  "displayName": "example-connection-from-json",
  "keyStores": [
    {
      "keyStoreContent": {
        "secretId": "ocid1.vaultsecret.oc1.phx.example1ssowalletxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya",
        "valueType": "SECRETID"
      },
      "keyStoreType": "SSO"
    }
  ],
  "userName": "example-user",
  "userPasswordSecretId": "ocid1.vaultsecret.oc1.phx.example1secrettxiu7mwuabcdefxl67fj5niy4akfzsabcdefzf3423ya",
  "proxyClient": {
     "proxyAuthenticationType": "USER_NAME",
     "userName": "proxyClient",
     "userPassword": {
        "valueType": "SECRETID",
        "secretId": "ocid1.vaultsecret.oc1.phx.amaaaaaacsc5xjaanv6tjndg4dujfcarguywkftbvgsolw5w6fb22rhpb6ta"
     },
     "roles": [ "connect" ]
  }
}

Conexões Autenticadas do Serviço IAM

Para criar uma conexão com o Oracle Database usando a autenticação baseada em token do IAM

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> 
--display-name <connection_name> --connection-string <connection_string> --authentication-type TOKEN

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..exampleexamplegs3lajseq 
--display-name example-iam-connection 
--connection-string "(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))" 
--authentication-type TOKEN

Para criar uma conexão de proxy com o Oracle Database usando a autenticação baseada em token do IAM

Use essa opção quando o serviço IAM autenticar o usuário proxy e a sessão do banco de dados for estabelecida como um usuário cliente proxy.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> --display-name <connection_name> 
--connection-string <connection_string> --user-name '[proxy_client1]' --authentication-type TOKEN

Por exemplo:

 oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..example7augka7wugqsmsdcyw5olcazkp4no3h47lia 
--display-name proxy-abc --connection-string "(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=<service-name))(security=(ssl_server_dn_match=yes)))'"
--user-name '[proxy_client1]' --authentication-type TOKEN --endpoint "https://dbtools.<region>.oci.oraclecloud.com" 

Para criar uma conexão de proxy com o nome de usuário usando autenticação de senha

Use esta opção para autenticar com uma senha de banco de dados e estabelecer conexão por meio de um usuário cliente proxy.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> 
--display-name <connection_name> --connection-string <connection_string> --user-name 'proxy_user[proxy_client1]' 
--authentication-type PASSWORD --user-password-secret-id <password-secret-ocid>

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..exampleaugka7wugqsmsdcyw5olcazkp4no3h47lia
--display-name proxy-abc --connection-string "(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))" 
--user-name 'proxy_user[proxy_client1]' --authentication-type PASSWORD 
--user-password-secret-id ocid1.vaultsecret.oc1.exampleaaiaqsoeecjlur7kyptlhu7yggiffb5oqdvfayf6rozrpxma

Para criar uma conexão de proxy com propriedades avançadas usando autenticação de senha

Utilize esta opção quando desejar especificar o usuário cliente proxy usando propriedades de conexão.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> --display-name <connection_name>
--connection-string <connection_string> --user-name proxy_user --authentication-type PASSWORD
--user-password-secret-id <vault_secret_ocid> --advanced-properties '{ "oracle.jdbc.proxyClientName": "proxy_client1" }' --endpoint <region-url>

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..exampleaugka7wugqsmsdcyw5olcazkp4no3h47lia
--display-name proxy-abc --connection-string  "(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))"
--user-name proxy_user --authentication-type PASSWORD --user-password-secret-id ocid1.vaultsecret.oc1.examplekyptlhu7yggiffb5oqdvfayf6rozrpxma
--advanced-properties '{"oracle.jdbc.proxyClientName":"proxy_client1"}' --endpoint "https://dbtools.<region>.oci.oraclecloud.com/20201005" 

Para criar uma conexão de proxy com propriedades avançadas usando autenticação baseada em token

Utilize esta opção quando desejar especificar o usuário cliente proxy usando propriedades de conexão.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> --display-name <connection_name>
--connection-string <connection_string> --user-name proxy_user --authentication-type TOKEN
--advanced-properties '{ "oracle.jdbc.proxyClientName": "proxy_client1" }' --endpoint <region-url>

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..exampleaugka7wugqsmsdcyw5olcazkp4no3h47lia
--display-name proxy-abc --connection-string  "(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))"
--user-name proxy_user --authentication-type TOKEN --advanced-properties '{"oracle.jdbc.proxyClientName":"proxy_client1"}' 
--endpoint "https://dbtools.<region>.oci.oraclecloud.com" 

Para criar uma conexão de proxy com o parâmetro proxy-cliente usando a autenticação de senha

Use esta opção para fornecer detalhes do cliente proxy explicitamente.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> --display-name <connection_name>
--connection-string <connection_string> --user-name proxy_user --authentication-type PASSWORD
--user-password-secret-id <vault_secret_ocid> --proxy-client <proxy_client_json> --endpoint <region-url>

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..examplewugqsmsdcyw5olcazkp4no3h47lia
--display-name proxy-abc--connection-string '(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))'
--user-name 'proxy_user' --authentication-type PASSWORD 
--user-password-secret-id ocid1.vaultsecret.oc1.exampleyptlhu7yggiffb5oqdvfayf6rozrpx
--proxy-client '{"proxyAuthenticationType":"USER_NAME","userName":"proxy_client1"}'
--endpoint 'https://dbtools.<region>.oci.oraclecloud.com'

Para criar uma conexão de proxy com o cliente proxy detectado automaticamente usando autenticação baseada em token

Use esta opção para determinar dinamicamente o cliente proxy no runtime.

Abra um prompt de comando e execute oci dbtools connection create-oracle-database para criar uma nova conexão do serviço Database Tools no compartimento especificado:

oci dbtools connection create-oracle-database --compartment-id <compartment_ocid> --display-name <connection_name>
--connection-string <connection_string> --authentication-type TOKEN 
--proxy-client '{"proxyAuthenticationType":"USER_NAME","userName":"<proxy-client>"}' --endpoint <region-url>

Por exemplo:

oci dbtools connection create-oracle-database --compartment-id ocid1.compartment.oc1..exampleugka7wugqsmsdcyw5olcazkp4no3h47lia
--display-name proxy-abc --connection-string '(description=(retry_count=0)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<adb-hostname>))(connect_data=(service_name=service-name))(security=(ssl_server_dn_match=yes)))'
--authentication-type TOKEN --proxy-client '{"proxyAuthenticationType":"USER_NAME_AUTO_DETECT"}'
--endpoint 'https://dbtools.<region>.oci.oraclecloud.com'