Package DBMS_CACHE
Le package DBMS_CACHE facilite la mise en cache automatique des caches de table externes dans une instance de base de données Autonomous AI.
- Récapitulatif des sous-programmes DBMS_CACHE
Ce tableau récapitule les sous-programmes inclus dans le packageDBMS_CACHE.
Rubrique parent : Référence de package fourni par la base de données Autonomous AI
Récapitulatif des sous-programmes DBMS_CACHE
Ce tableau récapitule les sous-programmes inclus dans le package 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 donné. |
|
|
Spécifie la préférence de mise en cache de table externe pour tous les utilisateurs de base de données. |
|
|
Spécifie la préférence de mise en cache de table externe pour un utilisateur spécifié. |
- Procédure CLEAR
Utilisez la procédureDBMS_CACHE.CLEARpour supprimer tous les caches de table externe d'un utilisateur donné. - Procédure GET_GLOBAL_PROPERTY
La procédureDBMS_CACHE.GET_GLOBAL_PROPERTYextrait les préférences de mise en cache de 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 cache AUTO pour tous les utilisateurs de base de données, y compris ceux qui activent la mise en cache automatique pour la base de données. Cette procédure est surchargée. - Procédure REFRESH
Utilisez la procédureDBMS_CACHE.REFRESHpour actualiser tous les caches de table externe AUTO pour un utilisateur donné. - Procédure GET_USER_PROPERTY
Utilisez la procédureDBMS_CACHE.GET_USER_PROPERTYpour extraire les propriétés de mise en 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 cache AUTO pour un schéma donné, y compris celles qui activent la mise en cache automatique pour le schéma. Cette procédure est surchargée.
Rubrique parent : Package DBMS_CACHE
Procédure CLEAR
Utilisez la procédure DBMS_CACHE.CLEAR pour supprimer tous les caches de table externe d'un utilisateur donné.
DBMS_CACHE.CLEAR supprime tous les caches de table externe et libère l'espace de stockage, comme la commande DROP fonctionne sur une table de base de données.
Syntaxe
DBMS_CACHE.CLEAR (
owner IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le nom du schéma. |
Exemple
BEGIN
DBMS_CACHE.CLEAR (
owner => 'SALES');
END;
/Remarque sur l'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur le packageDBMS_CACHEpour vider un cache.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CACHE
Procédure GET_GLOBAL_PROPERTY
La procédure DBMS_CACHE.GET_GLOBAL_PROPERTY extrait les préférences de mise en cache de 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 |
|---|---|
|
|
Indique le nom de 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;
/Remarque sur l'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur le packageDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CACHE
Procédure SET_GLOBAL_PROPERTY
Utilisez la procédure DBMS_CACHE.SET_GLOBAL_PROPERTY pour définir les propriétés de mise en cache AUTO pour tous les utilisateurs de base de données, y compris ceux qui activent la mise en 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, définissez la taille du cache sur 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 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 |
|---|---|
|
|
Indique le nom de 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 le packageDBMS_CACHEpour exécuter cette procédure. -
La propriété
MAX_REFRESH_WINDOWindique, en seconde, la durée maximale autorisée pour l'actualisation des caches de table externe. Si l'actualisation dépasse la limite spécifiée, l'actualisation du cache se ferme normalement et tous les caches admissibles restants sont mis en file d'attente pour le cycle d'actualisation suivant. -
Lorsque vous actualisez les caches à l'aide de la procédure
DBMS_CACHE.REFRESH, le paramètre de procédure est prioritaire sur la propriétéAUTO_REFRESH_MODE.Pour plus d'informations, reportez-vous à Procédure REFRESH.
Rubrique parent : Récapitulatif 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 donné.
Syntaxe
DBMS_CACHE.REFRESH (
owner IN VARCHAR2,
refresh_type IN VARCHAR2 DEFAULT ALL
);Paramètres
| Paramètre | Description |
|---|---|
|
|
Indique le nom du schéma. |
|
|
Indique l'option d'actualisation. Les valeurs
refresh_type valides sont les suivantes :
Ce paramètre est facultatif et est défini par défaut sur |
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 le packageDBMS_CACHEpour exécuter cette procédure. -
Si vous n'indiquez 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 indiquée. Si l'actualisation dépasse la limite spécifiée, l'actualisation du cache se ferme normalement et tous les caches admissibles restants sont mis en file d'attente pour le cycle d'actualisation suivant. -
Tous les caches AUTO de la base de données sont gérés à l'aide d'un algorithme d'expulsion similaire à LRU (Least Recent Used). Lorsque l'espace est insuffisant, les caches auxquels vous avez accédé le plus récemment sont automatiquement supprimés au cours du processus d'actualisation pour libérer l'espace de stockage.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CACHE
Procédure GET_USER_PROPERTY
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 |
|---|---|
|
|
Indique le nom de propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Indique le nom du schéma. Ce paramètre est facultatif et correspond par défaut au schéma en cours. |
|
|
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;
/Remarque sur l'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur le packageDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CACHE
Procédure SET_USER_PROPERTY
Utilisez la procédure DBMS_CACHE.SET_USER_PROPERTY pour définir les propriétés de mise en cache AUTO pour un schéma spécifié, y compris celles qui activent la mise en 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 |
|---|---|
|
|
Indique le nom de propriété. Les valeurs valides pour
property_name sont les suivantes :
|
|
|
Fournit une valeur |
|
|
Fournit une valeur |
|
|
Indique le nom du schéma. Ce paramètre est facultatif et correspond par défaut au schéma en cours. |
Exemple
BEGIN
DBMS_CACHE.SET_USER_PROPERTY (
property_name => 'MAX_CACHE_SIZE',
property_value_num => 50,
owner => 'SALES');
END;
/Remarque sur l'utilisation
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilègeEXECUTEsur le packageDBMS_CACHEpour exécuter cette procédure.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CACHE