Etant adepte de la gestion d'Oracle "pour les barbus" (les utilisateurs de vi et autres ldapvi me comprendront) je réalise la plupart des opération des DBA avec SQLPLUS.

Pour info, sqlplus est un outil en ligne de commande qui ne fait que du SQL, et il le fait bien.

Bon, ceci dit les points que j'aimerai détailler sont les suivants :

  1. savoir combien d'espace il reste au niveau des tablespaces
  2. avoir quels datafiles utilise un tablespace particulier
  3. ajouter un datafile à un tablespace

... rien de super sorcier, mais des tâches courantes que je partage, donc action !

Savoir combien d'espace il reste dans les tablespaces

C:\> sqlplus /nolog
SQL> connect sys/mot_de_passe@mabase_tns;
SQL> select A.tablespace_name,A.alloue,B.occupe,C.libre from
(select tablespace_name,sum(bytes)/1024/1024 as ALLOUE from dba_data_files group by tablespace_name) a,
(select tablespace_name,Sum(bytes)/1024/1024 as OCCUPE from dba_segments group by tablespace_name) b,
(select tablespace_name,Sum(bytes)/1024/1024 as LIBRE from dba_free_space group by tablespace_name) c
where b.tablespace_name=a.tablespace_name
and c.tablespace_name=b.tablespace_name;

Pas compliqué en fait, et super pratique et surtout rapide !

Savoir quels datafiles utilise un tablespace particulier

SQL> select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 Taille_Mo from dba_data_files where tablespace_name like 'mon_tablespace';

TABLESPACE_NAME         FILE_NAME                  TAILLE_MO
----------------        ---------                  ---------
SYSTEM01                 D:\TBS\SYSTEM_01.DBF      2048
SYSTEM02                 D:\TBS\SYSTEM_02.DBF      1024

Par exemple, si je remplace mon_tablespace par SYSTEM, je sais quels fichiers sont utilisés par le tablespace système, et c'est pratique (quoique dans ce cas c'est juste évident.

Ajouter un datafile à un tablespace

Si on manque d’espace, on ajoutera par exemple un nouveau fichier ‘D:\TBS\SYSTEM_03.DBF’ (suite logique vis-à-vis des informations récupérées). On fera un fichier de 4Go par exemple (pour le rendre compatible avec des partitions FAT32. Il faut donc qu’il y ait au moins 4Go de libres sur le disque dur D:\

SQL> ALTER tablespace SYSTEM ADD datafile 'D:\TBS\SYSTEM_03.DBF' SIZE 4G;

Bon, là c'est ce qu'il y a de plus basique mais cette méthode est éprouvée et facile à suivre.