Application Continuity in Autonomous Database konfigurieren
Um Application Continuity zu konfigurieren, müssen Sie die Kontinuität der Anwendung für den von Ihrer Anwendung verwendeten Datenbankservice aktivieren sowie den Failover-Typ und den Drain-Timeout konfigurieren. Darüber hinaus müssen Sie mehrere Verbindungszeichenfolgeparameter festlegen, die High Availability ermöglichen.
- Service zur Aktivierung von Application Continuity konfigurieren
Aktivieren Sie mitDBMS_APP_CONT_ADMIN
Application Continuity oder Transparent Application Continuity: - Fast Application Notification (FAN) verwenden
Wenn Sie eine Verbindung zu Autonomous Database herstellen, konfiguriert die Oracle-Datenbank FAN automatisch. Bei Anwendungs-Deployments mit Autonomous Database werden Fast Application Notification-(FAN-)Ereignisse für ungeplante Ausfälle an den Connection Manager (CMAN) weitergeleitet, und es sind keine Konfigurationsschritte für Clientanwendungen zur Verwendung von FAN erforderlich. - Verbindungszeichenfolge für High Availability konfigurieren
Um High Availability beizubehalten, empfiehlt Oracle, dass Sie bestimmte Parameter für Verbindungszeichenfolgen festlegen, wenn Sie eine Verbindung zu Oracle Autonomous Database herstellen. - Treiberspezifische Clientoptionen konfigurieren
Abhängig von Ihrem Client und Ihrem Treiber müssen Sie sicherstellen, dass der Client ordnungsgemäß für die Verwendung von Application Continuity konfiguriert ist, wenn Sie eine Verbindung zu Autonomous Database herstellen.
Übergeordnetes Thema: Anwendungskontinuität in Autonomous Database verwenden
Service zur Aktivierung von Application Continuity konfigurieren
Verwenden Sie DBMS_APP_CONT_ADMIN
, um Anwendungskontinuität oder transparente Anwendungskontinuität zu aktivieren:
-
Application Continuity (AC): Legen Sie diese Failover-Option mit der Prozedur
DBMS_APP_CONT_ADMIN.ENABLE_AC
fest. Die ProzedurENABLE_AC
nimmt drei Parameter an:SERVICE NAME
ist der zu ändernde Servicename,FAILOVER_RESTORE
wird aufLEVEL1
gesetzt, um Application Continuity (AC) auszuwählen, undREPLAY_INITIATION_TIMEOUT
ist der Wiedergabe-Timeout, der angibt, wie viele Sekunden nach der Weiterleitung einer Anforderung diese Anforderung wiedergegeben werden kann.Beispiel: So aktivieren Sie als ADMIN-Benutzer Application Continuity für den
TPURGENT
-Service:execute DBMS_APP_CONT_ADMIN.ENABLE_AC( 'databaseid_tpurgent.adb.oraclecloud.com', 'LEVEL1', 600);
-
Transparent Application Continuity (TAC): Legen Sie diese Failover-Option mit der Prozedur
DBMS_APP_CONT_ADMIN.ENABLE_TAC
fest. Die ProzedurENABLE_TAC
nimmt drei Parameter an:SERVICE NAME
ist der zu ändernde Servicename,FAILOVER_RESTORE
wird aufAUTO
gesetzt, um Transparent Application Continuity (TAC) auszuwählen, undREPLAY_INITIATION_TIMEOUT
ist der Wiedergabetimeout, der angibt, wie viele Sekunden nach der Weiterleitung einer Anforderung die Wiedergabe dieser Anforderung zulässig ist.Beispiel: So aktivieren Sie als ADMIN-Benutzer Transparent Application Continuity für den
TP
-Service mit einem Wiedergabetimeout von 20 Minuten:execute DBMS_APP_CONT_ADMIN.ENABLE_TAC( 'databaseid_tp.adb.oraclecloud.com', 'AUTO', 1200);
-
Deaktiviert: Deaktivieren Sie Failover mit der Prozedur
DBMS_APP_CONT_ADMIN.DISABLE_FAILOVER()
.Beispiel: So deaktivieren Sie als ADMIN-Benutzer Failover für den
TP
-Service:execute DBMS_APP_CONT_ADMIN.DISABLE_FAILOVER( 'databaseid_tp.adb.oraclecloud.com');
Servicenamensparameter für Application Continuity suchen
Je nach Workload-Typ verwenden Sie einen SELECT
-Befehl ähnlich dem folgenden, um aus DBA_SERVICES
den Service in der Datenbank zu identifizieren, in dem Sie Application Continuity aktivieren möchten:
-
Data Warehouse
SELECT name, failover_type FROM DBA_SERVICES; NAME FAILOVER_TYPE ------------------------------------------------------- ------------- nvt21_adb1_low.adb.oraclecloud.com nvt21_adb1_high.adb.oraclecloud.com nvt21_adb1_medium.adb.oraclecloud.com
-
Transaktionsverarbeitung oder JSON-Datenbank
SELECT name, failover_type FROM DBA_SERVICES; NAME FAILOVER_TYPE ------------------------------------------------------- ---------------- nvt21_adb1_tp.adb.oraclecloud.com nvt21_adb1_tpurgent.adb.oraclecloud.com nvt21_adb1_low.adb.oraclecloud.com nvt21_adb1_high.adb.oraclecloud.com nvt21_adb1_medium.adb.oraclecloud.com
Beachten Sie, dass der FAILOVER_TYPE
-Wert für den high
-Service keinen Wert enthält und angibt, dass Application Continuity deaktiviert ist.
Prüfen, ob Application Continuity für einen Service aktiviert ist
Prüfen Sie je nach Workload-Typ die Ausgabe der DBA_SERVICES
-Abfrage, um zu prüfen, ob Application Continuity aktiviert ist.
-
Data Warehouse
SELECT name, failover_type FROM DBA_SERVICES; NAME FAILOVER_TYPE ------------------------------------------------------- -------------- nvt21_adb1_low.adb.oraclecloud.com nvt21_adb1_high.adb.oraclecloud.com AUTO nvt21_adb1_medium.adb.oraclecloud.com
-
Transaktionsverarbeitung oder JSON-Datenbank
SELECT name, failover_type FROM DBA_SERVICES; NAME FAILOVER_TYPE ------------------------------------------------------- -------------- nvt21_adb1_tp.adb.oraclecloud.com nvt21_adb1_tpurgent.adb.oraclecloud.com TRANSACTION nvt21_adb1_low.adb.oraclecloud.com nvt21_adb1_high.adb.oraclecloud.com AUTO nvt21_adb1_medium.adb.oraclecloud.com
Der FAILOVER_TYPE
-Wert für den high
-Service lautet jetzt AUTO
. Dadurch wird angegeben, dass Transparent Application Continuity (TAC) aktiviert ist. Außerdem lautet der FAILOVER_TYPE
-Wert für den tpurgent
-Service jetzt TRANSACTION
. Dadurch wird angegeben, dass Application Continuity (AC) aktiviert ist.
Übergeordnetes Thema: Application Continuity in Autonomous Database konfigurieren
Fast Application Notification (FAN) verwenden
Wenn Sie eine Verbindung zu Autonomous Database herstellen, konfiguriert die Oracle-Datenbank FAN automatisch. Bei Anwendungs-Deployments mit Autonomous Database werden Fast Application Notification-(FAN-)Ereignisse für ungeplante Ausfälle an den Connection Manager (CMAN) weitergeleitet, und es sind keine Konfigurationsschritte für Clientanwendungen zur Verwendung von FAN erforderlich.
FAN wird automatisch vom Clienttreiber und vom Autonomous Database Connection Manager (CMAN) verarbeitet:
- Für geplante Wartungsereignisse wird FAN In-Band direkt an die Treiber weitergeleitet. Dies setzt voraus, dass Anwendungen Oracle-Pools oder TAC für Anforderungsgrenzen oder Verbindungstests verwenden.
- Die Oracle Database- und Oracle-Clienttreiber führen bei Verbindungstests und bei Anforderungsgrenzen einen Drain-Vorgang aus.
Weitere Informationen finden Sie unter Clientkonfiguration für kontinuierliche Verfügbarkeit in Autonomous Database.
Übergeordnetes Thema: Application Continuity in Autonomous Database konfigurieren
Verbindungszeichenfolge für High Availability konfigurieren
Oracle empfiehlt, dass Sie bestimmte Parameter für Verbindungszeichenfolgen festlegen, wenn Sie eine Verbindung zu Oracle Autonomous Database herstellen.
Legen Sie die Parameter CONNECT_TIMEOUT
, RETRY_DELAY
, RETRY_COUNT
und TRANSPORT_CONNECT_TIMEOUT
in der Verbindungszeichenfolge fest, wenn Sie eine Verbindung zu Oracle Autonomous Database herstellen. Die in die von Oracle bereitgestellte Datei tnsnames.ora
eingebettete Verbindungszeichenfolge werden mit entsprechenden Werten für die meisten Anwendungen vorkonfiguriert. In einigen Fällen müssen Sie je nach Anwendungsanforderungen die vorkonfigurierten Werte für eine Verbindungszeichenfolge ändern.
Verwenden Sie diesen TNS für alle Oracle-Clients ab Version 12.2:
alias = (DESCRIPTION = (CONNECT_TIMEOUT= 90)(RETRY_COUNT=50) (RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL = TCP)(HOST=scan-host)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME = service-name)))
Verwenden Sie Folgendes für JDBC-Verbindungen mit Oracle-Treiberversion 12.1 oder niedriger.:
alias = (DESCRIPTION = (CONNECT_TIMEOUT= 15)(RETRY_COUNT=50) (RETRY_DELAY=3) (ADDRESS_LIST = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL = TCP)(HOST=scan-host)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME = service-name)))
Hinweise für Verbindungszeichenfolgen:
-
Bei JDBC- und ODP-Clients muss die Wartezeit für die Poolverbindung so konfiguriert werden, dass sie länger als der
CONNECT_TIMEOUT
-Wert in der Verbindungszeichenfolge ist. -
Verwenden Sie nicht die Easy-Connect-Benennung für den Client, da diese Verbindungen keine Hochverfügbarkeitsfunktionen haben.
Informationen zur Datei tnsnames.ora
finden Sie unter Clientzugangsdaten (Wallets) herunterladen.
Übergeordnetes Thema: Application Continuity in Autonomous Database konfigurieren
Treiberspezifische Clientoptionen konfigurieren
Je nach Client und Treiber müssen Sie sicherstellen, dass der Client ordnungsgemäß für die Verwendung von Application Continuity konfiguriert ist, wenn Sie eine Verbindung zu Autonomous Database herstellen.
- JDBC Thin-Treiber konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den JDBC Thin-Treiber verwendet. - Oracle Call Interface(OCI) Driver konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den Treiber Oracle Call Interface (OCI) verwendet. - Treiber für nicht verwalteten ODP.NET-Provider konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den Treiber für nicht verwaltete ODP.NET-Provider verwendet.
Übergeordnetes Thema: Application Continuity in Autonomous Database konfigurieren
JDBC Thin-Treiber konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den JDBC Thin-Treiber verwendet.
Wenn Ihre Anwendung den JDBC Thin-Treiber verwendet, befolgen Sie die folgenden empfohlenen Übungen:
-
JDBC-Anweisungscache für Abdeckung und Performance verwenden.
Um eine optimale Abdeckung und Performance zu erzielen, verwenden Sie den Anweisungscache des JDBC-Treibers anstelle des Anweisungscache eines Anwendungsservers. Dadurch kann der Treiber am Ende von Anforderungen wissen, dass Anweisungen geschlossen sind und der Arbeitsspeicher freigegeben werden muss.
Um den JDBC-Anweisungscache zu verwenden, verwenden Sie die Verbindungseigenschaft
oracle.jdbc.implicitStatementCacheSize
(OracleConnection.CONNECTION_PROPERTY_IMPLICIT_STATEMENT_CACHE_SIZE)
. Der Anweisungscache ist verbindungsabhängig. Der Wert für die Cachegröße entspricht der Anzahl vonopen_cursors
. Beispiele:oracle.jdbc.implicitStatementCacheSize=nnn
, wobeinnn
in der Regel zwischen 10 und 100 liegt und der Anzahl der geöffneten Cursor in der Anwendung entspricht. -
Garbage Collector optimieren.
Für viele Anwendungen ist die standardmäßige Optimierung des Garbage Collectors ausreichend. Für Anwendungen, die große Datenmengen zurückgeben und aufbewahren, können Sie höhere Werte verwenden, z.B. 2 GB oder mehr. Beispiele:
java -Xms3072m -Xmx3072m
Es wird empfohlen, die Arbeitsspeicherzuweisung für die anfängliche Java Heap-Größe (ms) und die maximale Heap-Größe (mx) auf denselben Wert zu setzen. Dadurch wird verhindert, dass Systemressourcen den Arbeitsspeicher-Heap vergrößern und verkleinern.
-
Deaktivieren Sie Fast Connection Failover, wenn Sie den UCP (Universal Connection Pool) verwenden. Beispiele:
PoolDataSource.setFastConnectionFailoverEnabled(false)
Übergeordnetes Thema: Treiberspezifische Clientoptionen konfigurieren
Oracle Call Interface-(OCI-)Treiber konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den Oracle Call Interface-(OCI-)Treiber verwendet.
Wenn die Clientanwendung den Oracle Call Interface-(OCI-)Treiber verwendet, befolgen Sie diese empfohlene Vorgehensweise:
-
Ersetzen Sie
OCIStmtPrepare
durchOCIStmtPrepare2
.OCIStmtPrepare()
ist seit 12.2 veraltet. Alle Anwendungen müssenOCIStmtPrepare2()
verwenden. Transparent Application Continuity (TAC) und Application Continuity (AC) lassenOCIStmtPrepare
zu, geben diese Anweisung jedoch nicht wieder.
Konfigurieren Sie keine ONS-Server in oraaccess.xml
:
<ons>
<servers>
<!—Do not enter any values -->
</servers>
</ons>
Konfigurieren Sie außerdem für Autonomous Database Serverless den Abschnitt <fan> nicht:
<fan>
<!-- only possible values are "trace" or "error" -->
<subscription_failure_action>
</subscription_failure_action>
</fan>
Übergeordnetes Thema: Treiberspezifische Clientoptionen konfigurieren
Treiber für nicht verwalteten ODP.NET-Provider konfigurieren
Zeigt Details zur Verwendung von Application Continuity in Autonomous Database mit einem Client an, der den Treiber für nicht verwaltete Provider ODP.NET verwendet.
Der Treiber für nicht verwaltete Provider ODP.NET verwendet automatisch Application Continuity, wenn Application Continuity in dem Datenbankservice aktiviert ist, mit dem Ihre Anwendung eine Verbindung zu Autonomous Database herstellt.
Wenn Sie eine ODP.NET-Anwendung mit Autonomous Database Serverless verbinden, konfigurieren Sie keine ONS-Server in oraaccess.xml
:
<ons>
<servers>
<!—Do not enter any values -->
</servers>
</ons>
Übergeordnetes Thema: Treiberspezifische Clientoptionen konfigurieren