Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
7 juin 2012 4 07 /06 /juin /2012 15:44

 

Taille réelle index dans Oracle.

Comment connaître la taille réelle des index dans Oracle.

Taille réellement utilisée d'un index avec DBMS_SPACE.

Pour voir l'espace réellement occupé par les index Oracle, on utilisera le package DBMS_SPACE avec la procédure OBJECT_SPACE_USAGE.

 

Calcul de la taille réelle des index dans Oracle.

Ce script nous fournira l'espace utilisé par l'index et l'espace alloué pour l'index Oracle.

 
  SQL> SET SERVEROUTPUT ON; SQL> DECLARE OBJECT_OWNER_in varchar2(30) := 'SCOTT'; OBJECT_NAME_in varchar2(30) := 'X_PHYNUM'; OBJECT_TYPE_in varchar2(30) := 'INDEX'; SAMPLE_CONTROL_in number := NULL; SPACE_USED_out number; SPACE_ALLOCATED_out number; CHAIN_PCENT_out number; BEGIN dbms_space.object_space_usage ( OBJECT_OWNER => OBJECT_OWNER_in , OBJECT_NAME => OBJECT_NAME_in , OBJECT_TYPE => OBJECT_TYPE_in , SAMPLE_CONTROL => SAMPLE_CONTROL_in , SPACE_USED => SPACE_USED_out , SPACE_ALLOCATED => SPACE_ALLOCATED_out , CHAIN_PCENT => CHAIN_PCENT_out ); dbms_output.put_line('Espace utilisé en Mo: ' || ROUND(SPACE_USED_out/1024/1024,2)); dbms_output.put_line('Espace alloué en Mo: ' || ROUND(SPACE_ALLOCATED_out/1024/1024,2)); END; / Espace utilisé en Mo: 481,77 Espace alloué en Mo: 536 Procédure PL/SQL terminée avec succès. SQL>  

Par création d'une procédure

 
  SQL> CREATE OR REPLACE PROCEDURE taille_reelle_index AS OBJECT_OWNER_in varchar2(30) := 'SCOTT'; OBJECT_NAME_in varchar2(30) := 'X_PHYNUM'; OBJECT_TYPE_in varchar2(30) := 'INDEX'; SAMPLE_CONTROL_in number := NULL; SPACE_USED_out number; SPACE_ALLOCATED_out number; CHAIN_PCENT_out number; BEGIN dbms_space.object_space_usage ( OBJECT_OWNER => OBJECT_OWNER_in , OBJECT_NAME => OBJECT_NAME_in , OBJECT_TYPE => OBJECT_TYPE_in , SAMPLE_CONTROL => SAMPLE_CONTROL_in , SPACE_USED => SPACE_USED_out , SPACE_ALLOCATED => SPACE_ALLOCATED_out , CHAIN_PCENT => CHAIN_PCENT_out ); dbms_output.put_line('Espace utilisé en Mo: ' || ROUND(SPACE_USED_out/1024/1024,2)); dbms_output.put_line('Espace alloué en Mo: ' || ROUND(SPACE_ALLOCATED_out/1024/1024,2)); END; / Procédure créée. SQL> SET SERVEROUTPUT ON; SQL> EXEC taille_reelle_index; Espace utilisé en Mo: 481,77 Espace alloué en Mo: 536 Procédure PL/SQL terminée avec succès. SQL>  

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Espace occupé par les index.

Partager cet article

Repost 0
Published by Oracle SQL - dans INDEX ORACLE
commenter cet article

commentaires