Maison  >  Article  >  Comment interroger la taille de l'espace table Oracle

Comment interroger la taille de l'espace table Oracle

zbt
zbtoriginal
2023-08-03 15:56:284747parcourir

Comment interroger la taille de l'espace table dans Oracle : 1. Utilisez la vue DBA_TABLESPACE. Cette vue stocke toutes les informations sur l'espace table, y compris le nom, la taille, l'espace disponible restant, etc. procédure DBMS_SPACE.SPACE_USAGE fournie par Oracle, cette procédure stockée renvoie des informations détaillées sur l'espace table, y compris la taille totale de l'espace table, la taille utilisée, l'espace libre restant, etc.

Comment interroger la taille de l'espace table Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 19c, ordinateur DELL G3.

Oracle est un système de gestion de base de données relationnelle très célèbre, qui fournit une méthode pratique pour interroger la taille de l'espace table. Dans Oracle, un tablespace est une structure logique dans une base de données qui stocke des tables, des index et d'autres objets.

Dans Oracle, il existe plusieurs façons d'interroger la taille d'un espace table. Ci-dessous, je présenterai deux méthodes couramment utilisées.

La première méthode consiste à utiliser la vue DBA_TABLESPACE. Cette vue stocke toutes les informations sur l'espace table, notamment le nom de l'espace table, sa taille, l'espace libre restant, etc.

Ce qui suit est un exemple d'instruction SQL pour interroger la taille de l'espace table :

SELECT tablespace_name,
ROUND(SUM(bytes) / 1024 / 1024, 2) AS "Size(MB)",
ROUND(SUM(bytes - freespace) / 1024 / 1024, 2) AS "Used(MB)",
ROUND(SUM(freespace) / 1024 / 1024, 2) AS "Free(MB)"
FROM (SELECT df.tablespace_name,
df.bytes,
SUM(fs.bytes) AS "freespace"
FROM (SELECT tablespace_name,
ROUND(SUM(bytes) / 1048576) AS bytes
FROM dba_data_files
GROUP BY tablespace_name) df,
(SELECT tablespace_name,
ROUND(SUM(bytes) / 1048576) AS bytes
FROM dba_free_space
GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name(+)
GROUP BY df.tablespace_name, df.bytes)
GROUP BY tablespace_name;

L'instruction de requête ci-dessus obtient les informations de taille de l'espace table en connectant les vues DBA_DATA_FILES et DBA_FREE_SPACE. Il affiche la taille de l'espace table en comptant le nombre d'octets et en le convertissant en mégaoctets (Mo).

Une autre méthode consiste à utiliser la procédure stockée DBMS_SPACE.SPACE_USAGE fournie par Oracle. Cette procédure stockée renvoie des informations détaillées sur l'espace table, notamment la taille totale de l'espace table, la taille utilisée, l'espace libre restant, etc.

Voici un exemple d'utilisation d'une procédure stockée pour interroger la taille d'un espace table :

SET SERVEROUTPUT ON;
DECLARE
total_size NUMBER;
used_size NUMBER;
free_size NUMBER;
BEGIN
DBMS_SPACE.SPACE_USAGE('TABLESPACE_NAME', total_size, used_size, 
free_size);
DBMS_OUTPUT.PUT_LINE('Total Size: ' || ROUND(total_size / 1024 / 1024, 2) || 
' MB');
DBMS_OUTPUT.PUT_LINE('Used Size: ' || ROUND(used_size / 1024 / 1024, 2) || ' 
MB');
DBMS_OUTPUT.PUT_LINE('Free Size: ' || ROUND(free_size / 1024 / 1024, 2) || ' 
MB');
END;
/

La procédure stockée ci-dessus transmet le nom de l'espace table en tant que paramètre à DBMS_SPACE.SPACE_USAGE et renvoie la taille totale, la taille utilisée et la taille restante libre espace de l’espace table. Les résultats de la requête peuvent être affichés sur la console à l'aide de l'instruction DBMS_OUTPUT.PUT_LINE.

Quelle que soit la méthode que vous utilisez, ces requêtes peuvent vous aider à comprendre la taille des espaces table dans votre base de données Oracle. En comprenant l'utilisation de l'espace table, vous pouvez mieux gérer et optimiser l'espace de stockage de votre base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn