BD Oracle
Unitat: Administració remota de la BD
Tema: Administració de l'espai de disc amb l'Storage Manager
Introducció
-
El programa Storage Manager permet administrar de forma remota l'espai
en disc que utilitza l'Oracle, tant si és espai lògic (espais
de taules) com físic (fitxers).
-
Els tipus d'objectes que presenta són tres: Tablespaces,
Datafiles
i Rollback Segments.
-
Els Tablespaces són espais lògics on s'agrupen les
taules de la BD. Tota taula pertany a un únic Tablespace.
-
Els Datafiles són els fitxers físics que utilitza
Oracle per enmagatzemar els Tablespaces. Cada tablespace ocupa com a mínim
un Datafile.
-
Els Rollback Segments són fitxers on Oracle emmagatzema la
informació necessària per a fer un 'Rollback', que és
el procés de recuperar l'estat anterior a una transacció
errònia.
-
L'aspecte de l'Storage Manager quan despleguem els objectes el podeu veure
en la il·lustració següent:
Finestra de l'Storage Manager que mostra els espais
de taula, fitxers de dades i segments de rollback d'una BD
D'altre banda si repleguem els objectes visualitzen només els
tipus d'objectes i fem clic a sobre d'un d'ells, veurem l'ocupació
d'espai dels objectes que la composen:
Detalls dels espais de taules d'una BD: nom, estat,
grandària i gràfic de memòria utilitzada
Administració d'espais de taules i fitxers
de dades
En la fitxa de propietats General d'un espai de taules trobem:
-
Nom del tablespace
-
Estat: Online (actiu), Offline (no actiu, no s'utilitza), ReadOnly
(les taules que conté són només de lectura)
-
Finestra Datafiles: fitxers físics associats a l'espai de
taules. Ha de haber-ne un com a mínim. Movent la barra horitzontal
de desplaçament veurem el grandària del fitxer i un gràfic
de l'ocupació actual del fitxer de dades (datafile). Per afegir
un nou fitxer a l'espai de taules premem Add. Per modificar els
paràmetres d'un fitxer premem Edit. Per esborrar un datafile
premem Remove, però només el podrem esborrar si no
conté dades, en cas contrari primer l'haurem de buidar o bé
assignar a l'espai de taules un altre fitxer.
-
Type: Permanent (tablespace destinat a emmagatzemar dades
de forma permanent, és l'opció per defecte) o Temporary
(destinat a dades que normalment només es guarden durant una
sessió o transacció, normalment l'utilitzaran els programadors
PL/SQL per exemple per classificar dades).
-
En el cas de crear o editar un fitxer veurem una finestra com la següent:
Creació/Edició de fitxers en un espai de
taules
|
Fitxa General
Nom i ubicació del datafile (en el servidor, no en
l'estació de treball)
Espai de taules (camp no modificable)
Estat (no modificable)
File Size: grandària inicial que es reserva per el fitxer,
en Kb o en Mb. En l'exemple reservem 50 Mb per el fitxer TMP2.
Reuse Existing Datafile: si marquem aquest camp no es crea un fitxer
nou sinó que es buida un de ja existent per reutilizar-lo.
Fitxa Auto Extend
-
Enable Auto Extend: habilita al fitxer per que pugui créixer
de forma dinàmica si arriba a omplir-se. És una opció
interessant per evitar que Oracle tingui problemes per manca de disc, però
hem de tenir en compta que en el moment de créixer haurà
d'haver prou espai disponible en el disc.
-
Increment: quantitat d'espai de disc en que creixerà
el datafile quan calgui.
-
Maximum Extent: podem limitar l'espai màxim que pot ocupar
el datafile per successius auto increments. És interessant utilitzar
aquesta opció per evitar creixements desmesurats.
|
Fitxa Extents d'un espai de taules
-
L'espai físic que ocupa un espai de taules es mesura en extensions
(extents). Un espai de taules sempre ocupa un nombre enter
de extensions (1, 2, 3, etc.). De la mateixa forma que un fitxer pot créixer
segons les necessitats d'espai, també ho farà el tablespace
ampliant-se d'extensió en extensió. En aquesta fitxa trobem
les següents propietats:
Extensions físiques d'un espai de taules |
-
Initial Size: grandària inicial en Kb o Mb, és
a dir grandària de la primera extensió.
-
Next Size: grandària de la propera extensió (2ª,
3ª, etc.)
-
Minimum Size: grandària mínim del espai de taules (fins i
tot si no conté dades)
-
Increase Size By: l'espai de taules creixerà quan l'extensió
actual estigui plena en un 50% (valor per defecte)
-
Minimum Number: nombre mínim d'extensions que s'assignen
quan creem un objecte en el espai de taules. Valor per defecte: 1
-
Maximun Number: nombre màxim d'extensions que pot ocupar
un objecte en l'espai de taules. En l'exemple de la figura, una taula no
podrà ocupar més de 20 x 10240 Kb = 204800 Kb (200 Mb) en
aquest espai de taules.
|
Administració de Segments de Rollback
-
Els segments de Rollback es creen quan instal·lem la BD i són
propietat de l'usuari SYSTEM, és a dir que es tracta d'objectes
del sistema. Per tant per modificar-los haurem d'entrar amb l'usuari SYSTEM.
No obstant, com a administradors podem crear Segments addicionals de Rollback
i assignar-los a qualsevol espai de taules com veurem a la pràctica.
Posteriorment els programadors podran, si hem declarat el segment com a
públic, utilitzar-ho en els seus programes per realitzar els rollbacks.
Objectes dependents d'un espai de taules, d'un
fitxer o d'un segment de rollback
 |
Si premem el botó dret del ratolí a sobre
de qualsevol dels objectes de l'Storage Manager i triem l'opció
Show
dependències s'obrirà una finestra amb dues targetes.
-
Dependents: Visualitza els objectes Oracle que estan relacionats
amb l'objecte d'emmagatzematge seleccionat. Per exemple la figura mostra
una llista d'objectes (taules i un usuari) que estan relacionats amb l'espai
de taules NOTES. Això vol dir que aquestes taules estan contingudes
en NOTES i que l'usuari ORESTES té assignat com a tablespace per
defecte a NOTES.
-
Dependències: Visualitza els objectes dels quals depèn
l'actual. Per exemple en el cas d'un espai de taules visualitzarà
els fitxers de dades que conté.
|
Pràctiques
ATENCIÓ: Cal que respecteu els paràmetres de tamany
dels fitxers i espais de taules dels exercicis, doncs sereu molts administradors
que simultàniament creareu fitxers en un únic servidor i
per tant fàcilment podeu col·lapsar el sistema.
1. Crear un espai de taules anomenat espaiXX on XX
és el número d'usuari súper que utilitzeu (super01
crearà espai01, super02 crearà espai02,
etc.). Assignareu a aquest espai de taules un fitxer de dades anomenat
dadesXX (és a dir, dades01, dades02, etc.)
que haurà d'estar en el directori apropiat del servidor (fixeu-vos
on estan els altres tablespaces i copieu la ubicació). Els paràmetres
de l'espai de taules i del fitxer són:
Espai de taules: espaiXX
Fitxer de dades: dadesXX
Grandària inicial: 10Kb
Estat: online
Auto extensió: en increments de 5Kb, amb un límit de
100Kb
Fitxa Extents:
Initial Size: 10Kb
Next Size: 10Kb
Increase Size by: 75%
Minimum Number: 1
Maximum Number: 5
Questions:
Amb les dades anteriors, quin serà el tamany màxim en
Kb d'una taula situada en l'espai espaiXX? Quin serà el tamany
mínim? Quin és el tamany màxim de l'espai de taules?
Els usuaris que heu utilitzat per connetar-vos al domini NT no tenen
drets de creació de fitxers en el servidor, malgrat que l'usuari
utilitzat per conectar-vos a Oracle té drets d'administració
sobre la BD. Aleshores, com és que podeu crear fitxers de dades
en el servidor? Ho podreu fer en qualsevol directori del servidor?
2. Assigneu a un usuari de la BD que administreu l'espai espaiXX
com a espai de taules per defecte. Doneu drets de creació de taules
sobre l'espai. Conecteu-vos a l'Schema Manager amb aquest usuari.
Creeu una taula en l'esquema d'aquest usuari i des de SQL inseriu
algunes files en la taula. Comproveu aleshores:
a) que l'ocupació d'espai de la taula s´ha incrementat
en una extensió de 10Kb (perquè?)
b) que l'usuari que heu utilitzat i la taula que heu creat apareixen
com a objectes dependents de l'espai de taules espaiXX
3. Afegiu un segon fitxer físic anomenat dadesXX_2
al espai de taules espaiXX amb els mateixos paràmetres que
el primer fitxer que heu creat però en estat offline. Comprovar
aquest punt.
4. Amplieu l'espai del fitxer de dades dadesXX fins a
50 Kb.
5. Elimineu el fitxer de dades dadesXX_2 del'espai de taules
espaiXX.
6. Creeu un nou espai de taules espaiXX_2 al que assignareu el
fitxer dadesXX_2 (reutilització d'un fitxer de dades).