Bonjour à tous.
Je travaille sur Oracle 8.
J'essaie de "pinner" des objets en utilisant DBMS_SHARED_POOL. Je lance, par exemple le script suivant :
Ensuite cela ne me retourne aucune erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part execute DBMS_SHARED_POOL.KEEP('nom_propriétaire.nom_package','P')
Ensuite je vérifie si le package a vraiment été "KEPT" dans la shared_pool :
Code : Sélectionner tout - Visualiser dans une fenêtre à part PL/SQL procedure successfully completed
et j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part execute SYS.DBMS_SHARED_POOL.SIZES(70);
Mon problème c'est qu'aucun package ne possède un attribut KEPT='YES'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SIZE(K) KEPT NAME ------- ------ --------------------------------------------------------------- 312 OWA.RH_CARRIERE (PACKAGE BODY) 312 OWA.TEST_IRAS (PACKAGE BODY) 266 SYS.STANDARD (PACKAGE) 238 select * from sys.all_objects where object_type = :object_type and owner = :object_owner and object_name = :object_name an d :sub_object is null (1378E05C,154303060) (CURSOR) ... etc
J'ai essaié :
mais tous les packages ont toujours KEPT='NO'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select NAME, KEPT from v$db_object_cache where OWNER='nom_user' and TYPE='PACKAGE';
Quelqu'un aurait-il une idée pour m'expliquer ceci?
Merci.
Partager