Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2011, 18h16   #1
Invité de passage
 
Inscription : avril 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 20
Points : 1
Points : 1
Par défaut Objet ne pouvant plus s'étendre(DBA)

Bonjour,

je cherche la requete qui affiche :
- les objets ne pouvant plus s'étendre.

Cette requete concerne le DBA.

Merci
fille95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h46   #2
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
Cette requête te donne la place libre dans les tablespaces. Ceux qui sont plein ne pourront plus s'étendre et les objets à l'intérieur non plus... sauf si il y a un autoextend dessus.
Te reste plus qu'a regarder dans dba_segments les objets qui sont dans le tablespace qui t'interesse et le tour est joué.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
SELECT /* + RULE */  df.tablespace_name "Tablespace",
       df.bytes / (1024 * 1024) "Size (MB)",
       SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
       Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
       Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
  FROM dba_free_space fs,
       (SELECT tablespace_name,SUM(bytes) bytes
          FROM dba_data_files
         GROUP BY tablespace_name) df
 WHERE fs.tablespace_name (+)  = df.tablespace_name
 GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
       fs.bytes / (1024 * 1024),
       SUM(df.bytes_free) / (1024 * 1024),
       Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
       Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
  FROM dba_temp_files fs,
       (SELECT tablespace_name,bytes_free,bytes_used
          FROM v$temp_space_header
         GROUP BY tablespace_name,bytes_free,bytes_used) df
 WHERE fs.tablespace_name (+)  = df.tablespace_name
 GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
 ORDER BY 4 DESC;
IndianaAngus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h55   #3
Membre chevronné
 
Avatar de 13thFloor
 
Homme
DBA Oracle freelance
Inscription : janvier 2005
Messages : 558
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France

Informations professionnelles :
Activité : DBA Oracle freelance

Informations forums :
Inscription : janvier 2005
Messages : 558
Points : 718
Points : 718
Celle-ci devrait faire l'affaire :
Code :
1
2
3
4
5
6
7
8
9
col owner        FOR a10 wrap
col segment_type FOR a10 wrap
col segment_name FOR a20 wrap
col Mo           FOR 999,999,999
SELECT owner,segment_name,segment_type,bytes/1024/1024 "Mo"
FROM dba_segments
WHERE next_extent>
(SELECT max(bytes) FROM dba_free_space
WHERE tablespace_name = dba_segments.tablespace_name);
13thFloor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h14.


 
 
 
 
Partenaires

Hébergement Web