Ensemble DBMS_CACHE
L'ensemble DBMS_CACHE facilite la mise en mémoire cache automatique pour les caches de table externe dans une instance de base de données d'intelligence artificielle autonome.
- Sommaire des sous-programmes DBMS_CACHE
Ce tableau résume les sous-programmes inclus dans l'ensembleDBMS_CACHE.
Sommaire des sous-programmes DBMS_CACHE
Ce tableau résume les sous-programmes inclus dans l'ensemble DBMS_CACHE.
| Sous-programme | Description |
|---|---|
|
Efface tous les caches de table externe pour un utilisateur spécifié. |
|
|
Extrait les propriétés de mise en cache des tables externes. |
|
|
Extrait les propriétés de mise en cache de table externe pour un utilisateur spécifié. |
|
|
Actualise tous les caches de table externe pour un utilisateur spécifié. |
|
|
Spécifie la préférence de mise en cache de la table externe pour tous les utilisateurs de base de données. |
|
|
Spécifie la préférence de mise en cache de la table externe pour un utilisateur spécifié. |
- Procédure CLER
Utilisez la procédureDBMS_CACHE.CLEARpour supprimer tous les caches de table externe pour un utilisateur spécifié. - Procédure GET_GLOBAL_PROPERTY
La procédureDBMS_CACHE.GET_GLOBAL_PROPERTYextrait les préférences de mise en cache de la table externe pour tous les utilisateurs de la base de données. Cette procédure est surchargée. - Procédure SET_GLOBAL_PROPERTY
Utilisez la procédureDBMS_CACHE.SET_GLOBAL_PROPERTYpour définir les propriétés de mise en mémoire cache AUTO pour tous les utilisateurs de base de données, y compris ceux qui activent la mise en mémoire cache automatique pour la base de données. Cette procédure est surchargée. - Procédure REFRESH
Utilisez la procédureDBMS_CACHE.REFRESHpour actualiser toutes les mémoires caches de table externe AUTO pour un utilisateur spécifié. - Procédure GET_USER_PROPERTY
Utilisez la procédureDBMS_CACHE.GET_USER_PROPERTYpour extraire les propriétés de mise en mémoire cache automatique d'un utilisateur. - Procédure SET_USER_PROPERTY
Utilisez la procédureDBMS_CACHE.SET_USER_PROPERTYpour définir les propriétés de mise en mémoire cache AUTO pour un schéma spécifié, y compris celles qui activent la mise en mémoire cache automatique pour le schéma. Cette procédure est surchargée.
Rubrique parent : Ensemble DBMS_CACHE
Procédure de nettoyage
Utilisez la procédure DBMS_CACHE.CLEAR pour supprimer tous les caches de table externe pour un utilisateur spécifié.
DBMS_CACHE.CLEAR supprime tous les caches de table externe et libère l'espace de stockage, de la même manière que la commande DROP fonctionne sur une table de base de données.
Syntaxe
DBMS_CACHE.CLEAR (
owner IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom du schéma. |
Exemple
BEGIN
DBMS_CACHE.CLEAR (
owner => 'SALES');
END;
/Note d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour effacer une mémoire cache.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE
GET_GLOBAL_PROPERTY Procédure
La procédure DBMS_CACHE.GET_GLOBAL_PROPERTY extrait les préférences de mise en cache de la table externe pour tous les utilisateurs de la base de données. Cette procédure est surchargée.
Syntaxe
DBMS_CACHE.GET_GLOBAL_PROPERTY (
property_name IN VARCHAR2,
property_value_num OUT VARCHAR2);
DBMS_CACHE.GET_GLOBAL_PROPERTY (
property_name IN VARCHAR2,
property_value_str OUT VARCHAR2);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom de la propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Extrait une valeur |
|
|
Extrait une valeur |
Exemple
SET SERVEROUTPUT ON;
DECLARE
cache_property NUMBER;
BEGIN
DBMS_CACHE.GET_GLOBAL_PROPERTY (
property_name => 'MAX_CACHE_SIZE',
property_value => cache_property
);
DBMS_OUTPUT.PUT_LINE('MAX_CACHE_SIZE = ' || cache_property);
END;
/Note d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE
SET_GLOBAL_PROPERTY Procédure
Utilisez la procédure DBMS_CACHE.SET_GLOBAL_PROPERTY pour définir les propriétés de mise en mémoire cache AUTO pour tous les utilisateurs de base de données, y compris ceux qui activent la mise en mémoire cache automatique pour la base de données. Cette procédure est surchargée.
Par défaut, la mise en cache automatique des tables externes est désactivée. Pour l'activer, réglez la taille de la mémoire cache à une valeur différente de zéro à l'aide de la propriété MAX_CACHE_SIZE ou MAX_CACHE_SIZE de la procédure DBMS_CACHE.SET_GLOBAL_PROPERTY. Cela permet une mise en mémoire cache automatique globale pour la base de données.
Syntaxe
DBMS_CACHE.SET_GLOBAL_PROPERTY (
property_name IN VARCHAR2,
property_value_num IN NUMBER);
DBMS_CACHE.SET_GLOBAL_PROPERTY (
property_name IN VARCHAR2,
property_value_str IN VARCHAR2);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom de la propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Fournit une valeur |
|
|
Fournit une valeur |
Exemples
BEGIN
DBMS_CACHE.SET_GLOBAL_PROPERTY (
property_name => 'MAX_CACHE_SIZE',
property_value_num => 50);
END;
/BEGIN
DBMS_CACHE.SET_GLOBAL_PROPERTY (
property_name => 'AUTO_REFRESH_MODE',
property_value_str => 'NEW');
END;
/BEGIN
DBMS_CACHE.SET_GLOBAL_PROPERTY (
property_name => 'MAX_REFRESH_WINDOW',
property_value_num => 20);
END;
/Notes d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour exécuter cette procédure. -
La propriété
MAX_REFRESH_WINDOWspécifie, en seconde, le temps maximal autorisé pour l'actualisation des caches de table externe. Si l'actualisation dépasse la limite spécifiée, l'actualisation de la mémoire cache se termine normalement et tous les caches admissibles restants sont mis en file d'attente pour le prochain cycle d'actualisation. -
Lorsque vous actualisez les caches à l'aide de la procédure
DBMS_CACHE.REFRESH, le paramètre de procédure a priorité sur la propriétéAUTO_REFRESH_MODE.Pour plus d'informations, voir Procédure REFRESH.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE
Procédure REFRESH
Utilisez la procédure DBMS_CACHE.REFRESH pour actualiser tous les caches de table externe AUTO pour un utilisateur spécifié.
Syntaxe
DBMS_CACHE.REFRESH (
owner IN VARCHAR2,
refresh_type IN VARCHAR2 DEFAULT ALL
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom du schéma. |
|
|
Spécifie l'option d'actualisation. Les valeurs
refresh_type valides sont les suivantes :
Ce paramètre est facultatif et prend par défaut la valeur |
Exemple
BEGIN
DBMS_CACHE.REFRESH (
owner => 'SALES',
refresh_type => 'CURRENT');
END;
/Notes d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour exécuter cette procédure. -
Si vous ne spécifiez pas de valeur pour le paramètre
refresh_type, Oracle effectue une actualisation en fonction de la valeurauto_refresh_mode. La valeur par défaut pourauto_refresh_modeestALL. -
Lorsque la propriété
MAX_REFRESH_WINDOWest définie, Oracle tente d'effectuer une actualisation dans la fenêtre spécifiée. Si l'actualisation dépasse la limite spécifiée, l'actualisation de la mémoire cache se termine normalement et tous les caches admissibles restants sont mis en file d'attente pour le prochain cycle d'actualisation. -
Tous les caches AUTO de la base de données sont gérés à l'aide d'un algorithme d'expulsion similaire à l'algorithme Least Recent Used (LRU). En cas de sous-pression d'espace, les caches qui ont fait l'objet d'un accès le moins récent sont automatiquement supprimés lors du processus d'actualisation pour libérer l'espace de stockage.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE
GET_USER_PROPERTY Procédure
Utilisez la procédure DBMS_CACHE.GET_USER_PROPERTY pour extraire les propriétés de mise en cache automatique d'un utilisateur.
Syntaxe
DBMS_CACHE.GET_USER_PROPERTY (
property_name IN VARCHAR2,
owner IN VARCHAR2 DEFAULT NULL,
property_value_str OUT VARCHAR2);
DBMS_CACHE.GET_USER_PROPERTY (
property_name IN VARCHAR2,
owner IN VARCHAR2 DEFAULT NULL,
property_value_num OUT NUMBER);Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom de la propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Spécifie le nom du schéma. Ce paramètre est facultatif et prend par défaut le schéma courant. |
|
|
Extrait une valeur |
|
|
Extrait une valeur |
Exemple
SET SERVEROUTPUT ON;
DECLARE
cache_property NUMBER;
BEGIN
DBMS_CACHE.GET_USER_PROPERTY (
property_name => 'MAX_CACHE_SIZE',
owner => NULL,
property_value => cache_property
);
DBMS_OUTPUT.PUT_LINE('MAX_CACHE_SIZE = ' || cache_property);
END;
/Note d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE
SET_USER_PROPERTY Procédure
Utilisez la procédure DBMS_CACHE.SET_USER_PROPERTY pour définir les propriétés de mise en mémoire cache AUTO pour un schéma spécifié, y compris celles qui activent la mise en mémoire cache automatique pour le schéma. Cette procédure est surchargée.
Syntaxe
DBMS_CACHE.SET_USER_PROPERTY (
property_name IN VARCHAR2,
property_value_num IN NUMBER,
owner IN VARCHAR2 DEFAULT NULL);
DBMS_CACHE.SET_USER_PROPERTY (
property_name IN VARCHAR2,
property_value_str IN NUMBER,
owner IN VARCHAR2 DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom de la propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Fournit une valeur |
|
|
Fournit une valeur |
|
|
Spécifie le nom du schéma. Ce paramètre est facultatif et prend par défaut le schéma courant. |
Exemple
BEGIN
DBMS_CACHE.SET_USER_PROPERTY (
property_name => 'MAX_CACHE_SIZE',
property_value_num => 50,
owner => 'SALES');
END;
/Note d'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur l'ensembleDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Sommaire des sous-programmes DBMS_CACHE