Sunteți pe pagina 1din 10

Espaces disques logiques ("tablespace")

Chap. 10, page 259 302 Du cot de l'instance, du point de vue logique, un tablespace accueille tous les ob ets logiques !les seg"ents de tables, d'inde#, $% de la base de donnes. Du cot du s&st'"e d'e#ploitation, le tablespace est un espace de stoc(age co"pos de un ou plusieu)s *ichie)s.

Les tablespaces permettent


+n "eilleu) cont),le de l'allocation de l'espace disque, soito .sole) des donnes du dictionnai)e /)acle des donnes applicatives. o Cloisonne) les donnes de plusieu)s applications *onctionnant dans la "0"e 1D. o 2eg"ente) le stoc(age des di**)ents t&pes d'ob ets !seg"ents de tables, d'inde#, $%. 3'tablisse"ent de quotas pou) li"ite) l'e#pansion des donnes pa) un utilisateu), 3e *)actionne"ent des op)ations de sauvega)de et de )estau)ation, ca) le tablespace est le plus petit niveau de sauvega)de4)estau)ation. .l est donc possible de )alise) des sauvega)des4)estau)ations pa)tielles. +n "eilleu) )ende"ent si ces tablespaces sont )pa)tis su) plusieu)s disques !5st)ipping5%. .l est alo)s possible de )pa)ti) la cha)ge des ent)es4so)ties a*in d'vite) les contentions !6goulots d't)angle"ent7% et d'aug"ente) la disponibilit des donnes.

3a gestion et les pe)*o)"ances de la base de donnes sont a**ectes di)ecte"ent pa) l'i"plantation et l'o)ganisation des tablespaces.

Les types de segments


1. 2. 3es seg"ents de tables et d8inde# !pe)"anent% 3es seg"ents d8annulation Ces seg"ents stoc(ent la valeu) p)cdente des colonnes "ises ou) ou un indicateu) en cas d'inse)tion d'une nouvelle ligne. 2i la session de l'utilisateu) est inte))o"pue avant qu'il n'ait pu "ett)e une co""ande commit ou rollback, l'op)ation est annule. 3es seg"ents te"po)ai)es .ls se)vent lo)s de t)is qui sont t)op lou)ds pou) 0t)e e#cutes dans la 9:;.

3.

Page 1

Le stockage physique
+n se)veu) /)acle dev)ait possde) au "ini"u" 10 disques !ce qui n8est pas souvent le cas%, utilisant une technologie de t&pe RAID0+1 !SAME: Strip and Mirror Everything%

RAID-0 ("Strip")
Double les pe)*o)"ances !en tho)ie% et *usionne tous les disques du)s en un seul disque logique pou) aug"ente) la capacit. .l *aut avoi) 2 disques du)s "ini"u". 3e <;.D 0 c) en *ait une pa)tition logique dont la taille est gale la so""e des disques intg)s dans le s&st'"e <;.D.

RAID-1 ("Mirror")
3e <;.D 1 est appel 5"i))o)ing5 ca) il *ait une copie pu)e et si"ple du p)e"ie) disque !donc pou) 2 disques d'une taille gale, on obtient un espace de stoc(age gal l'espace d'un seul disque%.

Gestion des extensions du tablespace


3a gestion de l'espace disque des *ichie)s de donnes d'une 1D /)acle )epose su) les concepts de seg"ent, d'e#tension et de bloc.

La gestion par le dictionnaire de donn es


3a gestion des e#tensions lib)es et alloues est cent)alise au sein du dictionnai)e de donnes. /)acle )eco""ande l8utilisation de tablespaces g)s locale"ent. .l est possible que la gestion pa) le dictionnai)e de donnes ne soit plus suppo)te pa) /)acle ventuelle"ent$

La gestion locale
3a gestion des e#tensions lib)es et alloues est dlgue chaque tablespace qui les stoc(e dans les en=t0tes des *ichie)s en *o)"at bit"ap. Index bitmap. +ne cha>ne de bits est utilise pou) chaque ca)dinalit !valeu) possible%. 3'inde# bit"ap contient # bit"aps, # tant la ca)dinalit. ?#e"ple3ib)e /ccup
0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0

Cette gestion )duit les )isques de contention pou) le tablespace 2@2A?B, ca) /)acle n'a pas besoin d'accde) au# tables du dictionnai)e de donnes pou) alloue) ou dsalloue) de l'espace un tablespace. .l & a donc Boins d8nonces 2C3 lies la "ise ou)s du dictionnai)e de donnes 3es e#tensions ad acentes lib)es sont auto"atique"ent identi*ies Dli"ine la *)ag"entation et le gaspillage des e#tensions de l8espace lib)e.

Page 2

Type de tablespace BIGFILE/SMALLFILE


Le !I"#IL$
3e tablespace de t&pe 51ig*ile5 est utilis pou) les bases atteintes de gigantis"e, *acilite) le t)avail du D1;, )dui)e le no"b)e de *ichie)s dans un tablespace, cono"ise) de l'espace dans la Eone 2:; et du *ichie) de cont),le, cas il & a "oins de *ichie)s de donnes suiv)e. ;vec un tablespace 1.:F.3?, un seul *ichie) de donne est allou avec une taille pouvant atteind)e G?o !e#aoctet H 2I0% et un "a#i"u" de 232 blocs.

Le tablespace traditionnel (SMALL#IL$)


Ce tablespace est co"pos de un ou plusieu)s *ichie)s de donnes. 2ouvent les *ichie)s sont su) des disques di**)ents. Ba#i"u" de 1 022 *ichie)s de donnes et de 222 blocs.

Les types de tablespaces


Les tablespaces permanents%
3es tablespaces SYSTEM !SYSTEM01.DBF% et SYSAUX !SYSAUX01.DBF% sont deu# tablespace pe)"anents. Aous les seg"ents utilisateu) qui doivent 0t)e conse)vs au=del d'une session ou d'une t)ansaction dev)aient 0t)e placs dans d8aut)es tablespaces. SYSTEM Contient p)incipale"ent le dictionnai)e de donnes. 3o)sque le tablespace 2@2A?B est g) locale"ent, les aut)es tablespaces de la 1D doivent l'0t)e gale"ent ou 0t)e placs en lectu)e seule. ;ucun seg"ent utilisateu) ne dev)ait 0t)e en)egist) dans ce tablespace. SYSAUX Contient les ob ets de l8usage) 2@2A?B et les *onctions d'ad"inist)ation et de collecte de donnes statistiques. 3o)sque les applications du 2@2;+J p)oduisent un goulot d't)angle"ent en )aison d'une *o)te contention ent)e ces applications, il est possible de dplace) ces applications dans un aut)e tablespace su) un aut)e disque. ;ucun seg"ent utilisateu) ne dev)ait 0t)e en)egist) dans ce tablespace.

Page 3

Les tablespaces temporaires


3o)squ'une )equ0te ncessite un t)i qui ne peut pas s'e#cute) en ""oi)e !dans la 9:;%, /)acle peut utilise) = un seg"ent te"po)ai)e c) dans n'i"po)te quel tablespace pe)"anent. K vite), puisqu8 chaque t)i, le seg"ent te"po)ai)e se)a allou et lib). Bauvais pou) la pe)*o)"ance et pou) la *)ag"entation. un seg"ent te"po)ai)e c) dans un tablespace te"po)ai)e. Dans ce cas, un seg"ent de t)i est c) pa) le 1e) t)i et )utilisable pa) les t)is suivants. Ce seg"ent est lib) unique"ent lo)s de l8a))0t de l8instance.

Ces )equ0tes peuvent p)oveni) de l'nonc 2C3 C<?;A? :3/1;3 A?B9/<;<@ A;13? ou d'noncs 2C3 contenant /<D?< 1@, :</+9 1@, D.2A.LCA, +L./L, .LA?<2?CA./L, B.L+2, C<?;A? .LD?J, 2/<A, B?<:? $ 9lusieu)s tablespace te"po)ai)es peuvent 0t)e en ligne et acti*s si"ultan"ent dans une base de donnes et contenu dans un g)oupe de tablespaces te"po)ai)es. Cette app)oche peut a"lio)e) le te"ps de )ponse pou) les applications dont les )equ0tes s8e#cutent )guli')e"ent en pa)all'le. Fai)e un g)oupe de tablespaces aide la pe)*o)"ance su)tout si plusieu)s disques du)s sont disponibles. +n tablespace te"po)ai)e un *onctionne"ent pa)ticulie) o 3es "odi*ications ne sont pas en)egist)es dans les *ichie)s de ou)nalisation4)edo= log. o ll ne peut pas 0t)e )eno"" ou dplac !doit le dt)ui)e et le )ec)e)%

Page M

Les tablespaces d&ann'lation (()D*)


3o)squ8une "odi*ication au# donnes est en cou)s, /)acle conse)ve ce)taines in*o)"ations qui se)ont utilises si la "odi*ication est annule. Ces in*o)"ations sont en *ait les valeu)s p)cdentes des donnes !6 be*o)e i"age 7%. 9a) e#e"ple, si une t)ansaction en cou)s "odi*ient les lignes d8une table et que celle=ci est *inale"ent annule !</331;CN%, alo)s /)acle se se)vi)a des in*o)"ations d8annulation pou) )eplace) les anciennes donnes leu) place. 28il & a un C/BB.A, l'espace occup se)a conse)v un ce)tain te"ps pou) une possible op)ation de Flashbac(. Ces in*o)"ations d8annulation sont sauvega)des dans des seg"ents d8annulation et donc dans un tablespace d8annulation. 3es "odi*ications au# blocs sont en)egist)es dans les *ichie)s de ou)nalisation. Ces in*o)"ations d8annulation sont utiliss pou) l8annulation de t)ansactions !</331;CN% la lectu)e coh)ente 3es donnes "odi*ies d8une t)ansaction en cou)s ne doit pas 0t)e vues pa) les aut)es utilisateu)s. les )equ0tes de Flashbac( la )cup)ation de la base de donnes !<?C/O?<% 9e)"et d8annule) des "odi*ications de blocs non valids qui ont d t c)ites dans les *ichie)s de donnes !voi) cou)s P2 = D1Qn%. +ne base de donnes peut suppo)te) plusieu)s tablespaces d8annulation, "ais un seul un d'ent)e eu# peut 0t)e acti* la *ois. +n tablespace d8annulation acti* ou qui contient des donnes d'annulation pou) une t)ansaction non valide, ne peut ni 0t)e dt)uit, ni 0t)e "is ho)s ligne. 3es e#tensions d'un tablespace d8annulation doivent 0t)e g)es locale"ent pa) le s&st'"e !?JA?LA B;L;:?B?LA 3/C;3 ;+A/;33/C;A?%. 3es pa)a"'t)es d'initialisation associs au# op)ations de )ecouv)e"ent sont +LD/RB;L;:?B?LA H ;+A/ +LD/RA;13?29;C? H +LD/A121 +LD/R<?A?LA./L H 900 secondes !donnes conse)ves pou) au "oins 900 sec.% 9ou) inte))oge) les pa)a"'t)es de la session actuelle, p)ovenant habituelle"ent du *ichie) de pa)a"'t)es, utilise) - 2S/Q 9;<;B?A?<2 ### ?#e"ple - 2S/Q 9;<;B?A?<2 +LA/RA;13?29;C?T

Page 5

$space d+ann'lation
3es op)ations n8ont pas toutes le "0"e poids en espace d8annulation .L2?<A o .l n8& a pas de 6 be*o)e i"age 7 +9D;A?4D?3?A? o 9lus la "odi*ication4supp)ession a**ecte les donnes, plus il & a d8in*o)"ations d8annulation

!i"ecti#es su" l$o"ganisation des tablespace pou" les applications


2@2A?B et 2@2;+J ne doivent pas conteni) de donnes utilisateu)s C)e)4;voi) au "ini"u" !en plus de 2@2A?B et 2@2;+J% +n tablespace d8annulation +n tablespace te"po)ai)e +n tablespace pe)"anent pou) les tables +n tablespace pe)"anent pou) les inde#. 2i possible )pa)ti) les *ichie)s de donnes su) des disques di**)ents pou) vite) les dlais de lectu)e4c)itu)e !disques di**)ents%. C)e) des tablespaces di**)ents en )eg)oupant les seg"ents pa) *onctionnalit pou) ;voi) plus de souplesse !dep9)oduction, dep;d"inist)ation$% <alise) des sauvega)des4)estau)ations pa)tielles !di**)ents tablespace%, Cont),le) la disponibilit des donnes !di**)ents tablespaces%. +tilise) des tablespaces dont la gestion des e#tensions est g) locale"ent !ent0te de *ichie)% et ce "0"e pou) le tablespace 2@2A?B. +tilise) un "ode de gestion auto"atique de la taille des e#tensions lo)sque l8on n8a pas une bonne vision des besoins.

Page I

Gestion des tablespaces pe"%anents et te%po"ai"es


3a gestion des tablespaces !c)ation, "odi*ication, supp)ession, $% est bien e#plique pa)ti) de la page 2I1 pou) les tablespaces pe)"anents, et pa)ti) de la page 2G2 pou) les tablespaces te"po)ai)es. Ooici un )su" des op)ations les plus i"po)tantes -

,r ation d+'n tablespace permanent


C<?;A? SMALLFILE ou BIGFILE A;13?29;C? nomTable !ace D;A;F.3? nomFic"ier 2.U? ### #EUSE ;+A/?JA?LD /FF /L L?JA ### B;J2.U? +L3.B.A?D ### $%ic"ier & ' ?JA?LA B;L;:?B?LA D.CA./L;<@ 3/C;3 ;+A/;33/C;A? +L.F/<B ### 2?:B?LA 29;C? B;L;:?B?LA B;L+;3 ;+A/ D?F;+3A C/B9<?22 L/C/B9<?22 3/::.L: ou L/3/::.L: F(#)E L(GGI*G F3;2S1;CN /L /FF /L3.L? ou /FF3.L?T Lote - ### est valeu) nu")ique, co""e - 350N, 100B, 1A ou 10: Exemple C<?;A? A;13?29;C? "onAablespace D;A;F.3? VC-4/)acle4o)adata4b554"onAbs01.db*8 2.U? 1: ;+A/?JA?LD /L L?JA 250B ?JA?LA B;L;:?B?LA 3/C;3 +L.F/<B 2.U? 10B 2?:B?LA 29;C? B;L;:?B?LA ;+A/T DATAFILE Fichie)!s% du tablespace.

Page W

3a section ;+A/?JA?LD pe)"et de d*ini) si un *ichie) peut g)ossi) ou pas lo)squ8il est plein. L?JA ### pe)"et de spci*ie) la taille suppl"entai)e que le *ichie) p)end)a. B;J2.U? est la taille "a#i"ale du *ichie). 2i <?+2? est utilis, alo)s le tablespace peut c)ase) un *ichie) de donnes e#istant, si celui=ci e#iste d . EXTENT MANAGEMENT ?st=ce que le tablespace est g) locale"ent ou pa) le dictionnai)e de donnes X .l est )eco""and de le *ai)e locale"ent. 9ou) les tablespaces g)s locale"ent, il est possible d8a oute) des e#tensions de taille uni*o)"e, "ais il est p)*)able pou) /)acle de le laisse) dcide) la taille qu8il alloue)a au# nouvelles e#tensions !autoallocate%. SEGMENT SPACE MANAGEMENT 9ou) les tablespaces g)s locale"ent seule"ent, cette clause pe)"et de d*ini) si la gestion de l8espace lib)e des seg"ents est auto"atique ou "anuel. ."aginons un bloc de donnes /)acle. Celui=ci poss'de plusieu)s in*o)"ations. 9a) e#e"ple, les lignes 3 10 de la table +2;:?<2. Cependant, ce bloc peut ne pas 0t)e co"pl'te"ent plein. /)acle poss'de donc deu# "canis"e de gestion de ces espaces lib)es. 3e "ode auto"atique est conseill pou) une "eilleu)e pe)*o)"ance. !p.3I5% DEFAULT 9e)"et de spci*ie) si les blocs du tablespace doivent 0t)e co"p)esss ou pas. ;lo)s que co"p)ess les blocs sont changs plus )apide"ent ent)e les *ichie)s de donnes et la cache de donnes, cela de"ande un t)avail suppl"entai)e pou) le C9+ lo)s de la "ise ou) des blocs. .l *aut note) qu8/)acle conse)ve la ve)sion co"p)esse du bloc en cache, puisqu8il est capable d8en *ai)e la lectu)e di)ecte"ent. LOGGING o NOLOGGING 9e)"et de spci*ie) le "ode de ou)nalisation de seg"ents qui n8ont pas de "ode d*ini. 9a) e#e"ple, doit=on ou)nalise) la c)ation ou la )econst)uction des inde#, la c)ation de tables pa) )equ0te X 9a) e#e"ple, si lo)s de la c)ation d8un inde# L/3/::.L: est spci*i, alo)s cette c)ation de seg"ent ne se)a pas en)egist)e dans les *ichie)s de ou)nalisation, "0"e si le tablespace est en "ode 3/::.L:. 3es op)ations qui suiv)ont se)ont cependant insc)it dans les *ichie)s de ou)nalisation !.L2?<A, D?3?A?, $%

Page G

2i la base de donnes ou le tablespace est "is en "ode F/<C? 3/::.L:, alo)s L/3/::.L: est igno)e et toutes les op)ations *ont une t)ace dans les *ichie)s de ou)nalisation. FO!CE LOGGING 2i le tablespace est en "ode F/<C? 3/::.L:, alo)s toutes les "odi*ications au tablespace se)ont en)egist)es dans les *ichie)s de ou)nalisation et ce, "0"e si ce)taines op)ations sont en L/3/::.L:. FLAS"#AC$ 9e)"et au tablespace de )eveni) un tat ant)ieu) !)elative"ent p)oche% lo)sque la base de donnes *ait un *lashbac(. F3;2S1;CN D;A;1;2? A/ 2CL 123M5IWT 3es in*o)"ations lies au *lashbac( du tablespace sont en)egist)es dans le tablespace d8annulation. 9ou) savoi) le te"ps de )tention "ini"u" des in*o)"ations d8annulation pou) un tablespace, utilise) 2S/Q 9;<;B?A?<2 D1RF3;2S1;CNR<?A?LA./LRA;<:?AT ONLINE % OFFLINE 9e)"et de spci*ie) si le tablespace est en ligne ou ho)s ligne ap)'s sa c)ation.

,r ation d+'n tablespace temporaire


C<?;A? BIGFILE (U SMALLFILE A?B9/<;<@ A;13?29;C? nomTem!Table !ace A?B9F.3? em!lacement+nomFic"ier SI,E --;+A/?JA?LD /FF /L L?JA ### B;J2.U? +L3.B.A?D J## $ %ic"ier&' ?JA?LA B;L;:?B?LA 3/C;3 +L.F/<B 2.U? ### Exemple & C<?;A? A?B9/<;<@ A;13?29;C? no"AbsAe"po)ai)e A?B9F.3? Vc-4$4t"p.db*8 2.U? 500B ;+A/?JA?LD /L L?JA 100B B;J2.U? 1:T

Page 9

Modi-ication des tablespaces


!enomme' n table(pa)e ;3A?< A;13?29;C? ancien <?L;B? A/ nou.eauT A*o te' n +i),ie' de donn-e( ;3A?< A;13?29;C? nomTable !ace ;DD D;A;F.3? em!lacement+nomFic 2.U? 100B ;+A/?JA?LD /FFT S pp'ime' n +i),ie' de donn-e( ;3A?< A;13?29;C? no"Aablespace D</9 D;A;F.3? em!lacement+nomFic"ierT Pla)e' n table(pa)e ,o'( li.ne ;3A?< A;13?29;C? nomTable !ace /FF3.L?T Pla)e' n table(pa)e en mode le)t 'e (e le ;3A?< A;13?29;C? nomTable !ace <?;D /L3@ !au lieu de <?;D Q<.A?%T

S'pprimer 'n tablespace


D</9 A;13?29;C? nomTable !ace .LC3+D.L: C/LA?LA2 ;LD D;A;F.3?2T Ce n8est pas une op)ation oY il & un </331;CN possible. K utilise) avec p)caution Z .l est gale"ent conseill de "ett)e le tablespace /FF3.L? avant de le supp)i"e).

Page 10

S-ar putea să vă placă și