Bonjour
quelle est la différence entre dba_tablespaces.segment_space_management MANUAL et AUTO ?
et peut on dire qu'un tablespace va grandir jusqu'a la taille maxi de ses datafiles si dba_data_files.autoextensible = YES ?
Version imprimable
Bonjour
quelle est la différence entre dba_tablespaces.segment_space_management MANUAL et AUTO ?
et peut on dire qu'un tablespace va grandir jusqu'a la taille maxi de ses datafiles si dba_data_files.autoextensible = YES ?
http://oracle.developpez.com/guide/a...lespaces/#L2.1
Non, les datafiles grandiront tant qu'il y a de la place sur les disques... note qu'un tablespace ne peut pas grandir... ce sont ses fichiers qui grandissent ;)Citation:
AUTO : permet de laisser la base gérer l'espace libre. Oracle ignore alors les paramètres PCTUSED, FREELIST et FREELIST GROUPS des objets du tablespace.
IL s'agit de la gestion de l'espace libre dans les blocs des segments:
auto: il y a une bitmap pour gérer l'espace libre dans les blocs
manual: il n' y a pas de bitmap mais des free lists qu'il faut parfois configurer s'il y a goulot d'étranglement.
Voir: http://download-uk.oracle.com/docs/c....htm#sthref523
Merci, pour vos réponses je ne comprends pas trop alors :
j'ai un TBS TBS1 qui est en segment space management manual avec ses dbf en auto extend, donc les fichiers doivent grandir tant qu'il y a de la place sur le serveur et il y en a !! :aie:
cependant j'ai l'erreur :
Code:
1
2
3ORA-01653: impossible d'étendre la table my_schema.ma_table de 1024 dans le tablespace TBS1
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
26
27
28
29
30
31
32 GO !>select * from dba_tablespaces 2 where tablespace_name = 'TBS1'; TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS ------------------------------ ---------- -------------- ----------- ----------- ----------- PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ ------------ ---------- --------- --------- --------- --- ---------- --------- --- ------ -------- TBS1 8192 65536 ¤ 1 2147483645 ¤ 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO MANUAL DISABLED Ecoulé : 00 :00 :00.00 GO !> GO !>select * from dba_data_files 2 where tablespace_name = 'TBS1'; FILE_NAME ---------------------------------------------------------------------------------------------------- FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS RELATIVE_FNO AUT ---------- ------------------------------ ---------- ---------- --------- ------------ --- MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ---------- ---------- ------------ ---------- ----------- /path1/my_base/TBS101.dbf 17 RISC 1363148800 166400 AVAILABLE 17 YES 2097152000 256000 2048 1363083264 166392 /path1/my_base/TBS102.dbf 18 RISC 10485760 1280 AVAILABLE 18 YES 2097152000 256000 2048 10420224 1272 Ecoulé : 00 :00 :00.00 GO !>
tu as un datafile à 1363148800 mais un maxblocks de 256000. Si tu as des blocs de 4k ça donne un max à 256000*4*1024=1048576000 < 1363148800
Donc, tu dois créer un nouveau datafile :)
d'accord je le comprends bien ca mais même en autoextend le datafiles ne peut pas s'étendre ?Citation:
Envoyé par Fred_D
Comment nous avons mis un maxblock à 256000 ?
ça ne peut pas s'étendre au dela des limites fixées par MAXBLOCKS ou MAXBYTES
Il me semble que c'est une valeur par défaut :)
Avec Oracle 9i, DBA_DATA_FILES.MAXBLOCKS ne semble pas être pas une valeur par défaut mais plutôt positionnée si on modifie le datafile avec les clause AUTOEXTEND ON et MAXSIZE:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production PL/SQL Release 9.2.0.6.0 - Production CORE 9.2.0.6.0 Production TNS for 32-bit Windows: Version 9.2.0.6.0 - Production NLSRTL Version 9.2.0.6.0 - Production SQL> SQL> column file_name format a50 SQL> SQL> drop tablespace test including contents and datafiles; Tablespace dropped. SQL> SQL> create tablespace test datafile 'D:\ORACLE\PRODUCT\ORADATA\ORCL9\TEST1.DBF' size 100M; Tablespace created. SQL> select file_name, maxblocks from dba_data_files where file_name like '%TEST 1%'; FILE_NAME MAXBLOCKS -------------------------------------------------- ---------- D:\ORACLE\PRODUCT\ORADATA\ORCL9\TEST1.DBF 0 SQL> SQL> alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\ORCL9\TEST1.DBF' autoext end on maxsize 100m; Database altered. SQL> select file_name, maxblocks from dba_data_files where file_name like '%TEST 1%'; FILE_NAME MAXBLOCKS -------------------------------------------------- ---------- D:\ORACLE\PRODUCT\ORADATA\ORCL9\TEST1.DBF 12800 SQL>