Mit TCP Fast Open (TFO) Clients mit Autonomous Database verbinden

Wenn Ihre Anwendung empfindlich auf die Netzwerklatenz reagiert und Sie die Netzwerklatenz zwischen Ihrer Anwendung und der Datenbank verringern möchten, können Sie TCP Fast Open (TFO) aktivieren.

Je nach den Eigenschaften Ihrer Anwendung können TFO-Verbindungen die Anwendungsperformance verbessern, indem sie die Netzwerklatenz für Clientverbindungen verringern.

TCP Fast Open-(TFO-)Verbindungen - Voraussetzungen

Listet die Voraussetzungen für die Verwendung von TCP Fast Open-(TFO-)Verbindungen mit Autonomous Database auf.

Um mit TCP Fast Open (TFO) eine Verbindung zu einer Autonomous Database-Instanz herzustellen, erfordert die Clientanwendung Folgendes:

  • Der Client muss auf einer VM in Oracle Cloud Infrastructure ausgeführt werden.

  • Einer der folgenden Punkte muss zutreffen:

  • Die VM muss unter Linux ausgeführt werden. Unterstützte Plattformen: Oracle Linux x86_64 und Oracle Linux Arm (aarch64).

  • Die folgenden Kernel-Parameter auf BS-Ebene müssen festgelegt werden:

    • Legen Sie als Root-Benutzer die folgenden Parameter fest:
      • sysctl -w net.ipv4.tcp_fastopen=5
      • sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0

      Prüfen Sie die Kernel-Parameterwerte auf BS-Ebene:

      cat /proc/sys/net/ipv4/tcp_fastopen
      5
      cat /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec
      0

JDBC Thin-Verbindungen mit TCP Fast Open

Beschreibt die Anforderungen für die Verwendung von JDBC Thin-Verbindungen mit TCP Fast Open (TFO) in Autonomous Database.

Stellen Sie sicher, dass die Clientumgebung und die Clientvoraussetzungen erfüllt sind. Weitere Informationen finden Sie unter Voraussetzungen für TCP Fast Open-(TFO-)Verbindungen.

Um JDBC mit TCP Fast Open (TFO) zu verwenden, gehen Sie wie folgt vor:

  1. Laden Sie den neuesten JDBC-Thin-Treiber herunter.

    Auf der Seite Oracle Database JDBC-Treiber und Companion Jars-Downloads:

    • Wählen Sie eine Treiberversion 23.4 oder höher aus den verfügbaren Treibern unter Oracle Database 23ai JDBC Driver & UCP Downloads - Free Release aus.

    • Wählen Sie eine Treiberversion 19.23 oder höher aus den verfügbaren Treibern unter Oracle Database 19c JDBC Driver & UCP Downloads - Long Term Release aus

  2. Laden Sie die Oracle JDBC TCP Fast Open-(TFO-)Bibliotheksdatei herunter.
    1. Blenden Sie auf der Seite Oracle Database JDBC-Treiber und Companion Jars-Downloads die Oracle JDBC TCP Fast Open-(TFO-)Bibliothek v1 ein
    2. Laden Sie die native .zip-Bibliothek für Ihre Clientplattform herunter:
      • JDBC TFO Library für Linux x86_64, Bibliotheksdatei für "x86_64" für Linux auf Intel.

      • JDBC-TFO-Bibliothek für Linux AARCH64-Bibliotheksdatei für "arm64" für Linux on Arm.

  3. Laden Sie die native Library in die Umgebung, in der Sie die Anwendung ausführen.

    Legen Sie die folgenden Umgebungsvariablen im Bibliothekspfad fest:

    1. Exportieren Sie LD_PRELOAD.
      export LD_PRELOAD=path_to/libtfojdbc1.so;
    2. Wenn Sie JDK 8 verwenden, exportieren Sie LD_LIBRARY_PATH.

      Beispiel:

      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;
    3. Wenn Sie JDK 17 verwenden, exportieren Sie LD_LIBRARY_PATH.

      Beispiel:

      export LD_LIBRARY_PATH=extracted_binaries_path:path_to/jdk_17_home/lib;
  4. Aktivieren Sie die TCP Fast Open-(TFO-)Option für Ihre Anwendung.

    Im Folgenden werden einige Optionen für die Aktivierung von TFO in der Clientverbindung zur Datenbank dargestellt:

    • Legen Sie in der Clientanwendung die folgende Verbindungseigenschaft fest:

      properties.put(OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN, "true");

      Standardmäßig ist die Eigenschaft OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN auf "false" (deaktiviert) gesetzt.

    • Fügen Sie die TFO-Eigenschaft in der JDBC-URL hinzu.

      Beispiel:

      jdbc:oracle:thin:@tcps://xxx.adb.yyy.oraclecloud.com:1521/zzz.adb.oraclecloud.com?oracle.net.useTcpFastOpen=true 

      Oder

      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
    • Fügen Sie den folgenden TNS-Parameter im Abschnitt CONNECT_DATA der Verbindungs-URL hinzu.

      Beispiel:

      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)))
    • Fügen Sie den folgenden TNS-Parameter im Abschnitt CONNECT_DATA der Verbindungs-URL hinzu.

      Beispiel:

      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)))
  5. Führen Sie die Anwendung aus.

Schnelle offene TCP-Verbindungen mit Python

Beschreibt die Anforderungen für die Verwendung von Python mit TCP Fast Open-(TFO-)Verbindungen in Autonomous Database.

Stellen Sie sicher, dass die Clientumgebung und die Clientvoraussetzungen erfüllt sind. Weitere Informationen finden Sie unter Voraussetzungen für TCP Fast Open-(TFO-)Verbindungen.

Um Python mit TCP Fast Open (TFO) zu verwenden, führen Sie die folgenden Schritte aus:

  1. Installieren Sie Python und den Treiber python-oracledb.

    Verwenden Sie die neueste Version von python-orabledb (Version 2.1.0 oder höher ist erforderlich).

    Weitere Informationen finden Sie unter Python und den python-oracledb-Treiber installiert.

  2. Fügen Sie den Verbindungsparameter use_tcp_fast_open hinzu, wenn Sie eine Verbindung zu einer Autonomous Database-Instanz herstellen.

    Beispiel: Verwenden Sie diese Option mit einer der folgenden Optionen:

    Weitere Informationen finden Sie unter Python-Anwendungen mit Autonomous Database verbinden.

Schnelle offene TCP-Verbindungen mit Oracle Call Interface Client für C- oder SQL*Plus-Verbindungen

Beschreibt die Anforderungen für die Verwendung von Oracle Call Interface Client mit TCP Fast Open (TFO), um eine Verbindung mit C oder SQL*Plus zu Autonomous Database herzustellen.

Stellen Sie sicher, dass die Clientumgebung und die Clientvoraussetzungen erfüllt sind. Weitere Informationen finden Sie unter Voraussetzungen für TCP Fast Open-(TFO-)Verbindungen.

Hinweis

Sie können TCP Fast Open (TFO) mit mTLS- oder TLS-Verbindungen aktivieren. Weitere Informationen finden Sie unter Sichere Verbindungen zu Autonomous Database mit mTLS oder mit TLS und Netzwerkoptionen aktualisieren, um TLS- oder nur gegenseitige TLS-(mTLS-)Authentifizierung in Autonomous Database zuzulassen.

Um Oracle Call Interface mit TCP Fast Open (TFO) zu verwenden, gehen Sie wie folgt vor:

  1. Laden Sie den neuesten Oracle Instant Client für Linux herunter, entweder Version 23.4 oder höher oder 19.23 oder höher.
  2. Stellen Sie eine Verbindung mit dem Parameter USE_TCP_FAST_OPEN her, der auf den Wert YES gesetzt ist.

    Fügen Sie beispielsweise den Parameter USE_TCP_FAST_OPEN in der Verbindungszeichenfolge, mit der Sie eine Verbindung zu Autonomous Database herstellen, zu connect_data hinzu:

    (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)))

    Oder legen Sie den Parameter sqlnet.ora fest:

    USE_TCP_FAST_OPEN=yes