Paramètres d'initialisation
Autonomous Database configure automatiquement les paramètres d'initialisation de base de données lorsque vous provisionnez une base de données. Vous n'avez pas besoin de définir de paramètres d'initialisation pour commencer à utiliser votre service. Toutefois, vous pouvez modifier certains paramètres si nécessaire.
Paramètres d'initialisation modifiables
Le tableau suivant présente les paramètres d'initialisation qui ne sont modifiables qu'avec ALTER SESSION
.
Modifiable uniquement avec ALTER SESSION | Plus d'informations |
---|---|
CONSTRAINTS |
|
CONTAINER |
|
CURRENT_SCHEMA |
|
CURSOR_INVALIDATION |
CURSOR_INVALIDATION |
DEFAULT_COLLATION |
|
DEFAULT_CREDENTIAL |
|
EDITION |
|
ISOLATION_LEVEL |
|
JSON_BEHAVIOR |
Ce paramètre s'applique uniquement à Oracle Database 23ai. Pour plus d'informations, reportez-vous à JSON_BEHAVIOR. |
JSON_EXPRESSION_CHECK |
JSON_EXPRESSION_CHECK |
OPTIMIZER_SESSION_TYPE |
|
OPTIMIZER_USE_INVISIBLE_INDEXES |
|
READ_ONLY |
|
SQL_TRACE |
Pour plus d'informations, reportez-vous à Exécution de la fonction de trace SQL sur Autonomous Database |
|
|
SQL_TRANSPILER |
Ce paramètre s'applique uniquement à Oracle Database 23ai. Pour plus d'informations, reportez-vous à SQL_TRANSPILER. |
STATISTICS_LEVEL |
STATISTICS_LEVEL |
TIME_ZONE |
Pour plus d'informations sur |
XML_PARAMS |
Ce paramètre s'applique uniquement à Oracle Database 23ai. Pour plus d'informations, reportez-vous à XML_PARAMS. |
Le tableau suivant présente les paramètres d'initialisation qui ne sont modifiables qu'avec ALTER SYSTEM
.
Modifiable uniquement avec ALTER SYSTEM | Plus d'informations |
---|---|
BLANK_TRIMMING |
BLANK_TRIMMING |
FIXED_DATE |
FIXED_DATE |
JOB_QUEUE_PROCESSES |
JOB_QUEUE_PROCESSES |
LOCKDOWN_ERRORS |
Pour plus d'informations, reportez-vous à LOCKDOWN_ERRORS. |
MAX_IDLE_BLOCKER_TIME |
MAX_IDLE_BLOCKER_TIME Avec une valeur supérieure à 5, le paramètre agit comme s'il était défini sur 5. |
MAX_IDLE_TIME |
MAX_IDLE_TIME Par défaut, |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
|
Le tableau suivant présente les paramètres d'initialisation modifiables avec ALTER SESSION
ou ALTER SYSTEM
.
Modifiable avec ALTER SESSION ou ALTER SYSTEME | Plus d'informations |
---|---|
APPROX_FOR_AGGREGATION |
APPROX_FOR_AGGREGATION |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_PERCENTILE |
APPROX_FOR_PERCENTILE |
CLIENT_PREFETCH_ROWS |
Reportez-vous à CLIENT_PREFETCH_ROWS |
CLOUD_TABLE_COMMIT_THRESHOLD |
Pour plus d'informations, reportez-vous à 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 |
Ce paramètre s'applique uniquement à Oracle Database 23ai. Pour plus d'informations, reportez-vous à 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
|
Pour plus de détails, reportez-vous à Types de données. |
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
|
Pour plus d'informations sur |
OPTIMIZER_IGNORE_PARALLEL_HINTS |
Pour plus d'informations sur |
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 |
Ce paramètre s'applique uniquement à Oracle Database 23ai. Reportez-vous à PLSQL_IMPLICIT_CONVERSION_BOOL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_WARNINGS |
PLSQL_WARNINGS |
QUERY_REWRITE_INTEGRITY |
QUERY_REWRITE_INTEGRITY |
RECYCLEBIN
|
RECYCLAGE |
REMOTE_DEPENDENCIES_MODE |
REMOTE_DEPENDENCIES_MODE |
RESULT_CACHE_INTEGRITY |
Reportez-vous à RESULT_CACHE_INTEGRITY |
RESULT_CACHE_MODE |
Reportez-vous à RESULT_CACHE_MODE |
SKIP_UNUSABLE_INEDEXES |
|
SQL_HISTORY_ENABLED |
Ce paramètre est disponible à partir d'Oracle Database 23ai. Pour plus d'informations, reportez-vous à SQL_HISTORY_ENABLED. |
SYSDATE_AT_DBTIMEZONE |
Reportez-vous à SYSDATE_AT_DBTIMEZONE Sélection d'un fuseau horaire pour SYSDATE sur Autonomous Database |
XML_CLIENT_SIDE_DECODING |
Reportez-vous à XML_CLIENT_SIDE_DECODING |
Pour plus d'informations sur les paramètres d'initialisation, reportez-vous à Référence Oracle Database.
- CLIENT_PREFETCH_ROWS
Définissez le paramètreCLIENT_PREFETCH_ROWS
pour permettre aux clients de réduire le nombre d'aller-retours requis lors de l'extraction des lignes d'un ensemble de résultats de requête. - CLOUD_TABLE_COMMIT_THRESHOLD
Le paramètreCLOUD_TABLE_COMMIT_THRESHOLD
contrôle le nombre de modifications mises en mémoire tampon pour les tables cloud avant que les modifications ne soient écrites dans le stockage d'objets. - JOB_QUEUE_PROCESSES
Définissez le paramètreJOB_QUEUE_PROCESSES
afin d'indiquer le nombre maximal de processus actifs de travail pouvant être créés pour exécuter des travaux Oracle Scheduler (DBMS_SCHEDULER
). - LOCKDOWN_ERRORS
Définissez le paramètreLOCKDOWN_ERRORS
afin de contrôler si les erreurs de profil de verrouillage Autonomous Database sont générées ou ignorées. - SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
active ou désactive la gestion spéciale pour les packages PL/SQL avec conservation de statut exécutés dans une session. - RESULT_CACHE_INTEGRITY
Définissez le paramètreRESULT_CACHE_INTEGRITY
pour indiquer si le cache de résultats prend en compte les requêtes utilisant éventuellement des constructions non déterministes comme candidats à la mise en cache de résultats. - RESULT_CACHE_MODE
Définissez le paramètreRESULT_CACHE_MODE
pour indiquer les requêtes pouvant stocker les ensembles de résultats dans le cache de résultats. Seuls les plans d'exécution de requête avec l'opérateur de cache de résultats tenteront de lire ou d'écrire dans le cache de résultats. - SYSDATE_AT_DBTIMEZONE Sélectionnez un fuseau horaire pour SYSDATE sur Autonomous Database
SYSDATE_AT_DBTIMEZONE
permet un traitement spécial dans une session pour la valeur de date et d'heure renvoyée dans les appels versSYSDATE
etSYSTIMESTAMP
.
CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS
pour permettre aux clients de réduire le nombre d'aller-retours requis lors de l'extraction des lignes d'un ensemble de résultats de requête.
CLIENT_PREFETCH_ROWS
indique le nombre de lignes à préextraire par le pilote client Oracle, sans apporter de modifications à l'application client. Le pilote client met en mémoire tampon les lignes pré-extraitées après chaque exécution d'interrogation réussie et pour chaque demande d'extraction ultérieure envoyée à la base de données.
Ce paramètre s'applique uniquement aux clients qui utilisent Oracle Call Interface (OCI) pour se connecter à la base de données.
Ce paramètre s'applique uniquement à Oracle Instant Client/Oracle Database Client 19.17 (ou version ultérieure) et 21.8 (ou version ultérieure), pour toutes les plates-formes.
Propriété | Description |
---|---|
Type de paramètre | Entier |
Syntaxe | CLIENT_PREFETCH_ROWS = integer |
Valeur par défaut | 0 (seuls les paramètres côté client s'appliquent)
|
Modifiable | ALTER SYSTEM , ALTER SESSION |
Plage de valeurs | 0 à UB4MAXVAL (4294967295 )
|
De base | Non |
Le paramètre CLIENT_PREFETCH_ROWS
peut être défini avec ALTER SESSION
ou ALTER SYSTEM
. Si la valeur du paramètre change à l'aide de ALTER SESSION
, la nouvelle valeur prend effet pour cette session spécifique lors des extractions suivantes de l'ensemble de résultats. Si la valeur du paramètre change à l'aide de ALTER SYSTEM
, la nouvelle valeur prend effet pour les instructions exécutées sur les connexions créées après la commande ALTER SYSTEM
.
Par exemple, si CLIENT_PREFETCH_ROWS
est défini sur 100 et qu'une application client demande d'extraire 10 lignes, un total de 110 lignes est renvoyé au pilote client. Les 10 premières lignes sur les 110 sont attribuées à l'application, et le pilote client met en mémoire tampon les 100 lignes restantes en interne. Les 10 prochaines extractions de ligne à partir de l'application client, chacune avec 10 lignes par itération d'extraction, peuvent être exécutées à partir des 100 lignes mises en mémoire tampon en interne par le pilote client. Ce processus réduit le nombre d'allers-retours réseau requis vers et depuis la base de données. Dans cet exemple, lors de la 11e extraction, un nouvel aller-retour réseau est engagé et la base de données renvoie le lot suivant de 110 lignes, tant que l'ensemble de résultats n'est pas épuisé et que le cycle se répète.
Remarques concernant la définition de CLIENT_PREFETCH_ROWS
:
-
Lorsque la valeur
CLIENT_PREFETCH_ROWS
est définie sur une valeur différente de zéro, sa valeur est prioritaire sur la valeurOCI_ATTR_PREFETCH_ROWS
par défaut pour le nombre de lignes de pré-extraction. -
Si la valeur
OCI_ATTR_PREFETCH_ROWS
est définie sur une valeur autre que celle par défaut, la valeurCLIENT_PREFETCH_ROWS
est ignorée pour le nombre de lignes de pré-extraction. -
En utilisant
CLIENT_PREFETCH_ROWS
avecOCIAttrSet()
:OCI_ATTR_PREFETCH_ROWS
définit le nombre de lignes de niveau supérieur à préextraire. La valeur par défaut est 1 ligne. Toutefois, siCLIENT_PREFETCH_ROWS
est défini, le nombre de lignes de niveau supérieur à préextraire est déterminé par la priorité suivante :-
Si vous définissez l'attribut
OCI_ATTR_PREFETCH_ROWS
à l'aide de la fonctionOCIAttrSet()
ou deoraaccess.xml
en tant que valeur '1', la valeur du paramètre d'initialisation de base de donnéesCLIENT_PREFETCH_ROWS
est prioritaire et détermine le nombre de lignes de niveau supérieur à préextraire. -
Si vous définissez l'attribut
OCI_ATTR_PREFETCH_ROWS
à l'aide de la fonctionOCIAttrSet()
ou deoraaccess.xml
en tant que valeur 'x' autre que 1, le nombre de lignes de niveau supérieur 'x' est pré-extrait et le paramètre d'initialisation de base de donnéesCLIENT_PREFETCH_ROWS
est ignoré. -
Si vous ne définissez pas de valeur
OCI_ATTR_PREFETCH_ROWS
à l'aide deOCIAttrSet()
ouoraaccess.xml
, la valeur du paramètre d'initialisation de base de donnéesCLIENT_PREFETCH_ROWS
est prioritaire et détermine le nombre de lignes de niveau supérieur à préextraire.
-
-
En utilisant
CLIENT_PREFETCH_ROWS
avecOCIAttrGet()
:La fonction
OCIAttrGet()
renvoie la valeur de ligne de pré-extraction effective définie à partir deOCI_ATTR_PREFETCH_ROWS
,oraaccess.xml
et du paramètre d'initialisation de base de donnéesCLIENT_PREFETCH_ROWS
. Si la valeurOCI_ATTR_PREFETCH_MEMORY
est définie, la valeur renvoyée parOCIAttrGet()
peut ne pas être la valeur finale des lignes de pré-extraction et peut être limitée au nombre maximal de lignes autorisé par la valeur de mémoire indiquée par l'attributOCI_ATTR_PREFETCH_MEMORY
.
Voir aussi :
-
Guide du développeur Oracle Call Interface pour plus d'informations sur l'extraction des résultats et la définition du nombre de pré-extractions.
Rubrique parent : Paramètres d'initialisation
CLOUD_TABLE_COMMIT_THRESHOLD
CLOUD_TABLE_COMMIT_THRESHOLD
contrôle le nombre de modifications mises en mémoire tampon pour les tables cloud avant que les modifications ne soient écrites dans le stockage d'objets.
Lorsque le paramètre CLOUD_TABLE_COMMIT_THRESHOLD
est défini sur une valeur différente de zéro, le système traite la valeur comme un seuil de nombre de modifications et les modifications de la table cloud sont mises en mémoire tampon jusqu'à ce que le nombre de modifications atteigne le seuil spécifié. Lorsque le seuil est atteint, les modifications mises en mémoire tampon sont exportées vers Object Storage. La valeur par défaut de ce paramètre est 0 (la mise en mémoire tampon est désactivée).
Pour plus d'informations, reportez-vous à A propos des tables cloud.
Ce paramètre s'applique à toutes les tables cloud et peut être défini par tout utilisateur disposant du privilège
ALTER SESSION
. Par conséquent, les tables cloud ne conviennent pas aux données critiques pour la sécurité lorsque les modifications validées doivent être durables et doivent être immédiatement visibles par les lecteurs simultanés. Pour cette raison, les tables cloud peuvent ne pas être appropriées pour des cas d'utilisation tels que les tables de journal d'audit.
Propriété | Description |
---|---|
Type de paramètre | Entier |
Syntaxe | CLOUD_TABLE_COMMIT_THRESHOLD = entier |
Valeur par défaut |
La valeur par défaut est |
Modifiable | ALTER SESSION , ALTER SYSTEM |
Plage de valeurs | 0 to 2147483647 |
Rubrique parent : Paramètres d'initialisation
JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES
afin d'indiquer le nombre maximal de processus actifs pouvant être créés pour exécuter des travaux Oracle Scheduler (DBMS_SCHEDULER
).
La définition de la valeur sur 0 désactive les travaux du planificateur non fournis par Oracle.
Propriété | Description |
---|---|
Type de paramètre | Entier |
Syntaxe | JOB_QUEUE_PROCESSES = integer |
Valeur par défaut |
La valeur par défaut dépend du nombre d'ECPU (nombre d'OCPU si votre base de données utilise des OCPU) et du paramètre de redimensionnement automatique d'ECPU (redimensionnement automatique d'OCPU si votre base de données utilise des OCPU). Pour plus de détails, reportez-vous au tableau suivant. |
Modifiable | ALTER SYSTEM |
Plage de valeurs |
Valeur minimale : La valeur maximale dépend du nombre d'ECPU (nombre d'OCPU si votre base de données utilise des OCPU) et du paramètre de redimensionnement automatique d'ECPU (redimensionnement automatique d'OCPU si votre base de données utilise des OCPU), comme indiqué dans le tableau suivant. |
Les valeurs par défaut et maximales pour JOB_QUEUE_PROCESSES
diffèrent en fonction du modèle de calcul que vous utilisez. Pour plus d'informations, reportez-vous à Modèles de calcul dans Autonomous Database.
Modèle de calcul | Valeur par défaut et maximum avec redimensionnement automatique désactivé | Valeur par défaut et valeur maximum avec redimensionnement automatique activé |
---|---|---|
ECPU | 7,5 x nombre d'ECPU | 22,5 x nombre d'ECPU |
OCPU | 30 x nombre d'OCPU | 90 x nombre d'OCPU |
Le coordinateur de travaux et les processus actifs de travail Oracle Scheduler sont contrôlés par le paramètre JOB_QUEUE_PROCESSES
. Le planificateur règle automatiquement le nombre réel de processus actifs créés pour les travaux Oracle Scheduler en fonction de plusieurs facteurs, notamment les ressources disponibles, les paramètres Resource Manager et les travaux en cours d'exécution.
La valeur par défaut de JOB_QUEUE_PROCESSES
offre un compromis entre la qualité de service des applications et une utilisation raisonnable des ressources système. Cependant, il est possible que la valeur par défaut ne corresponde pas à tous les environnements.
La définition de la valeur JOB_QUEUE_PROCESSES
sur 0 désactive les travaux du planificateur non fournis par Oracle. Lorsque JOB_QUEUE_PROCESSES
est défini sur 0
, cela ne désactive aucun travail interne pour les utilisateurs fournis par Oracle (les travaux liés aux services exécutés par les utilisateurs fournis par Oracle continuent d'être programmés).
Les utilisateurs fournis par Oracle sont des utilisateurs marqués comme ORACLE_MAINTAINED
avec la valeur Y
. Les utilisateurs non fournis par Oracle sont des utilisateurs marqués comme ORACLE_MAINTAINED
avec la valeur N
.
Pour plus d'informations, reportez-vous à ALL_USERS.
Rubrique parent : Paramètres d'initialisation
LOCKDOWN_ERRORS
Définissez le paramètre LOCKDOWN_ERRORS
pour contrôler si les erreurs de profil de verrouillage Autonomous Database sont générées ou ignorées.
Autonomous Database utilise des profils de verrouillage pour restreindre certaines fonctionnalités et fonctionnalités de base de données. Par défaut, la base de données génère une erreur chaque fois que vous tentez d'exécuter une commande SQL restreinte par le profil de verrouillage Autonomous Database. Le paramètre LOCKDOWN_ERRORS
vous permet de supprimer les erreurs de profil de verrouillage. En outre, lorsque LOCKDOWN_ERRORS
est défini sur la valeur IGNORE
, lorsqu'une erreur est ignorée, la base de données consigne les détails concernant l'instruction SQL, l'utilisateur et l'horodatage de la commande.
Evaluez soigneusement vos scripts existants avant de définir la valeur de ce paramètre sur
IGNORE
. Lorsque vous définissez la valeur sur IGNORE
, les scripts existants que vous utilisez ne généreront plus d'erreurs de verrouillage.
Vous pouvez utiliser la vue DBA_LOCKDOWN_ERRORS
pour obtenir des informations sur les erreurs de profil de verrouillage. Pour plus d'informations, reportez-vous à Vue Erreurs de verrouillage.
Propriété | Description |
---|---|
Type de paramètre | Chaîne |
Syntaxe | LOCKDOWN_ERRORS = IGNORE | RAISE |
Valeur par défaut |
La valeur par défaut est |
Modifiable | ALTER SYSTEM |
Valeurs valides |
|
Rubrique parent : Paramètres d'initialisation
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
active ou désactive la gestion spéciale des packages PL/SQL avec conservation de statut exécutés dans une session.
Propriété | Description |
---|---|
Type de paramètre | Booléen |
Valeur par défaut | FALSE |
Modifiable | ALTER SYSTEM |
Plage de valeurs | TRUE | FALSE |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
indique la gestion d'un package PL/SQL avec conservation de statut exécuté dans une session. Lorsqu'un tel package est modifié, par exemple lors d'une maintenance planifiée pour les objets fournis par Oracle, les sessions qui ont une instanciation active du package reçoivent l'erreur suivante lorsqu'elles tentent d'exécuter le package :
ORA-4068 existing state of package has been discarded
Toutefois, le code d'application qui reçoit l'erreur ORA-4068
peut ne pas être équipé pour gérer cette erreur avec sa logique de nouvelle tentative.
La définition de SESSION_EXIT_ON_PACKAGE_STATE_ERROR
sur TRUE
offre un traitement différent pour ce cas. Lorsque SESSION_EXIT_ON_PACKAGE_STATE_ERROR
est défini sur TRUE
, au lieu de générer simplement l'erreur ORA-4068
lorsque l'état du package est supprimé, la session se ferme immédiatement. Cela peut être avantageux car de nombreuses applications sont en mesure de gérer la terminaison de session en rétablissant automatiquement et de manière transparente la connexion.
Rubrique parent : Paramètres d'initialisation
RESULT_CACHE_INTEGRITY
Définissez le paramètre RESULT_CACHE_INTEGRITY
pour indiquer si le cache des résultats prend en compte les requêtes utilisant éventuellement des constructions non déterministes comme candidats à la mise en cache des résultats.
Propriété | Description |
---|---|
Type de paramètre | Chaîne |
Syntaxe | RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED } |
Valeur par défaut |
Pour Autonomous Database, la valeur par défaut est : |
Modifiable | ALTER SYSTEM |
Valeurs
-
ENFORCED
: quel que soit le paramètre deRESULT_CACHE_MODE
ou les conseils indiqués, seules les structures déterministes peuvent être mises en cache des résultats. Par exemple, les requêtes utilisant des fonctions PL/SQL qui ne sont pas déclarées comme déterministes ne sont jamais mises en cache (sauf si les fonctions sont déclarées comme déterministes, les résultats de requête avec ces fonctions ne seront pas mis en cache). -
TRUSTED
: la base de données respecte le paramètreRESULT_CACHE_MODE
et les conseils indiqués, et considère les requêtes utilisant éventuellement des constructions non déterministes comme candidats à la mise en cache des résultats. Par exemple, les requêtes utilisant des fonctions PL/SQL qui ne sont pas déclarées comme déterministes peuvent être mises en cache. Notez toutefois que les résultats connus pour être non déterministes ne sont pas mis en cache (par exemple,SYSDATE
ou les constructions impliquantSYSDATE
).
Rubrique parent : Paramètres d'initialisation
RESULT_CACHE_MODE
Définissez le paramètre RESULT_CACHE_MODE
pour indiquer les requêtes pouvant stocker les ensembles de résultats dans le cache de résultats. Seuls les plans d'exécution de requête avec l'opérateur de cache de résultats tenteront de lire ou d'écrire dans le cache de résultats.
Propriété | Description |
---|---|
Type de paramètre | Chaîne |
Syntaxe | RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP } |
Valeur par défaut |
Pour Autonomous Database avec le type de charge globale défini sur Data Warehouse : Pour les types de charge globale Traitement des transactions, JSON ou APEX : |
Modifiable | ALTER SESSION , ALTER SYSTEM |
Pour plus d'informations, reportez-vous à RESULT_CACHE_MODE.
- Utilisation des conseils de cache de résultats SQL
Utilisez les conseils de cache de résultats au niveau de l'application pour contrôler le comportement de mise en cache. Les conseils du cache de résultats SQL sont prioritaires sur le mode de cache de résultats et les annotations de table du cache de résultats.
Rubrique parent : Paramètres d'initialisation
Utiliser les conseils SQL Result Cache
Utilisez les conseils de mise en cache des résultats au niveau de l'application pour contrôler le comportement de mise en cache. Les conseils du cache de résultats SQL sont prioritaires sur le mode de cache de résultats et les annotations de table du cache de résultats.
Vous pouvez utiliser les conseils du cache de résultats SQL comme suit :
-
Utilisation du conseil
RESULT_CACHE
-
Utilisation du conseil
NO_RESULT_CACHE
-
Utiliser le conseil
RESULT_CACHE
dans les vues
Utilisation du conseil RESULT_CACHE
Lorsque le mode de cache des résultats est MANUAL
, le conseil /*+ RESULT_CACHE */
indique à la base de données de mettre en cache les résultats d'un bloc de requête et d'utiliser les résultats mis en cache dans les exécutions futures.
Pour plus d'informations, reportez-vous à Utilisation du conseil RESULT_CACHE et à Conseil RESULT_CACHE.
Utilisation du conseil NO_RESULT_CACHE
Le conseil /*+ NO_RESULT_CACHE */
indique à la base de données de ne pas mettre en cache les résultats dans les caches de résultats du serveur ou du client.
Pour plus d'informations, reportez-vous à Utilisation du conseil NO_RESULT_CACHE et à Conseil RESULT_CACHE.
Utiliser le conseil RESULT_CACHE
dans les vues
Le conseil (hint) RESULT_CACHE
s'applique uniquement au bloc de requête dans lequel il est indiqué. Si le conseil n'est indiqué que dans une vue, seuls ces résultats sont mis en cache.
Pour plus d'informations, reportez-vous à Utilisation du conseil RESULT_CACHE dans les vues et à Conseil RESULT_CACHE.
Rubrique parent : RESULT_CACHE_MODE
SYSDATE_AT_DBTIMEZONE Sélectionner un fuseau horaire pour SYSDATE sur Autonomous Database
SYSDATE_AT_DBTIMEZONE
permet un traitement spécial dans une session pour la valeur de date et d'heure renvoyée dans les appels vers SYSDATE
et SYSTIMESTAMP
.
Selon la valeur de SYSDATE_AT_DBTIMEZONE
, la date et l'heure sont affichées en fonction du fuseau horaire Autonomous Database par défaut, du temps universel coordonné (UTC) ou du fuseau horaire que vous avez défini dans la base de données.
Propriété | Description |
---|---|
Type de paramètre | Booléen |
Valeur par défaut | FALSE |
Modifiable | ALTER SESSION , ALTER SYSTEM |
Plage de valeurs | TRUE | FALSE |
Fuseau horaire par défaut d'Autonomous Database
Le fuseau horaire Autonomous Database par défaut est Temps universel coordonné (UTC) et, par défaut, les appels vers SYSDATE
et SYSTIMESTAMP
renvoient la date et l'heure au format UTC.
Pour modifier le fuseau horaire de la base de données, vous pouvez exécuter l'instruction suivante.
Cet exemple définit le fuseau horaire de la base de données sur UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
Cet exemple définit le fuseau horaire de la base de données pour la côte est des Etats-Unis : America/New_York
et l'heure est automatiquement ajustée aux commutateurs d'heure d'été :
ALTER DATABASE SET TIME_ZONE='America/New_York';
Vous devez redémarrer l'instance Autonomous Database pour que la modification prenne effet.
Une fois que vous avez défini le fuseau horaire de la base de données, par défaut, SYSDATE
et SYSTIMESTAMP
continuent à renvoyer la date et l'heure au format UTC (SYSDATE_AT_DBTIMEZONE
est FALSE
par défaut). Si vous définissez SYSDATE_AT_DBTIMEZONE
sur TRUE
dans une session, SYSDATE
et SYSTIMESTAMP
renvoient le fuseau horaire de la base de données.
Pour plus d'informations sur l'utilisation de la clause SET TIME_ZONE
avec ALTER DATABASE
, reportez-vous à Définition du fuseau horaire de la base de données dans Oracle Database 19c ou Oracle Database 23ai.
Utilisation de SYSDATE_AT_DBTIMEZONE dans une session
Lorsque SYSDATE_AT_DBTIMEZONE
est défini sur FALSE
dans une session, les appels vers SYSDATE
et SYSTIMESTAMP
renvoient des valeurs en fonction du fuseau horaire Autonomous Database par défaut, Temps universel coordonné (UTC).
Lorsque SYSDATE_AT_DBTIMEZONE
est défini sur TRUE
dans une session, les appels vers SYSDATE
ou SYSTIMESTAMP
renvoient la date et l'heure en fonction du fuseau horaire de la base de données.
La définition de
SYSDATE_AT_DBTIMEZONE
sur TRUE
n'a d'incidence que sur l'utilisation de SYSDATE
et SYSTIMESTAMP
en tant qu'opérateurs dans le code SQL d'application (par exemple, dans les interrogations, les opérations LMD et CTAS). Lorsque vous utilisez ce paramètre, il est recommandé que le fuseau horaire de votre client/session corresponde au fuseau horaire de votre base de données.
Exemple
L'exemple suivant renvoie des dates et des heures pour deux fuseaux horaires différents, en fonction de la valeur du paramètre SYSDATE_AT_DBTIMEZONE
:
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
Lorsqu'une requête SYSDATE
ou SYSTIMESTAMP
est exécutée dans SQL Worksheet d'actions de base de données, la valeur d'heure et de date renvoyée est au format UTC (lorsque le paramètre SYSDATE_AT_DBTIMEZONE
est défini sur TRUE
ou FALSE
). Pour obtenir le fuseau horaire de la base de données lorsque vous travaillez dans Database Actions, utilisez TO_CHAR()
comme suit :
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
Rubrique parent : Paramètres d'initialisation