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.