Initialisierungsparameter
Autonomous AI Database konfiguriert Datenbank-Initialisierungsparameter automatisch, wenn Sie eine Datenbank bereitstellen. Sie müssen keine Initialisierungsparameter festlegen, um den Service zu verwenden. Sie können jedoch einige Parameter bei Bedarf ändern.
Initialisierungsparameter, die geändert werden können
In der folgenden Tabelle sind die Initialisierungsparameter aufgeführt, die nur mit ALTER SESSION geändert werden können.
| Nur mit ALTER SESSION veränderbar | Weitere Informationen |
|---|---|
CONSTRAINTS |
|
CONTAINER |
|
CURRENT_SCHEMA |
|
CURSOR_INVALIDATION |
CURSOR_INVALIDATION |
DEFAULT_COLLATION |
|
DEFAULT_CREDENTIAL |
|
EDITION |
|
ISOLATION_LEVEL |
|
JSON_BEHAVIOR |
Dieser Parameter gilt nur für Oracle AI Database 26ai. Weitere Informationen finden Sie unter JSON_BEHAVIOR. |
JSON_EXPRESSION_CHECK |
JSON_EXPRESSION_CHECK |
OPTIMIZER_SESSION_TYPE |
|
OPTIMIZER_USE_INVISIBLE_INDEXES |
|
READ_ONLY |
|
SQL_TRACE |
Weitere Informationen finden Sie unter SQL-Tracing in Autonomous Database ausführen |
|
|
SQL_TRANSPILER |
Dieser Parameter gilt nur für Oracle AI Database 26ai. Weitere Informationen finden Sie unter SQL_TRANSPILER. |
STATISTICS_LEVEL |
STATISTICS_LEVEL |
TIME_ZONE |
Weitere Informationen zu |
XML_PARAMS |
Dieser Parameter gilt nur für Oracle AI Database 26ai. Weitere Informationen finden Sie unter XML_PARAMS. |
In der folgenden Tabelle sind die Initialisierungsparameter aufgeführt, die nur mit ALTER SYSTEM geändert werden können.
| Nur mit ALTER SYSTEM veränderbar | Weitere Informationen |
|---|---|
BLANK_TRIMMING |
BLANK_TRIMMING |
FIXED_DATE |
FIXED_DATE |
JOB_QUEUE_PROCESSES |
JOB_QUEUE_PROCESSES |
LOCKDOWN_ERRORS |
Weitere Informationen finden Sie unter LOCKDOWN_ERRORS |
MAX_IDLE_BLOCKER_TIME |
MAX_IDLE_BLOCKER_TIME Bei einem höheren Wert als 5 wirkt der Parameter so, als wäre er auf 5 gesetzt |
MAX_IDLE_TIME |
MAX_IDLE_TIME Standardmäßig ist |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
|
In der folgenden Tabelle sind die Initialisierungsparameter aufgeführt, die mit ALTER SESSION oder ALTER SYSTEM geändert werden können.
| Modifizierbar mit ALTER SESSION oder ALTER SYSTEM | Weitere Informationen |
|---|---|
APPROX_FOR_AGGREGATION |
APPROX_FOR_AGGREGATION |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_PERCENTILE |
APPROX_FOR_PERCENTILE |
CLIENT_PREFETCH_ROWS |
Siehe CLIENT_PREFETCH_ROWS |
CLOUD_TABLE_COMMIT_THRESHOLD |
Weitere Informationen finden Sie unter CLOUD_TABLE_COMMIT_THRESHOLD. |
CONTAINER_DATA |
CONTAINER_DATA |
CURSOR_SHARING |
CURSOR_SHARING |
DDL_LOCK_TIMEOUT |
DDL_LOCK_TIMEOUT |
GROUP_BY_POSITION |
|
GROUP_BY_POSITION_ENABLED |
Dieser Parameter gilt nur für Oracle AI Database 26ai. Weitere Informationen finden Sie unter GROUP_BY_POSITION_ENABLED |
HEAT_MAP |
HEAT_MAP |
IGNORE_SESSION_SET_PARAM_ERRORS |
IGNORE_SESSION_SET_PARAM_ERRORS |
LDAP_DIRECTORY_ACCESS |
LDAP_DIRECTORY_ACCESS |
LOAD_WITHOUT_COMPILE |
|
MAX_STRING_SIZE
|
Weitere Informationen finden Sie unter Datentypen |
NLS_CALENDAR
|
NLS_CALENDAR |
NLS_COMP |
NLS_COMP |
NLS_CURRENCY
|
NLS_CURRENCY |
NLS_DATE_FORMAT |
NLS_DATE_FORMAT |
NLS_DATE_LANGUAGE
|
NLS_DATE_LANGUAGE |
NLS_DUAL_CURRENCY
|
NLS_DUAL_CURRENCY |
NLS_ISO_CURRENCY
|
NLS_ISO_CURRENCY |
NLS_LANGUAGE
|
NLS_LANGUAGE |
NLS_LENGTH_SEMANTICS |
NLS_LENGTH_SEMANTICS |
NLS_NCHAR_CONV_EXCP
|
NLS_NCHAR_CONV_EXCP |
NLS_NUMERIC_CHARACTERS
|
NLS_NUMERIC_CHARACTERS |
NLS_SORT |
NLS_SORT |
NLS_TERRITORY |
NLS_TERRITORY |
NLS_TIME_FORMAT |
|
NLS_TIME_TZ_FORMAT
|
|
NLS_TIMESTAMP_FORMAT |
NLS_TIMESTAMP_FORMAT |
NLS_TIMESTAMP_TZ_FORMAT |
NLS_TIMESTAMP_TZ_FORMAT |
OPTIMIZER_CAPTURE_SQL_QUARANTINE
|
OPTIMIZER_CAPTURE_SQL_QUARANTINE |
OPTIMIZER_IGNORE_HINTS
|
Weitere Informationen zu |
OPTIMIZER_IGNORE_PARALLEL_HINTS |
Weitere Informationen zu |
OPTIMIZER_MODE |
OPTIMIZER_MODE |
OPTIMIZER_REAL_TIME_STATISTICS
|
OPTIMIZER_REAL_TIME_STATISTICS |
OPTIMIZER_USE_SQL_QUARANTINE |
OPTIMIZER_USE_SQL_QUARANTINE |
PLSCOPE_SETTINGS |
PLSCOPE_SETTINGS |
PLSQL_CCFLAGS |
PLSQL_CCFLAGS |
PLSQL_DEBUG |
PLSQL_DEBUG |
PLSQL_IMPLICIT_CONVERSION_BOOL |
Dieser Parameter gilt nur für Oracle AI Database 26ai. Siehe PLSQL_IMPLICIT_CONVERSION_BOOL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_WARNINGS |
PLSQL_WARNINGS |
QUERY_REWRITE_INTEGRITY |
QUERY_REWRITE_INTEGRITY |
RECYCLEBIN
|
PAPIERKORB |
REMOTE_DEPENDENCIES_MODE |
REMOTE_DEPENDENCIES_MODE |
RESULT_CACHE_INTEGRITY |
Siehe RESULT_CACHE_INTEGRITY |
RESULT_CACHE_MODE |
Siehe RESULT_CACHE_MODE |
SKIP_UNUSABLE_INEDEXES |
|
SQL_HISTORY_ENABLED |
Dieser Parameter ist ab Oracle AI Database 26ai verfügbar. Weitere Informationen finden Sie unter SQL_HISTORY_ENABLED. |
SYSDATE_AT_DBTIMEZONE |
Siehe SYSDATE_AT_DBTIMEZONE Zeitzone für SYSDATE in autonomer KI-Datenbank auswählen |
XML_CLIENT_SIDE_DECODING |
Siehe XML_CLIENT_SIDE_DECODING |
Weitere Informationen zu Initialisierungsparametern finden Sie in Oracle AI Database-Referenz.
- CLIENT_PREFETCH_ROWS
Legen Sie den ParameterCLIENT_PREFETCH_ROWSfest, damit Clients die Anzahl der Roundtrips reduzieren können, die beim Abrufen von Zeilen einer Abfrageergebnismenge erforderlich sind. - CLOUD_TABLE_COMMIT_THRESHOLD
Der ParameterCLOUD_TABLE_COMMIT_THRESHOLDsteuert die gepufferte Änderungsanzahl für Cloud-Tabellen, bevor Änderungen in den Objektspeicher geschrieben werden. - JOB_QUEUE_PROCESSES
Legen Sie den ParameterJOB_QUEUE_PROCESSESfest, um die maximale Anzahl von Job-Workern anzugeben, die zum Ausführen von Oracle Scheduler-(DBMS_SCHEDULER-)Jobs erstellt werden können. - LOCKDOWN_ERRORS
Legen Sie den ParameterLOCKDOWN_ERRORSfest, um zu steuern, ob Lockdown-Profilfehler der autonomen KI-Datenbank ausgelöst oder ignoriert werden. - SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERRORaktiviert oder deaktiviert eine spezielle Verarbeitung für zustandsbehaftete PL/SQL-Packages, die in einer Session ausgeführt werden. - RESULT_CACHE_INTEGRITY
Legen Sie den ParameterRESULT_CACHE_INTEGRITYfest, um anzugeben, ob der Ergebniscache Abfragen mit möglicherweise nicht deterministischen Konstrukten als Kandidaten für das Ergebnis-Caching berücksichtigt. - RESULT_CACHE_MODE
Legen Sie den ParameterRESULT_CACHE_MODEfest, um anzugeben, welche Abfragen zum Speichern von Ergebnismengen im Ergebniscache zulässig sind. Nur Abfrageausführungspläne mit dem Ergebniscacheoperator versuchen, aus dem Ergebniscache zu lesen oder in den Ergebniscache zu schreiben. - SYSDATE_AT_DBTIMEZONE Zeitzone für SYSDATE in autonomer KI-Datenbank auswählen
SYSDATE_AT_DBTIMEZONEermöglicht eine besondere Behandlung in einer Session für den Datums- und Uhrzeitwert, der in Aufrufen anSYSDATEundSYSTIMESTAMPzurückgegeben wird.
Übergeordnetes Thema: Hinweise für Benutzer, die von anderen Oracle-Datenbanken migrieren
CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS fest, damit Clients die Anzahl der Roundtrips reduzieren können, die beim Abrufen von Zeilen einer Abfrageergebnismenge erforderlich sind.
CLIENT_PREFETCH_ROWS gibt die Anzahl der Zeilen an, die vom Oracle-Clienttreiber vorab abgerufen werden sollen, ohne Änderungen an der Clientanwendung vorzunehmen. Der Clienttreiber pufelt die im Voraus abgerufenen Zeilen nach jeder erfolgreichen Abfrageausführung und für jede nachfolgende Abrufanforderung, die an die Datenbank gesendet wird.
Dieser Parameter gilt nur für Clients, die mit Oracle Call Interface (OCI) eine Verbindung zur Datenbank herstellen.
Dieser Parameter gilt nur für Oracle Instant Client/Oracle Database Client 19.17 (oder höher) und 21.8 (oder höher) für alle Plattformen.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Ganzzahl |
| Syntax | CLIENT_PREFETCH_ROWS = integer |
| Standardwert | 0 (es gelten nur clientseitige Einstellungen)
|
| Kann geändert werden | ALTER SYSTEM, ALTER SESSION |
| Wertebereich | 0 bis UB4MAXVAL (4294967295)
|
| Basis | Nein |
Der Parameter CLIENT_PREFETCH_ROWS kann mit ALTER SESSION oder ALTER SYSTEM festgelegt werden. Wenn sich der Parameterwert mit ALTER SESSION ändert, wird der neue Wert für diese bestimmte Session bei nachfolgenden Ergebnissetabrufen wirksam. Wenn sich der Parameterwert mit ALTER SYSTEM ändert, wird der neue Wert für die Anweisungen wirksam, die auf Verbindungen ausgeführt werden, die nach dem Befehl ALTER SYSTEM erstellt wurden.
Beispiel: Wenn CLIENT_PREFETCH_ROWS auf 100 gesetzt ist und eine Clientanwendung 10 Zeilen abruft, werden insgesamt 110 Zeilen an den Clienttreiber zurückgegeben. Die ersten 10 Zeilen aus den 110 Zeilen werden der Anwendung zugewiesen, und der Clienttreiber pufelt intern die restlichen 100 Zeilen. Die nächsten 10 Zeilen können aus der Clientanwendung abgerufen werden, wobei jede mit 10 Zeilen pro Fetch-Iteration aus den 100 Zeilen erfüllt werden kann, die vom Clienttreiber intern gepuffert werden. Dieser Prozess reduziert die Anzahl der erforderlichen Netzwerk-Roundtrips zur und von der Datenbank. In diesem Beispiel wird beim 11. Fetch ein neuer Netzwerk-Roundtrip angefallen, und die Datenbank gibt den nächsten Batch mit 110 Zeilen zurück, solange die Ergebnismenge nicht erschöpft ist und der Zyklus wiederholt wird.
Hinweise zum Festlegen von CLIENT_PREFETCH_ROWS:
-
Wenn
CLIENT_PREFETCH_ROWSauf einen Wert ungleich Null gesetzt ist, hat sein Wert Vorrang vor demOCI_ATTR_PREFETCH_ROWS-Standardwert für die Anzahl der Vorabrufzeilen. -
Wenn der Wert
OCI_ATTR_PREFETCH_ROWSauf einen Nicht-Standardwert gesetzt ist, wird der WertCLIENT_PREFETCH_ROWSfür die Anzahl der Vorabrufzeilen ignoriert. -
Verwenden Sie
CLIENT_PREFETCH_ROWSmitOCIAttrSet():OCI_ATTR_PREFETCH_ROWSlegt die Anzahl der Zeilen der obersten Ebene fest, die vorab abgerufen werden sollen. Der Standardwert ist 1 Zeile. WennCLIENT_PREFETCH_ROWSjedoch festgelegt ist, wird die Anzahl der Zeilen der obersten Ebene, die vorab abgerufen werden sollen, durch die folgende Priorität bestimmt:-
Wenn Sie das Attribut
OCI_ATTR_PREFETCH_ROWSmit der FunktionOCIAttrSet()oderoraaccess.xmlals Wert "1" festlegen, hat der Wert für den DatenbankinitialisierungsparameterCLIENT_PREFETCH_ROWSVorrang und bestimmt die Anzahl der Zeilen der obersten Ebene, die vorab abgerufen werden sollen. -
Wenn Sie das Attribut
OCI_ATTR_PREFETCH_ROWSmit der FunktionOCIAttrSet()oderoraaccess.xmlals anderen Wert "x" als 1 festlegen, wird die Anzahl der Zeilen der obersten Ebene im Voraus abgerufen, und der DatenbankinitialisierungsparameterCLIENT_PREFETCH_ROWSwird ignoriert. -
Wenn Sie keinen
OCI_ATTR_PREFETCH_ROWS-Wert mitOCIAttrSet()oderoraaccess.xmlfestlegen, hat der Wert für den DatenbankinitialisierungsparameterCLIENT_PREFETCH_ROWSVorrang und bestimmt die Anzahl der Zeilen der obersten Ebene, die vorab abgerufen werden sollen.
-
-
Verwenden Sie
CLIENT_PREFETCH_ROWSmitOCIAttrGet():Die Funktion
OCIAttrGet()gibt das effektive Prefetch-Zeilenwerteset ausOCI_ATTR_PREFETCH_ROWS,oraaccess.xmlund dem DatenbankinitialisierungsparameterCLIENT_PREFETCH_ROWSzurück. Wenn der WertOCI_ATTR_PREFETCH_MEMORYfestgelegt ist, ist der vonOCIAttrGet()zurückgegebene Wert möglicherweise nicht der endgültige Prefetch-Zeilenwert und kann auf die maximale Anzahl von Zeilen beschränkt werden, die durch den vom AttributOCI_ATTR_PREFETCH_MEMORYangegebenen Speicherwert zulässig sind.
Siehe auch:
-
Im Oracle Call Interface Developer's Guide finden Sie weitere Informationen zum Abrufen von Ergebnissen und Festlegen der Prefetch-Anzahl.
Übergeordnetes Thema: Initialisierungsparameter
CLOUD_TABLE_COMMIT_THRESHOLD
CLOUD_TABLE_COMMIT_THRESHOLD steuert die gepufferte Änderungsanzahl für Cloud-Tabellen, bevor Änderungen in den Objektspeicher geschrieben werden.
Wenn der Parameter CLOUD_TABLE_COMMIT_THRESHOLD auf einen Wert ungleich Null gesetzt ist, behandelt das System den Wert als Schwellenwert für die Änderungsanzahl, und Cloud-Tabellenänderungen werden gepuffert, bis die Anzahl der Änderungen den angegebenen Schwellenwert erreicht. Wenn der Schwellenwert erreicht ist, werden die gepufferten Änderungen in Object Storage exportiert. Der Standardwert dieses Parameters ist 0 (Pufferung ist deaktiviert).
Weitere Informationen finden Sie unter Informationen zu Cloud-Tabellen.
Dieser Parameter gilt für alle Cloud-Tabellen und kann von jedem Benutzer mit der Berechtigung
ALTER SESSION festgelegt werden. Daher sind Cloud-Tabellen nicht für sicherheitskritische Daten geeignet, bei denen festgeschriebene Änderungen dauerhaft sein müssen und für gleichzeitige Lesevorgänge sofort sichtbar sein müssen. Aus diesem Grund sind Cloud-Tabellen möglicherweise nicht für Anwendungsfälle wie Auditlogtabellen geeignet.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Ganzzahl |
| Syntax | CLOUD_TABLE_COMMIT_THRESHOLD = Ganzzahl |
| Standardwert |
Der Standardwert ist |
| Kann geändert werden | ALTER SESSION, ALTER SYSTEM |
| Wertebereich | 0 to 2147483647 |
Übergeordnetes Thema: Initialisierungsparameter
JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES fest, um die maximale Anzahl von Job-Workern anzugeben, die zum Ausführen von Oracle Scheduler-(DBMS_SCHEDULER-)Jobs erstellt werden können.
Wenn Sie den Wert auf 0 setzen, werden nicht von Oracle bereitgestellte Scheduler-Jobs deaktiviert.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Ganzzahl |
| Syntax | JOB_QUEUE_PROCESSES = integer |
| Standardwert |
Der Standardwert hängt von der ECPU-Anzahl (OCPU-Anzahl, wenn Ihre Datenbank OCPUs verwendet) und der Einstellung für ECPU-Autoscaling (OCPU-Autoscaling, wenn Ihre Datenbank OCPUs verwendet) ab. Details finden Sie in der nachstehenden Tabelle. |
| Kann geändert werden | ALTER SYSTEM |
| Wertebereich |
Mindestwert: Der Höchstwert hängt von der ECPU-Anzahl (OCPU-Anzahl, wenn Ihre Datenbank OCPUs verwendet) und der Einstellung für ECPU-Autoscaling (OCPU-Autoscaling, wenn Ihre Datenbank OCPUs verwendet) ab, wie in der folgenden Tabelle dargestellt. |
Die Standardwerte und Höchstwerte für JOB_QUEUE_PROCESSES unterscheiden sich je nach verwendetem Compute-Modell. Weitere Informationen finden Sie unter Compute-Modelle in autonomer KI-Datenbank.
| Compute-Modell | Standardwert und Höchstwert bei deaktivierter Autoscaling-Funktion | Standardwert und Höchstwert mit aktivierter automatischer Skalierung |
|---|---|---|
| ECPU | 7,5 x ECPU-Anzahl | 22,5 x ECPU-Anzahl |
| OCPU | 30 x OCPU-Anzahl | 90 x OCPU-Anzahl |
Oracle Scheduler-Jobkoordinator und Job-Worker werden durch den Parameter JOB_QUEUE_PROCESSES gesteuert. Die tatsächliche Anzahl der Job-Worker, die für Oracle Scheduler-Jobs erstellt wurden, wird vom Scheduler automatisch optimiert. Dies hängt von verschiedenen Faktoren ab, darunter verfügbaren Ressourcen, Resource Manager-Einstellungen und aktuell ausgeführte Jobs.
Der Standardwert für JOB_QUEUE_PROCESSES stellt einen Kompromiss zwischen der Servicequalität für Anwendungen und der angemessenen Nutzung von Systemressourcen dar. Es ist jedoch möglich, dass der Standardwert nicht für jede Umgebung geeignet ist.
Wenn Sie den Wert JOB_QUEUE_PROCESSES auf 0 setzen, werden nicht von Oracle bereitgestellte Scheduler-Jobs deaktiviert. Wenn JOB_QUEUE_PROCESSES auf 0 gesetzt ist, werden keine internen Jobs für von Oracle bereitgestellte Benutzer deaktiviert (servicebezogene Jobs, die von von Oracle bereitgestellten Benutzern ausgeführt werden, werden weiterhin geplant).
Von Oracle bereitgestellte Benutzer sind Benutzer, die als ORACLE_MAINTAINED mit dem Wert Y markiert sind. Nicht von Oracle bereitgestellte Benutzer sind Benutzer, die als ORACLE_MAINTAINED mit dem Wert N markiert sind.
Weitere Informationen finden Sie unter ALL_USERS.
Übergeordnetes Thema: Initialisierungsparameter
LOCKDOWN_ERRORS
Legen Sie den Parameter LOCKDOWN_ERRORS fest, um zu steuern, ob Sperrprofilfehler bei der autonomen KI-Datenbank ausgelöst oder ignoriert werden.
Autonome KI-Datenbank verwendet Sperrprofile, um bestimmte Datenbankfunktionen und -features einzuschränken. Standardmäßig löst die Datenbank einen Fehler aus, wenn Sie versuchen, einen SQL-Befehl auszuführen, der durch das Sperrprofil der autonomen KI-Datenbank eingeschränkt ist. Mit dem Parameter LOCKDOWN_ERRORS können Sie Lockdown-Profilfehler unterdrücken. Wenn LOCKDOWN_ERRORS auf den Wert IGNORE gesetzt ist, protokolliert die Datenbank beim Ignorieren eines Fehlers die Details zur SQL-Anweisung, zum Benutzer und zum Zeitstempel für den Befehl.
Bewerten Sie Ihre vorhandenen Skripte sorgfältig, bevor Sie den Wert dieses Parameters auf
IGNORE setzen. Wenn Sie den Wert auf IGNORE setzen, lösen vorhandene Skripte, die Sie verwenden, keine Sperrfehler mehr aus.
Mit der Ansicht DBA_LOCKDOWN_ERRORS können Sie Informationen zu Lockdown-Profilfehlern abrufen. Weitere Informationen finden Sie unter Ansicht "Sperrfehler".
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Zeichenfolge |
| Syntax | LOCKDOWN_ERRORS = IGNORE | RAISE |
| Standardwert |
Der Standardwert ist |
| Kann geändert werden | ALTER SYSTEM |
| Gültige Werte |
|
Übergeordnetes Thema: Initialisierungsparameter
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR aktiviert oder deaktiviert eine spezielle Verarbeitung für zustandsbehaftete PL/SQL-Packages, die in einer Session ausgeführt werden.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Boolescher Wert |
| Standardwert | FALSE |
| Kann geändert werden | ALTER SYSTEM |
| Wertebereich | TRUE | FALSE |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR gibt die Verarbeitung für ein zustandsbehaftetes PL/SQL-Package an, das in einer Session ausgeführt wird. Wenn ein solches Package geändert wird, z.B. während der geplanten Wartung für von Oracle bereitgestellte Objekte, erhalten Sessions, die eine aktive Instanziierung des Packages aufweisen, den folgenden Fehler, wenn sie versuchen, das Package auszuführen:
ORA-4068 existing state of package has been discarded
Der Anwendungscode, der den ORA-4068-Fehler empfängt, ist jedoch möglicherweise nicht dazu geeignet, diesen Fehler mit seiner Wiederholungslogik zu behandeln.
Wenn Sie SESSION_EXIT_ON_PACKAGE_STATE_ERROR auf TRUE setzen, ist für diesen Fall eine andere Behandlung möglich. Wenn SESSION_EXIT_ON_PACKAGE_STATE_ERROR TRUE ist, wird die Session sofort beendet, anstatt nur den ORA-4068-Fehler auszulösen, wenn der Packagestatus verworfen wird. Dies kann von Vorteil sein, da viele Anwendungen die Sessionbeendigung verarbeiten können, indem sie die Verbindung automatisch und transparent wiederherstellen.
Übergeordnetes Thema: Initialisierungsparameter
RESULT_CACHE_INTEGRITY
Legen Sie den Parameter RESULT_CACHE_INTEGRITY fest, um anzugeben, ob der Ergebniscache Abfragen mit möglicherweise nicht deterministischen Konstrukten als Kandidaten für das Ergebnis-Caching berücksichtigt.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Zeichenfolge |
| Syntax | RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED } |
| Standardwert |
Bei einer autonomen KI-Datenbank lautet der Standardwert: |
| Kann geändert werden | ALTER SYSTEM |
Werte
-
ENFORCED: Unabhängig von der Einstellung vonRESULT_CACHE_MODEoder angegebenen Hints sind nur deterministische Konstrukte für das Ergebnis-Caching zulässig. Beispiel: Abfragen, die PL/SQL-Funktionen verwenden, die nicht als deterministisch deklariert sind, werden nie gecacht (es sei denn, die Funktionen werden als deterministisch deklariert, die Abfrageergebnisse mit solchen Funktionen werden nicht gecacht). -
TRUSTED: Die Datenbank berücksichtigt die Einstellung vonRESULT_CACHE_MODEund angegebenen Hints und berücksichtigt Abfragen, die möglicherweise nicht deterministische Konstrukte als Kandidaten für das Ergebnis-Caching verwenden. Beispiel: Abfragen, die PL/SQL-Funktionen verwenden, die nicht als deterministisch deklariert sind, können gecacht werden. Beachten Sie jedoch, dass Ergebnisse, die bekanntermaßen nicht deterministisch sind, nicht gecacht werden (z.B.SYSDATEoder Konstrukte mitSYSDATE).
Übergeordnetes Thema: Initialisierungsparameter
RESULT_CACHE_MODE
Legen Sie den Parameter RESULT_CACHE_MODE fest, um anzugeben, welche Abfragen zum Speichern von Ergebnismengen im Ergebniscache zulässig sind. Nur Abfrageausführungspläne mit dem Ergebniscacheoperator versuchen, aus dem Ergebniscache zu lesen oder in den Ergebniscache zu schreiben.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Zeichenfolge |
| Syntax | RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP } |
| Standardwert |
Für autonome KI-Datenbank mit Workload-Typ Lakehouse: Für Workload-Typen Transaktionsverarbeitung, JSON oder APEX: |
| Kann geändert werden | ALTER SESSION, ALTER SYSTEM |
Weitere Informationen finden Sie unter RESULT_CACHE_MODE.
- SQL-Ergebnis-Cache-Tipps verwenden
Verwenden Sie Ergebnis-Cache-Tipps auf Anwendungsebene, um das Caching-Verhalten zu steuern. Die SQL-Ergebniscachehinweise haben Vorrang vor dem Ergebniscachemodus und den Annotationen der Ergebniscachetabelle.
Übergeordnetes Thema: Initialisierungsparameter
SQL-Ergebnis-Cache-Tipps verwenden
Verwenden Sie Ergebniscache-Hints auf Anwendungsebene, um das Caching-Verhalten zu steuern. Die SQL-Ergebniscachehinweise haben Vorrang vor dem Ergebniscachemodus und den Annotationen der Ergebniscachetabelle.
Sie können SQL-Ergebniscache-Hints wie folgt verwenden:
-
Verwenden des Hinweises
RESULT_CACHE -
Verwenden des Hinweises
NO_RESULT_CACHE -
RESULT_CACHE-Hinweis in Ansichten verwenden
Verwenden des Hinweises RESULT_CACHE
Wenn der Ergebniscachemodus MANUAL lautet, weist der Hint /*+ RESULT_CACHE */ die Datenbank an, die Ergebnisse eines Abfrageblocks zu cachen und die gecachten Ergebnisse in zukünftigen Ausführungen zu verwenden.
Weitere Informationen finden Sie unter Hint RESULT_CACHE verwenden und Hinweis RESULT_CACHE.
Verwenden des Hinweises NO_RESULT_CACHE
Der Hint /*+ NO_RESULT_CACHE */ weist die Datenbank an, die Ergebnisse weder in den Server- noch in den Clientergebniscaches zu cachen.
Weitere Informationen finden Sie unter Hint NO_RESULT_CACHE verwenden und Hinweis RESULT_CACHE.
RESULT_CACHE-Hinweis in Ansichten verwenden
Der Hint RESULT_CACHE gilt nur für den Abfrageblock, in dem der Hint angegeben wird. Wenn der Hint nur in einer Ansicht angegeben wird, werden nur diese Ergebnisse im Cache gespeichert.
Weitere Informationen finden Sie unter Hinweis RESULT_CACHE in Ansichten verwenden und Hinweis RESULT_CACHE.
Übergeordnetes Thema: RESULT_CACHE_MODE
SYSDATE_AT_DBTIMEZONE Zeitzone für SYSDATE in autonomer KI-Datenbank auswählen
SYSDATE_AT_DBTIMEZONE ermöglicht eine spezielle Verarbeitung in einer Session für den Datums- und Uhrzeitwert, der in Aufrufen an SYSDATE und SYSTIMESTAMP zurückgegeben wird.
Je nach Wert von SYSDATE_AT_DBTIMEZONE werden Datum und Uhrzeit entweder basierend auf der standardmäßigen Zeitzone der autonomen KI-Datenbank, der koordinierten Weltzeit (Coordinated Universal Time, UTC) oder basierend auf der Zeitzone angezeigt, die Sie in der Datenbank festgelegt haben.
| Eigenschaft | Beschreibung |
|---|---|
| Parametertyp | Boolescher Wert |
| Standardwert | FALSE |
| Kann geändert werden | ALTER SESSION, ALTER SYSTEM |
| Wertebereich | TRUE | FALSE |
Standardzeitzone für autonome KI-Datenbank
Die standardmäßige Zeitzone der autonomen KI-Datenbank lautet "Koordinierte Weltzeit" (UTC). Standardmäßig geben Aufrufe von SYSDATE und SYSTIMESTAMP das Datum und die Uhrzeit in UTC zurück.
Um die Zeitzone der Datenbank zu ändern, können Sie die folgende Anweisung ausführen.
In diesem Beispiel wird die Zeitzone der Datenbank auf UTC-5 gesetzt.
ALTER DATABASE SET TIME_ZONE='-05:00';
In diesem Beispiel wird die Datenbankzeitzone für die US-Ostküste festgelegt: America/New_York, und die Zeit wird bei DST-Switches automatisch angepasst:
ALTER DATABASE SET TIME_ZONE='America/New_York';
Sie müssen die Instanz der autonomen KI-Datenbank neu starten, damit die Änderung wirksam wird.
Nachdem Sie die Datenbank-Zeitzone festgelegt haben, geben standardmäßig SYSDATE und SYSTIMESTAMP Datum und Uhrzeit in UTC zurück (SYSDATE_AT_DBTIMEZONE ist standardmäßig FALSE). Wenn Sie SYSDATE_AT_DBTIMEZONE in einer Session auf TRUE setzen, geben SYSDATE und SYSTIMESTAMP die Datenbank-Zeitzone zurück.
Weitere Informationen zur Verwendung der Klausel SET TIME_ZONE mit ALTER DATABASE finden Sie unter Datenbank-Zeitzone festlegen in Oracle Database 19c oder Oracle Database 26ai.
Verwenden von SYSDATE_AT_DBTIMEZONE in einer Session
Wenn SYSDATE_AT_DBTIMEZONE in einer Session FALSE ist, geben Aufrufe von SYSDATE und SYSTIMESTAMP Werte basierend auf der standardmäßigen Zeitzone der autonomen KI-Datenbank (Coordinated Universal Time, UTC) zurück.
Wenn SYSDATE_AT_DBTIMEZONE in einer Session TRUE ist, geben Aufrufe von SYSDATE oder SYSTIMESTAMP das Datum und die Uhrzeit basierend auf der Datenbankzeitzone zurück.
Wenn Sie
SYSDATE_AT_DBTIMEZONE auf TRUE setzen, wirkt sich dies nur auf die Verwendung von SYSDATE und SYSTIMESTAMP als Operatoren in Anwendungs-SQL aus (z.B. in Abfragen, DML- und CTAS-Vorgängen). Wenn Sie diesen Parameter verwenden, wird empfohlen, dass die Client-/Sessionzeitzone mit der Datenbankzeitzone übereinstimmt.
Beispiel
Im folgenden Beispiel werden Datums- und Uhrzeitangaben für zwei verschiedene Zeitzonen basierend auf dem Parameterwert SYSDATE_AT_DBTIMEZONE zurückgegeben:
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
_____________
-05:00
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00
Wenn eine Abfrage SYSDATE oder SYSTIMESTAMP im SQL Worksheet von Database Actions ausgeführt wird, werden Uhrzeit und Datum in UTC zurückgegeben (wenn der Parameter SYSDATE_AT_DBTIMEZONE auf TRUE oder FALSE gesetzt ist). Um die Datenbank-Zeitzone beim Arbeiten mit Database Actions abzurufen, verwenden Sie TO_CHAR() wie folgt:
SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00
Übergeordnetes Thema: Initialisierungsparameter