FILE MANAGEMENT OMF Allocation dynamique de tous les fichiers

Transcription

FILE MANAGEMENT OMF Allocation dynamique de tous les fichiers
File Managt
Claude DA COSTA
Chap 12 Page 1/21
FILE MANAGEMENT
OMF
Allocation dynamique de tous les fichiers de la base
TABLESPACES TEMPORAIRES
Temporaire par défaut autre que system
File Managt
Claude DA COSTA
Chap 12 Page 2/21
OMF
Objectifs :
Créer et maintenir DYNAMIQUEMENT les fichiers log, datafile et control file à la place du DBA.
Mise en oeuvre :
Activation :
data files...................db_create_file_dest
=répertoire
logs.......................
db_create_online_log_dest_grpnum1
=répertoire
db_create_online_log_dest_grpnumn
=répertoire
Ce mécanisme ne permet plus la répartition explicite des datafiles sur des unités systèmes distinctes. CE MECANISME PRESUPPOSE
L'EXISTENCE D'UN LOGICAL VOLUME MANAGER assurant le stripping des disques.
Standard mis en oeuvre : %t ---> tsname %u ---> unique ident %g ---> groupnum
Ÿ datafiles :
(db_create_file_dest)/
ora_%t_%u.dbf
Ÿ online logs :
(db_create_online_log_dest_grpnum)/ ora_%g_%u.log
Ÿ controlfiles
(db_create_online_log_dest_grpnum)/ ora_%u_ctlnum.ctl
Ÿ modif dynamique
alter system set db_create_file_dest='.../.../.../...'
Processus d'allocation :
Ÿ controlfiles et online logs dans
Ÿ datafile dans
Utilisation :
Ÿ ajout de groupe de logs
Ÿ suppression de groupe de logs
Ÿ création de tablespace
Ÿ
Ÿ
ajout de datafile à tablespace
suppression de tablespace
Ÿ
suppression de datafile temporaire
SCOPE=PFILE
(db_create_online_log_dest_grpnum, sinon dans db_create_file_dest)
db_create_file_dest
alter database add logfile
alter database drop logfile group grpnum
create tablespace ts
extent management local
autoallocate|uniform
alter tablespace ts
add datafile
drop tablespace ts
cascade constraints
including contents AND DATAFILES
alter database tempfile '...' drop including datafiles
File Managt
Claude DA COSTA
Chap 12 Page 3/21
RAPPEL SYNTAXE TABLESPACES GERES EN LOCAL
initial ...K
EXTE N T
EXTE N T
EXTE N T
EXTE N T
EXTE N T
D
mi
n
64
K
EXTE N T
64 ef :
K
()
default storage
autoallocate
PERMANENTS
"systemmanaged"
uniform
TEMPORAIRES
"uniformmanaged"
extent management local
size
create
tablespace
size K|M
ts
Def :
1M
'filenam e'
datafile
,
size n k/m
EXTE N T
EXTE N T
EXTE N T
EXTE N T
EXTE N T
File Managt
Claude DA COSTA
LES DEUX TYPES D'ERREUR ATTRIBUABLES AUX HUMAINS ET EVITES GRACE A OMF
groupe
groupe
redo log
redo log
redo log
redo log
Chap 12 Page 4/21
Même fichier utilisé par
deux bases différentes
datafile
Noms diférents pour
même fichier
datafile
BIEN VOIR :
NETTOYAGE DE FICHIERS :
Détruire A TORT des fichiers : le DBA prends traditionnelement beaucoup de temps à considérer le nettoyage des fichiers et à
prendre des précautions.
OMF : détruit les fichiers obsolètes ainsi que les redo log online
INTEGRATION DE FICHIERS :
Type d'anomalie 1 : un même fichier est placé à tort sur deux databases différentes
Type d'anomalie 2 : une database utilise des noms différents pour un même fichier
File Managt
Claude DA COSTA
OMF
Chap 12 Page 5/21
/
QUI FAIT QUOI ?
Repert_1
Le DBA ne préçise plus que les localisations (répertoires
DF_001
Oracle détermine automatiquement les noms de fichiers sur toutes
commandes de type add par exemple.
ora_ts1_da_user81.dbf
ora_ts1_db_user81.dbf
Repert_2
ACTIVATION DU DISPOSITIF OMF :
Repert_21
Le DBA active le dispositif en seulement déclarant ses répertoires de
datafiles dans le paramètres d'initialisation :
Ora_1_xfdon3 xx.log
Ora_2_xfdoo5m6.log
Ora_user81_01.ctl
db_create_file_dest
Repert_22
Dés lors, les fichiers log sont également pris en charge par OMF si
les paramètres
Ora_1_xfdon3gh.log
db_create_online_log_dest_grpnum
Ora_user81_02.ctl
sont positionnés.
Ora_2_xfdoo5k0.log
Repert_23
Ora_1_xfdon3q2 .log
Les archives obéïssent quant à elles, à un dispositif d'allocation
dynamique équivalent à OMF et qui n'est pas remis en cause.
DBA dans
son
domaine
Ora_2_xfdoo5 0x.log
OMF dans
son
domaine
OMF
QU'EST CE QU'OMF ?
OMF est un dispositif :
Ÿ qui s'occupe de créer et supprimer les fichiers à la place de l'utilisateur
Ÿ qui se traduit pour le DBA, par une DESCRIPTION D'OBJETS ORACLE, SANS SPECIFICATION DES FICHIERS OS SOUS
JACENTS :
Ÿ alter database add logfile
Ÿ alter tablespace ... add datafile
Ÿ Le DBA est chargé d'indiquer, uniquement les répertoires ou directory d'accueil des fichiers géés par Oracle/OMF
File Managt
Claude DA COSTA
OMF : DBA SIDE
Chap 12 Page 6/21
/
mkdir /Repert_1
Repert_1
mkdir /Repert_1/DF_001
DF_001
mkdir /Repert_2
ora_ts1_da_user81.dbf
mkdir /Repert_21
ora_ts1_db_user81.dbf
mkdir /Repert_22
mkdir /Repert_23
Repert_2
Repert_21
Ora_1_xfdon3xx.log
Ora_2_xfdoo5 m6.log
db_create_file_dest='/Repert_1/DF_001'
Ora_user81_01.ctl
db_create_online_log_dest_1='/Repert2/Repert_21'
Repert_22
Ora_1_xfdon3 gh.log
Ora_2_xfdoo5 k0.log
db_create_online_log_dest_2='/Repert2/Repert_22'
Ora_user81_02.ctl
Repert_23
db_create_online_log_dest_3='/Repert2/Repert_23'
Ora_1_xfdon3q2.log
Ora_2_xfdoo50x.log
OMF
COMPRENDRE :
L'activation du dispositif OMF s'effectue grace à la déclaration des répertoires d'accueil au travers des paramètres d'initialisation
db_create_file_dest et db_create_online_log_dest_<groupnum>.
Oracle sait donc que
Ÿ OMF doit être activé pour les datafiles
Ÿ OMF doit être activé pour les redo log
Ÿ OMF reconnaît les groupes de redo log correspondant à chaque répertoire grace à la convention
db_create_online_log_dest_<groupnum> :
Le DBA conserve ainsi la maîtrise du multiplexage des redo logs
File Managt
Claude DA COSTA
OMF : OMF SIDE
ora_
/
Repert_1
%t
%u
Chap 12 Page 7/21
.dbf
ora_ts1_da_user81.dbf
data file
ora_ts1_db_user81. dbf
DF_001
ora_ts1_da_user81.dbf
ora_ts1_db_user81.dbf
Repert_2
data file
ora_
%g
%u
.log
Repert_21
groupe
1
groupe
2
redo log
redo log
Ora_1_xfdon3xx.log
Ora_2_xfdoo5 m6.log
Ora_1_xfdon3xx.log
%t
tablespace
name
Ora_2_xfdoo5m6. log
Ora_user81_01.ctl
%u
Unique ident generé
%g
Group Num
Repert_22
Ora_1_xfdon3 gh.log
Ora_1_xfdon3gh. log
Ora_2_xfdoo5k0. log
redo log
redo log
redo log
redo log
Ora_2_xfdoo5 k0.log
Ora_user81_02.ctl
Ora_1_xfdon3q2. log
Ora_2_xfdoo50x. log
Repert_23
Ora_1_xfdon3q2.log
Ora_2_xfdoo50x.log
ora_
%u
.ctl
Ora_user81_01.ctl
OMF
ctlfile
Ora_user81_02.ctl
ctlfile
MNEMO :
Un datafile appartient à un tablespace et est unique dans ce tablespace : ora_%t% u.dbf
Un fichier redo log appartient à un groupe et est unique dans ce groupe : ora_%g%u.log
Un controlfile appartient à une instance et est unique dans l'instance :
ora_%u.ctl
File Managt
Claude DA COSTA
EXTRAIT ADMIN GUIDE
Chap 12 Page 8/21
The filenames of Oracle-managed files comply with the Oracle Flexible Architecture (OFA) standard for file naming. The assigned names
are intended to meet the following requirements:
Ø Database files are easily distinguishable from all other files.
Ø Control files, online redo log files, and datafiles are identifiable as such.
Ø The association of datafile to tablespace is clearly indicated.
No two Oracle-managed files are given the same name. The name that is used for creation of an Oracle-managed file is constructed from
three sources.
Ø The default file system directory location
Ø A port-specific file name template that is chosen based on the type of file
Ø A unique string created by the Oracle database server or the operating system.
This ensures that file creation does not damage an existing file and that the file cannot be mistaken for some other file.
As a specific example, filenames for Oracle-managed files have the following format on Solaris:
File Type
Datafile
Tempfile
Redo log file
Control file
Format
o1_mf_%t_%u_.dbf
o1_mf_%t_%u_.tmp
o1_mf_%g_%u_.log
o1_mf_%u_.ctl
Example
/u01/oradata/payroll/o1_mf_tbs1_2ixfh90q_.dbf
/u01/oradata/payroll/o1_mf_temp1_6dygh80r_.tmp
/u01/oradata/payroll/o1_mf_1_wo94n2xi_.log
/u01/oradata/payroll/o1_mf_cmr7t30p_.ctl
where:
Ø %t is the tablespace name. At most, eight characters of the tablespace name are used. If eight characters causes the name to be too
long, then the tablespace name is truncated. Placing the tablespace name before the uniqueness string means that all the datafiles
for a tablespace appear next to each other in an alphabetic file listing.
Ø %u is an eight character string that guarantees uniqueness
Ø %g is the online redo log file group number
On other platforms the names are similar, subject to the constraints of the platform’s naming rules.
Caution: Do not rename an Oracle-managed file. Oracle identifies an Oracle-managed file based on its name. If you rename the file, Oracle
is no longer able to recognize it as an Oracle-managed file and will not manage the file accordingly.
File Managt
Claude DA COSTA
OMF : EXPLOITABILITE
control_files=('.....')
Chap 12 Page 9/21
name
ctlfile
V$CONTROL F I L E
ctlfile
Ÿ status
Ø
Ø
ABSENT
inval i d
null
db_create_online_log_dest_1='/Repert2/Repert_21'
db_create_online_log_dest_2='/Repert2/Repert_22'
ctlfile
ctlfile
db_create_online_log_dest_3='/Repert2/Repert_23'
ctlfile
ABSENT S
db_create_file_dest='/Repert_1/DF_001'
ctlfile
ctlfile
CONNAITRE :
Ÿ OMF Respecte OFA
Ÿ OMF respecte la norme de l'OS (OS DEPENDANT)
Ÿ Les file name n'ont plus à être cités explicitement, notamment dans les scripts et les codes PL/SQL : représentés par OMFFILE
OMF accepte (comme méthode non préconisée), que le DBA crée, à la main, les fichiers dans le répertoire signalé par
db_create_file_dest.
Dés lors que le paramètre db_create_file_dest est positionné, OMF est actif, y compris pour les redo log. En l'absence de
db_create-online_log_dest_grpnum, les fichiers logs sont créés dans le répertoire signalé par db_create_file_dest.
Les fichiers de contrôle sont pris en charge par OMF :
Si le paramètre control_files est absent
Ÿ Dans les répertoires désignés pour les logs (db_create_online_log_dest_x) : OFA intègre le multiplexage des ctlfile sur les mêmes
volumes que ceux contenant les redo log et je suppose qu'ils sont créés à concurrence du nombre de localisations dest_x
déclarées..
Ÿ Qui met à jour le fichier de paramètres SI CELUI UTILISE EST DE TYPE PERSISTANT (dans le cas inverse, le DBA peut toujours
retrouver le nom complet des fichiers ctl dans la vue V$CONTROLFILE(name) pour insertion dans le fichier de paramètres non
persistant).
OM
F
File Managt
Claude DA COSTA
OMF : AJOUT / SUPPRESSION DE FICHIER REDO LOG
alter
database db
alter
database db
drop
logfile
AJOUT DE GROUPES DE LOGS
logfile
alter
database db
add
SUPPRESSION DE
GROUPES
group n
AJOUT DE GROUPES DE LOGS
OM
F
NO
N
add
Chap 12 Page 10/21
(,
,
logfile
group
n
'filename '
size n K/M
reuse
SUPPRESSION DE GROUPES
alter
database db
drop
logfile
,
group
(,
'
filename
n
'
)
CONNAITRE :
Dans le respect des normes OFA et compte tenu du nombre de localisations pour les fichiers redo log,
Ÿ OMF permet de limiter l'opération d'ajout de log à la seule commande alter database add logfile : un fichier log est ajouté à chaque
groupe existant avec la même taille que les logfile présents.
Ÿ OMF permet de limiter l'opération de suppression de groupes entiers (et non pas de logfile puisque non OFA), à la seule commande
alter database drop logfile group n.
File Managt
Claude DA COSTA
OMF : CREATION DE TABLESPACES ET AJOUT DE DATAFILES A TABLESPACE EXISTANT
autoallocate
PERMANENTS
"systemmanaged"
uniform
TEMPORAIRES
"uniformmanaged"
Chap 12 Page 11/21
extent management local
size
create
tablespace
size K|M
ts
OMF ASSUMED
'ora_%t_%u_.dbf'
datafile
,
size
100M
autoextend
on
unlimited
CONNAITRE :
Ÿ Dans la mesure ou OMF sait générer dynamiquement les datafiles à partir de db_create_file_dest sur la règle ora_%t_%u_.dbf,
Il n'y a plus lieu de préçiser de clause DATAFILE dans la commande CREATE TABLESPACE tsname.
Ÿ Cependant, les tailles de datafiles doivent être adoptées par défaut : 100 Mb et mode autoextend.
File Managt
Claude DA COSTA
OMF : AJOUT DE DATAFILE A UN TABLESPACE
alter
tablespace
Chap 12 Page 12/21
OMF ASSUMED
ts
'ora_%t_%u_.dbf'
add
datafile
size
100M
autoextend
on
unlimited
CONNAITRE :
Ÿ De la même façon que pour un create tablespace, un alter tablespace add datafile n'est plus affublé des paramètres relatifs au
taillage.
File Managt
Claude DA COSTA
NON OMF et OMF : DROP DE TABLESPACE
tablespace
ts
cascade constraints
NO
N
OM
F
drop
including contents
Chap 12 Page 13/21
POUR SUPPRIMER LES
DATAFILES DANS LA FOULEE
nouveau 9i pour
non OMFs
and datafiles
ORACLE "SUPPRIME" DE LA
BASE (ptr sur fichier CTL)
tablespace
ts
OM
F
drop
cascade constraints
OMF ASSUMED
including contents
and datafiles
SAVOIR :
Ÿ En allocation manuelle, le drop de tablespace entraîne la suppression
including contents and datafiles est positionnée.
des fichiers correspondants si la clause
Ÿ Si fichiers GERES par OMF, la clause AND DATAFILES n'est plus obligatoire, la suppression des datafiles se fait d'office.
File Managt
alter
Claude DA COSTA
OMF : MODIFICATION DYNAMIQUE DE DB_CREATE_FILE_DEST
system
set
db_create_file_dest='.../.../...'
Chap 12 Page 14/21
scope=SPFILE
AUCUNE MODIF SUR FICHIERS EXISTANT
NE CONCERNE QUE LES FUTURES ALLOCATIONS
File Managt
Claude DA COSTA
Chap 12 Page 15/21
Creating Oracle-managed Files
Examples
The following example sets the default location for datafile creation and creates a
tablespace with a datafile in the default location. The datafile is 100M and is autoextensible
with an unlimited maximum size:
ALTER SYSTEM SET DB_CREATE_FILE_DEST = ’$ORACLE_HOME/rdbms/log’;
CREATE TABLESPACE omf_ts1;
The following example creates a tablespace with an Oracle managed datafile of
100M that is not autoextensible:
CREATE TABLESPACE omf_ts2 DATAFILE AUTOEXTEND OFF;
File Managt
Claude DA COSTA
OMF : SUPPRESSION DE DATAFILES
drop
tablespace
ts
RA
PP
EL
Chap 12 Page 16/21
OMF SUPPRIME REELLEMENT
LES DATAFILES
cascade constraints
E
I
ER AUSS
G
S
F
OM SION, TAFILE
F
RES R DA N OM
P
P
SU POU E NO
N
U
BIE MF Q
O
alter
including contents
SAVOIR :
database
tempfile
'ficname'
drop
including datafiles
DDF NE CONTROLE PAS LA
BONNE FIN OS DE
L'OPERATION DE
SUPPRESSION.
DDF LA CONSIDERE
TOUJOURS REUSSIE
DDF DOIT EMETTRE EN
AVEUGLE ET NE PAS
INTERPRETER LE RETOUR.
TOUJOURS VERIFIER
DONC.
CONNAITRE :
Pour gérer la suppression de fichiers OMF, un dispositif spécifique existe : DDF ou DELETE DATAFILE FEATURE.
Le DDF ajoute des fonctionalités à l'alter database add tempfile.
Les datafile temporaires sont nouveaux en 9i. Ils sont traités dans une leçon spécifique. Pour l'instant, on retient que les datafiles
temporaires sont raccrochés à la database (d'où usage de alter database), comme les datafiles sont raccrochés à des tablespaces (doù
usage de alter tablespace).
Toutes les façons de supprimer des datafiles, directes ou indirectes, sont assumées par les nouveaux dispositifs :
Ÿ drop tablespace including contents and datafiles
Ÿ alter database tempfile drop including datafiles
File Managt
Claude DA COSTA
Chap 12 Page 17/21
TABLESPACE TEMPORAIRE
RETENIR :
Ÿ Il s'agit d'un tablespace d'un type SUPPLEMENTAIRE destiné à ASSUMER LA FONCTION DE TABLESPACE TEMPORAIRE
PAR DEFAUT A LA PLACE DU TABLESPACE SYSTEM.
Ÿ La conséquence est que le tablespace system est PROTEGE des opérations de TRI, HASH JOIN, BITMAP MERGE et
BITMAP CREATE débordant sur disque et exécutées sous des schémas n'ayant pas de TEMPORARY TABLESPACE
défini.
Ÿ On l'appelle aussi le
WIDE TABLESPACE TEMPORARY
Ÿ Il ne peut être que
LOCALY MANAGED UNIFORM.
Ÿ IL A OBLIGATOIREMENT LE BLOCKSIZE STANDARD
db_block_size
Ÿ Il est défini
Ÿ à la CREATION DE LA DATABASE:
create database ...
default temporary tablespace wtdtname
tempfile 'filname '
extent management local uniform
ATTENTION
Ÿ ou par MODIFICATION DE LA DATABASE :
alter database ...
default temporary tablespace wtdtname
Ÿ Au cas où il n'aurait pas été défini de WTST à la création de la database, une alerte sera émise dans ALERT.LOG car
Oracle considère que c'est une situation non conforme. Dans cette situation, le tablespace SYSTEM reprend le rôle de
DATABASE_PROPERTIES
temporary tablespace par défaut.
SUIVI :
Ÿ
property_name
Ÿ
Ÿ
property_value
description
Ø
DEFAULT_TEMP_TABLESPACE
File Managt
Claude DA COSTA
Chap 12 Page 18/21
CREATION DU WTST A LA CREATION DE LA DATABASE
create
database
dbname
.......................................................................
default
temporary tablespace
ATTENTION : TEMPFILE
ET NON PAS DATAFILE
tsname
'filename'
tempfile
size n k/m
TEMPORAIRES
"uniformmanaged"
extent management local
uniform
Def :
1M
EXTENT
EXTENT
size
size K|M
SAVOIR :
Ÿ
Il n'existe pas de moyen d'ajout puisque le WTST défini est unique : il existe ou pas.
Ÿ
Ce WTST ne peut être "droppé" sauf aprés avoir laissé sa place de TS TEMPORARY à un autre TS (c'est à dire de se retrouver en
position de simple TS.
Ÿ
Il est impossible que WTST soit de type permanent.
Ÿ Un WTST ne peut être mis "OFFLINE"
Ÿ
La création du WTST peut se faire au CREATE DATABASE (clause identique à celle de création d'un TS "uniform managed", au mot
clef TEMPFILE prés (au lieu de DATAFILE).
File Managt
Claude DA COSTA
AFFECTATION D'UN WTST SUITE A LA CREATION DE LA DATABASE
create
temporary
tablespace
TEMPORAIRES
"uniformmanaged"
ATTENTION : TEMPFILE
ET NON PAS DATAFILE
tsname
' filename'
tempfile
Chap 12 Page 19/21
size n k/m
extent management local
uniform
Def :
EXTENT
EXTENT
1M
size
alter
database
size K|M
default temporary tablespace
tsname
BIEN VOIR :
ON CREE UN TABLESPACE TEMPORAIRE
puis,
ON LE DECLARE A LA DATABASE
ensuite, seulement, on peut DROPPER l'éventuel TEMPFILE précédemment affecté
File Managt
Claude DA COSTA
SUPPRESSION DE FICHIERS TEMPORAIRES
create
temporary
tablespace
Chap 12 Page 20/21
tsname
' filename'
tempfile
size n k/m
extent management local
uniform
size
alter
database
alter
database
size K|M
default temporary tablespace
tempfile
tsname
'ficname'
drop
including datafiles
File Managt
Claude DA COSTA
Chap 12 Page 21/21
VERIFIER LA PRESENCE D'UN TEMPORAIRE 'NON SYSTEM'
DATABASE_PROPERTIES
Ÿ
property_name
Ÿ
Ÿ
property_value
description
Ø
DEFAULT_TEMP_TABLESPACE
Users can obtain the name of the current default temporary tablespace using the DATABASE_PROPERTIES
Ÿ
The PROPERTY_NAME column contains the value "DEFAULT_TEMP_TABLESPACE"
and
Ÿ the PROPERTY_VALUE column contains the default temporary tablespace name.
view.

Documents pareils