Usar TCP Fast Open (TFO) para Conectar Clientes ao Autonomous AI Database
Se seu aplicativo for sensível à latência de rede e você quiser diminuir a latência de rede entre seu aplicativo e o banco de dados, poderá ativar o TCP Fast Open (TFO).
Dependendo das características do seu aplicativo, as conexões TFO podem melhorar o desempenho do aplicativo, diminuindo a latência da rede para conexões de clientes.
Pré-requisitos para Conexões TCP Fast Open (TFO)
Lista os pré-requisitos para usar conexões TCP Fast Open (TFO) com o Autonomous AI Database.
Para usar o TCP Fast Open (TFO) para estabelecer conexão com uma instância do Autonomous AI Database, o aplicativo cliente requer o seguinte:
-
O cliente deve ser executado em uma VM no Oracle Cloud Infrastructure.
-
Um dos seguintes deve ser verdadeiro:
-
O Autonomous AI Database está em um ponto final privado.
-
Quando o Autonomous AI Database está em um ponto final público, as regras de roteamento entre a VM do cliente e o banco de dados devem ser configuradas para que o tráfego passe por um Gateway de Serviço.
Consulte Acessar o Autonomous AI Database com o Service Gateway e Configurar o Acesso à Rede com Pontos Finais Privados para obter mais informações.
-
-
A VM deve estar em execução no Linux. As plataformas suportadas são: Oracle Linux x86_64 e Oracle Linux Arm (aarch64).
-
OS seguintes parâmetros de kernel no nível do sistema operacional devem ser definidos:
-
Como usuário raiz, defina os seguintes parâmetros:
-
sysctl -w net.ipv 4.tcp_fastopen=5 -
sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0
Verifique OS valores dos parâmetros de kernel no nível do sistema operacional:
cat /proc/sys/net/ipv4/tcp_fastopen 5 cat /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec 0 -
-
Conexões JDBC Thin com TCP Fast Open
Descreve os requisitos para usar conexões JDBC Thin com TCP Fast Open (TFO) no Autonomous AI Database.
Certifique-se de que o ambiente do cliente e os pré-requisitos do cliente sejam atendidos. Consulte Pré-requisitos para Conexões TCP Fast Open (TFO) para obter mais informações.
Para usar o JDBC com TCP Fast Open (TFO), execute as seguintes etapas:
-
Faça download do driver JDBC-thin mais recente.
Na página Downloads de Jars Companion e do driver JDBC do Oracle AI Database:
-
Selecione uma versão 23.4 ou posterior do driver nos drivers disponíveis em Oracle AI Database 26ai JDBC Driver & UCP Downloads - Versão Gratuita.
-
Selecione um driver versão 19.23 ou posterior dos drivers disponíveis em Oracle Database 19c JDBC Driver & UCP Downloads - Versão de Longo Prazo
-
-
Faça download do Arquivo da Biblioteca Oracle JDBC TCP Fast Open (TFO).
-
Na página Oracle AI Database JDBC driver and Companion Jars Downloads, expanda Oracle JDBC TCP Fast Open (TFO) Library v1
-
Faça download do arquivo compactado da biblioteca nativa para sua plataforma cliente:
-
JDBC TFO Library for Linux x86_64, arquivo de biblioteca para "x86_64" para Linux na Intel.
-
Arquivo de biblioteca JDBC TFO para Linux AARCH64 para "arm64" para Linux no Arm.
-
-
-
Carregue a biblioteca nativa no ambiente em que você executa seu aplicativo.
Defina as seguintes variáveis do ambiente no caminho da biblioteca:
-
Exporte
LD_PRELOAD.export LD_PRELOAD=path_to/libtfojdbc1.so; -
Se você estiver usando o JDK 8, exporte
LD_LIBRARY_PATH.Por exemplo:
export LD_LIBRARY_PATH=path_of_libtfojdbc1.so:path_to/jdk_8_home/jre/lib/amd64:path_to/jdk_8_home/jre/lib/amd64/server; -
Se você estiver usando o JDK 17, exporte
LD_LIBRARY_PATH.Por exemplo:
export LD_LIBRARY_PATH=extracted_binaries_path:path_to/jdk_17_home/lib;
-
-
Ative a opção TCP Fast Open (TFO) para seu aplicativo.
Veja a seguir algumas das opções para ativar o TFO na conexão do cliente com o banco de dados:
-
No aplicativo cliente, defina a seguinte propriedade de conexão:
properties.put(OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN, "true");Por default, a propriedade
OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPENé definida como false (desativado). -
Adicione a propriedade TFO no URL JDBC.
Por exemplo:
jdbc:oracle:thin:@tcps://xxx.adb.yyy.oraclecloud.com:1521/zzz.adb.oraclecloud.com?oracle.net.useTcpFastOpen=trueOu
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=zzz.adb.oraclecloud.com)))?oracle.net.useTcpFastOpen=true -
Adicione o parâmetro TNS a seguir na seção
CONNECT_DATAdo URL de conexão.Por exemplo:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com)(PORT=1521)) (CONNECT_DATA=(USE_TCP_FAST_OPEN =ON)(SERVICE_NAME=zzz.adb.oraclecloud.com))) -
Adicione o parâmetro TNS a seguir na seção
CONNECT_DATAdo URL de conexão.Por exemplo:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com)(PORT=1521))(CONNECT_DATA=(TFO=ON)(SERVICE_NAME=zzz.adb.oraclecloud.com)))
-
-
Execute o aplicativo.
Conexões TCP Fast Open com Python
Descreve os requisitos para usar o Python com conexões TCP Fast Open (TFO) no Autonomous AI Database.
Certifique-se de que o ambiente do cliente e os pré-requisitos do cliente sejam atendidos. Consulte Pré-requisitos para Conexões TCP Fast Open (TFO) para obter mais informações.
Para usar o Python com TCP Fast Open (TFO), execute as seguintes etapas:
-
Instale o Python e o Driver
python-oracledb.Use a versão mais recente do
python-orabledb(a versão 2.1.0 ou mais recente é obrigatória).Consulte Instalar o Python e o Driver python-oracledb para obter mais informações.
-
Adicione o parâmetro de conexão
use_tcp_fast_openao estabelecer conexão com uma instância do Autonomous AI Database.Por exemplo, use esta opção com uma das seguintes opções:
Consulte Conectar Aplicativos Python ao Autonomous AI Database para obter mais informações.
Conexões Rápidas de TCP Abertas com o Cliente Oracle Call Interface para Conexões C ou SQL*Plus
Descreve os requisitos para usar o Oracle Call Interface Client com TCP Fast Open (TFO) para estabelecer conexão com o C ou o SQL*Plus com o Autonomous AI Database.
Certifique-se de que o ambiente do cliente e os pré-requisitos do cliente sejam atendidos. Consulte Pré-requisitos para Conexões TCP Fast Open (TFO) para obter mais informações.
Observação
Observação: Você pode ativar o TCP Fast Open (TFO) com conexões mTLS ou TLS. Consulte Conexões Seguras com o Autonomous AI Database com mTLS ou com TLS e Atualizar Opções de Rede para Permitir TLS ou Exigir Somente Autenticação mTLS (TLS Mútuo) no Autonomous AI Database para obter mais informações.
Para usar o Oracle Call Interface com TCP Fast Open (TFO), execute as seguintes etapas:
-
Faça download do cliente instantâneo mais recente da Oracle para Linux, versão 23.4 ou superior ou 19.23 ou superior.
Consulte Downloads do Oracle Instant Client para Linux x86-64 (64 bits) para Linux x86-64.
Consulte Downloads do Oracle Instant Client para Linux ARM (aarch64) para Linux ARM.
-
Conecte-se com o parâmetro
USE_TCP_FAST_OPENdefinido com o valorYES.Por exemplo, adicione o parâmetro
USE_TCP_FAST_OPENaoconnect_datana string de conexão que você usa para estabelecer conexão com o Autonomous AI Database:(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=example.us-phoenix-1.oraclecloud.com)) (connect_data= (USE_TCP_FAST_OPEN=yes)(service_name=example_medium.adb.oraclecloud.com)) (security=(ssl_server_dn_match=yes)))Ou defina o parâmetro
sqlnet.ora:USE_TCP_FAST_OPEN=yes