Bonjour, avec la limite de 32 go pour la taille des fichiers pour chaque tablespace je voudrais savoir si quelqu'un aurait une requete pour lister les tablespaces qui aurait besoin d'ajouter un fichier pour qu'il puisse continuer a grossir ?
merci
Bonjour, avec la limite de 32 go pour la taille des fichiers pour chaque tablespace je voudrais savoir si quelqu'un aurait une requete pour lister les tablespaces qui aurait besoin d'ajouter un fichier pour qu'il puisse continuer a grossir ?
merci
ATTENTION : cette limite de 32 Go je ne la connais pas, tu sors ça d'où?
De mémoire, la taille max d'un datafile dans un tablespace est lié à deux choses :
1 - tablespace de type BIGFILE ou non : voir la Colonne BIGFILE de DBA_TABLESPACES.
2 - valeur du bloc size de ton tablespace (et non pas valeur du DB_BLOC_SIZE de ta base) : colonne BLOCK_SIZE de DBA_TABLESPACES
Un peu de lecture ici sur les limites de ta base : https://docs.oracle.com/database/121....htm#REFRN0042
Si tu as des tbs de type BIGFILE, ton datafile peut faire jusqu'à 128To (téra octets!) si je me souviens bien, donc tu devrais être tranquille pour un bout de temps
Si ton tbs est de type smallfile, avec un BLOCK_SIZE de 8Ko, peut-être que ton datafile fera 32Go max MAIS si ton BLOCK_SIZE fait 32ko, alors ton datafile fera 128Go max
Donc pour ta requête, je pense qu'il faut regarder dans DBA_TABLESPACE_USAGE_METRICS : https://docs.oracle.com/database/121...htm#REFRN23496
Attention, un pb sur le tbs UNDO est reporté ici : https://www.databasejournal.com/feat...ablespace.html
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Oui 32Go sur du Linux si tu choisis un db_block_size classique de 8k.
Il me semble que tu peux configurer une alerte dans Enterprise Manager pour un envoi de mail dès que ton tablespace atteint un certain pourcentage de sa taille limite.
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Oui, mais perso j'ai jamais vu des bases configurées avec un tbs autre que 8k. Oracle te dis qu'un tablespace avec un plus grand db_block_size peut avoir des avantages sur la perf, mais le peu de personnes avec qui j'ai discuté qu'ils l'ont utilisé m'on dit qu'ils n'avaient vu aucune différence!
Le vrai objectif n'est pas sur les perfs, si on utilise un tbs avec un bloc size différent, c'est pour faire du datapump entre deux bases qui ont justement des tbs avec des bloc size différents.
Base B1 : tous les tbs ont un bloc size de 8Ko
Base B2 : tous les tbs ont un bloc size de 4Ko
Pour faire du datapump entre B1 et B2, il faut créer dans B2 un tbs avec un bloc size de 8Ko et aussi une zone en SGA, dans le "Database buffer cache", de 8Ko.
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Email : http://scr.im/waldar
Effectivement, quand tu divises par 4 le nombre d'appels aux fonctions système pour lire un bloc... ça doit jouer sur les perfs.
Mais, j'insiste, de mémoire, en Oracle 10 l'introduction de la taille de blocs au niveau du tablespace était là pour des raisons liées à Datapump.
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Hello,
perso j'utilise
Tu ajoutes un filtre sur le USED PCT OF MAX % afin de ne lister que les tablespaces dont le % d'utlisation est supérieur à ce que tu choisis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 col name for a15 col "TOTAL(GB)" for 99,999,999.999 col "USAGE(GB)" for 99,999,999.999 col "FREE(GB)" for 99,999,999.999 col "EXTENSIBLE(GB)" for 99,999,999.999 col "FREE PCT %" for 999.99 col "USED PCT OF MAX %" for 999.99 col "NOTO" for 9999 col "OTO" for 999 select d.tablespace_name "NAME", d.contents "TYPE", nvl(a.bytes /1024/1024/1024,0) "TOTAL(GB)", nvl(a.bytes - nvl(f.bytes,0),0)/1024/1024/1024 "USAGE(GB)", nvl(f.bytes,0)/1024/1024/1024 "FREE(GB)", nvl((a.bytes - nvl(f.bytes,0))/a.bytes * 100,0) "FREE PCT %", nvl(a.ARTACAK,0)/1024/1024/1024 "EXTENSIBLE(GB)", nvl((a.bytes - nvl(f.bytes,0))/ (a.bytes + nvl(a.ARTACAK,0)) * 100,0) "USED PCT OF MAX %", a.NOTO, a.OTO from sys.dba_tablespaces d, (select tablespace_name, sum(bytes) bytes, sum(decode(autoextensible,'YES',MAXbytes - bytes,0 )) ARTACAK, count(decode(autoextensible,'NO',0)) NOTO, count(decode(autoextensible,'YES',0)) OTO from dba_data_files group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f where d.tablespace_name = a.tablespace_name(+) and d.tablespace_name = f.tablespace_name(+) and NOT (d.extent_management like 'LOCAL'and d.contents like 'TEMPORARY') UNION ALL select d.tablespace_name "NAME", d.contents "TYPE", nvl(a.bytes /1024/1024/1024,0) "TOTAL(GB)", nvl(t.bytes,0)/1024/1024/1024 "USAGE(GB)", nvl(a.bytes - nvl(t.bytes,0),0)/1024/1024/1024 "FREE(GB)", nvl(t.bytes/a.bytes * 100,0) "FREE PCT %", nvl(a.ARTACAK,0)/1024/1024/1024 "EXTENSIBLE(GB)", nvl(t.bytes/(a.bytes + nvl(a.ARTACAK,0)) * 100,0) "USED PCT OF MAX %", a.NOTO, a.OTO from sys.dba_tablespaces d, (select tablespace_name, sum(bytes) bytes, sum(decode(autoextensible,'YES',MAXbytes - bytes,0 )) ARTACAK, count(decode(autoextensible,'NO',0)) NOTO, count(decode(autoextensible,'YES',0)) OTO from dba_temp_files group by tablespace_name) a, (select tablespace_name, sum(bytes_used) bytes from v$temp_extent_pool group by tablespace_name) t where d.tablespace_name = a.tablespace_name(+) and d.tablespace_name = t.tablespace_name(+) and d.extent_management like 'LOCAL' and d.contents like 'TEMPORARY%' order by 3 desc;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager