Comment obtenir de l'espace disponible dans l'espace pour un utilisateur (Oracle)
Je travaille sur une application web où j'ai besoin d'avertir l'utilisateur qu'ils sont en cours d'exécution hors de l'espace dans les bases de données de l'utilisateur espace de stockage.
L'application ne sais pas les informations d'identification de la db, système de l'utilisateur, donc je ne peux pas vues de requête comme dba_users, dba_free_space..etc.
Ma question est, est-il un moyen dans Oracle pour un utilisateur de savoir combien il y a d'espace pour eux dans leur espace de stockage?
Merci!
OriginalL'auteur Emrah | 2011-05-13
Vous devez vous connecter pour publier un commentaire.
Pardonnez mon ignorance sur le sujet, j'ai cru que seules les vues disponibles sur le stockage de données ont été dba_free_space etc..
J'ai réalisé que pour l'utilisateur identifié, il y a user_free_space.. vues pour eux.
Version modifiée de la requête mentionnée ici serait la réponse à ma question.
Requête est comme suit: (gagner de l'espace à gauche sur la DEFAULT_TABLESPACE de l'utilisateur)
Il serait de retour de l'espace libre dans MO
Il permettrait de libérer de l'espace en MO multiplié sur la quantité d'utilisateurs dans
user_users
ayant tablespace comme undefault_tablespace
. De sorte qu'il fonctionne correctement que lorsque user_users contient exactement une ligne pour chaque adhésion d'un tablespace.OriginalL'auteur Emrah
créer un package en tant qu'utilisateur disposant des privilèges nécessaires. Vous pourriez avoir à créer un nouvel utilisateur. Grant EXECUTE sur le paquet à tout utilisateur qui en a besoin. Les paquets besoin d'avoir toutes les procédures et les fonctions nécessaires pour accéder à l'administrateur de base de la vue, mais qui doit être codé avec soin pour éviter accédant à "trop" d'informations. Vous pouvez écrire un deuxième paquet de mesures dans le compte d'un utilisateur non privilégié pour encapsuler la logique.
OriginalL'auteur redcayuga
C'est potentiellement très complexe, car il est tout à fait possible pour l'utilisateur:
Donc, sauf si vous avez un cas simple, vous devez être très conscient de la façon dont l'utilisateur interagit avec la base de données sur un niveau beaucoup plus profond, et de regarder l'espace libre de plus de la base de données point de vue holistique.
OriginalL'auteur David Aldridge