You are on page 1of 427
Ressources Informatiques Oracle 10g Administration Olivier HEURTEL ~Y INFORMATIQUE TECHNIQUE Toutes les marques citées ont été déposées par leur éditeur respectif. La loi du 11 Mars 1957 n‘autorisant aux termes des alinéas 2 et 3 de l'article 41, d'une part, que les "copies ou reproductions strictement réservées a l'usage privé du copiste et nan destinges a une utilisation collective", et, d'autre part, que les analyses et les courtes citations dans un but d’exemple et diillustration, “toute représentation ou reproduction intégrale, ou partielle, faite sans le consentement de l'auteur ou de ses ayants droit ou ayant cause, est illicite" (alinéa ler de l'article 40). Cette représentation ou reproduction, par quelque procédé que ce soit, constituerait done une contre-fagon sanctionnée par les articles 425 et suivants du Code Pénal. Copyright - Editions EN! - Mars 2005. ISBN : 2-7460-2778-X Imprimé en France Editions ENI BP 32125 44021 NANTES CEDEX 01 Tél. 02.51.80.15.15 Fax 02.51.80.15.16 ‘e-mail : editions@ediENI.com hittp:/Awww.editions-eni.com Auteur : Olivier HEURTEL Collection Ressources Informatiques dirigée par Joélie MUSSET Les exemples cités tout au long de cet ouvrage sont téléchargeables a I'adresse suivante : http://www.editions-eni.fr/exemples Cliquez ensuite sur le nom de la collection puis sur le titre de I’ g Introduction Chapitre 1 A. Objectifsde louvrage 2 we 8 B.__ Présentation d‘Oraclel0g..... . 2. ss 8 cc : he i Les bases de Il’architecture Oracle Chapitre 2 A.__Présentation générale... 1... .-.........- 15 B. Labasededonnées ........... soneean, 18 C. Linmstance 2 6. ee 24 D. L’administrateur de base de données .......... 36 E. Ledictionnaire de données... 1.2... 200.004 40 L'installation Chapitre 3 A. Installation du serveur... 0.2.2... 20..000- 44 B. Installation duclient ........ 2.2.2.0... 008 73 Oracle 10g - Administration ze «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Table des matiéres D.__Automatisation et scripts... . ee 130 E. Problémes courants et solutions ............ 134 Création d'une nouvelle base Chapitre 7 de données A. Vued’ensemble ....... 2-0-2 e eee eee 139 B. Création de la base de données alamain........ 141 C. Création de la base de données a l'aide de l'assistant graphique... .......... 176 Gestion de I‘instance Chapitre 8 A. Gestion des paramétres dinitialisation. ......... 194 B. Gestion dynamique de lamémoire .........2.2. 200 Gestion des fichiers de contréle Chapitre 9 et de journalisation A. Gestion des fichiers de contrile............. 210 B. Gestion des fichiers de journalisation .......... 213 Oracle 10g - Administration el «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. >) Chapitre 1 : Introduction A. Objectifs de 'ouvrage 2... ee ee 8 B. Présentation d’OraclelOg . 2... 2.2 ee eee ee 1. Produits et gammes 2. Principales nouveautés de la version 10 cc ioneaeest el «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (© Ecitiens EFM - All sights reserved Introduction C. Conventions d’écriture Cet ouvrage utilise les conventions d’écriture suivantes pour les ordres SQL, Jes commandes SQL*Plus et les commandes RMAN : MOT EN MAJUSCULES Mots clés de la commande (CREATE TABLE). Dans la pratique, ils peuvent étre saisis indifféremment en majus- cules ou en minuscules. mot en minucules Valeurs 4 saisir, relatives A la base de données ou a |'application (nom de table, nom de colonne, etc). Dans {a pratique, elles peuvent étre saisies indifféremment en Mmajuscules ou en minuscules, sauf si elles figurent entre apostro- phes (dans ce cas, elles sont sensibles a la casse), u Clause optionnelle. Lied La clause précédente peut étre répétée plusieurs fois. | Indique un choix entre plusieurs options. () Délimite une liste d’options, mot souligné Valeur par défaut. Par ailleurs, l'ouvrage fait trés souvent référence @ des variables d'environnement du sys- téme d'exploitation. Dans ce cas, les notations Windows et Unix/Linux sont utilisée : - Windows : *VARIABLES: ~ Unix/Linux ; $VARIABLE Parfois, l'ouvrage fait aussi référence 4 des chemins, des noms de fichiers, des noms de menus qui peuvent contenir une chaine de caractéres correspondant 4 une valeur spécifique de votre environnement, que vous avez pu définir par exemple lors d'une installation. Dans ce cas, la chaine a substituer avec la valeur correspondant & votre environnement est mise en italique, et parfois méme entre les signes < et > s'il y a ambiguité, Exemple : OracleServiceSID ou OracleService Et pour terminer, l’éternelle question : que faut-il faire des termes techniques en anglais ? Les traduire ou pas ? Dans les commandes, les termes techniques sont en anglais, d'ou la Nécessité de les connaitre. Si vous utilisez les outils graphiques en frangais, vous constate- rez que beaucoup de ces termes ont été traduits, ce qui est parfois déroutant (d'autant que Certaines traductions sont un peu “bizarres"). Dans cet ouvrage, j'ai donc tenté de donner les correspondances systématiquement, mais en essayant de ne pas trop alourdir mon propos. Oracle 10g - Administration [iif «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. {© Editions ENA «All rights resereed Les bases de l’architecture Oracle A. Présentation générale 1. Notions d'instance et de base de données Do rewesns instance ‘Dasahase Buller Cache SS p D2 0b BO Fichior de Fichier(s) de donner Groupes de fichier parametres de ourmaisaton [Base de données DB_NAME Un serveur Oracle comporte deux éléments distincts, I'instance et la base de données, La base de données se compose d'un ensemble de fichiers physiques qui contiennent notamment les données. Linstance se compose d'une structure de mémoire partagée et d'un ensemble de processus. Ces deux éléments sont intimement liés mais doivent étre bien distingués. De maniére imagée, il est possible de considérer que |'instance représente une application (par exemple Microsoft Word) et la base de données le document (par exemple un docu- ment Microsoft Word) ; pour pouvoir accéder 4 la base de données (I'équivalent du docu- ment Microsoft Word), il faut l'ouvrir avec une instance Oracle (I'équivalent de |'application Microsoft Word). Une instance ne peut ouvrir qu'une base de données a la fois et, dans la grande majorité des cas, une base de données est ouverte par une seule instance. Néanmoins, moyennant la mise en ceuvre de l'option Real Application Cluster (RAC), une base de données peut tre ouverte par plusieurs instances situées sur des noeuds distincts d'un cluster de ser- veurs ; cette option RAC est intéressante pour la haute disponibilité. Un fichier de paramétres est utilisé par l'instance lors de son démarrage pour se configurer et faire le lien avec la base de données. Oracle 10g - Administration Ba «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions Efi! - Ail rights reserved Les bases de I'architecture Oracle Pour des raisons de sécurité, il est donc conseillé de multiplexer le fichier de contrdle, c'est-a-dire d’en avoir plusieurs copies gérées en miroir (multiplexées) par Oracle. Techni- quement, il est possible de créer une base de données. avec un seul fichier de contrdle mais il est vivement conseillé d'utiliser plusieurs copies, méme si le serveur ne comporte qu'un disque (cela met a l'abri d'une suppression accidentelle), Plusieurs fichiers de controle peuvent étre spécifiés lors de la création de la base (chapi- tre 7) ou ultérieurement (chapitre 9). 2. Fichier de journali: Les fichiers de journalisation (redo /og) enregistrent toutes les modifications apportées a la base de données. Ils sont organisés en groupes écrits de maniére circulaire ; les informa- tions sauvegardées sont donc périodiquement écrasées. Les fichiers de journalisation sont utilisés pour la récupération de |'instance aprés un arrét anormal et pour la récupération de média si un fichier de données est perdu ou endomma- gé ; dans ce cas, ils sont appliqués 4 une sauvegarde de fichier de données, pour rejouer toutes les modifications survenues entre la sauvegarde et l'incident ayant endommagé le fichier. Les fichiers de journalisation sont organisés en groupes (au minimum 2) composés d'un ou de plusieurs membres (minimum un) ; ils sont créés lors de la création de la base (chapi- tre 7). A l'intérieur d'un groupe, les membres sont écrits simultanément en miroir par l'ins- tance Oracle (processus LGWR) et contiennent la méme information. Tous les membres d'un groupe ont la méme taille définie lors de ta création du groupe ; un fichier de journali- sation contient donc une quantité maximale d'informations. De méme, le nombre de grou- pes est déterminé ; il n'augmente pas dynamiquement. Lorsqu’un groupe est plein (c’est-2-dire lorsque les membres sont pleins), I'instance Oracle passe au groupe suivant et ainsi de suite jusqu’au dernier ; lorsque le dernier groupe est plein, l'instance Oracle repasse au premier, Le passage d'un groupe a un autre est appelé basculement (switch). Gegel (— Oo) icameae |_Menbr2a Meh t) Menke? | Membre2) Membre 2 Lorsque !'instance Oracle revient dans le premier groupe, elle pienlar groupe, 6b: 6crase les Ihformatiana quiy sont stockées ; ces informations ne sont donc plus disponibles en cas de besoin, par exem- ple pour une récupération de média. Pour garantir cette possibilité d'effectuer des récupéra- tions complates, il faut activer le mécanisme d'archivage (chapitre 14) qui permet d'archi- ver les fichiers de journalisation (en |’occurrence un membre du groupe) lorsqu’ils sont pleins, avant que I’instance ne les réutilise. Oracle 10g - Administration Ee «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Ecitions EN + All rights reserved Les bases de I’architecture Oracle (répartition des entrées/sorties notamment). Pour fonctionner, ASM utilise une instance spé- ciale (instance ASM). Lors de l'utilisation d'un systéme de fichiers, il est conseillé d'utiliser plusieurs disques. Cela permet d'améliorer les performances en répartissant les entrées/sorties, et d’améliorer la sécurité en multiplexant les fichiers de contréle et les fichiers de journalisation. Par ailleurs, beaucoup de nouvelles fonctionnalités de la version 10, relatives a la sécurité des données, aux sauvegardes et aux restaurations, sont basées sur la mise en place d'une zone de récupération rapide (flash recovery area), Cette zone de récupération rapide peut @tre stockée dans un systéme de fichiers ou a l'aide d'ASM. Dans le cas de I'utilisation d'un systéme de fichiers, i] est conseillé d’utiliser un disque séparé des disques contenant les données, car c’est la destination par défaut des sauvegardes. 5. Notion de schéma Le terme schéma désigne |’ensemble des objets qui appartiennent a un utilisateur. Les principaux types d'objets sont les suivants = ~ Table - Vue = Synonyme - Index - Séquence ~ Programme PL/SQL (procédure, fonction, package, trigger) Chaque utilisateur d'une base de données Oracle a un schéma potentiel, mais seuls les utilisateurs habilités pourront effectivement créer des objets dans ce schéma. Ces différentes notions seront étudiées plus en détail dans le chapitre 12. Sur les différents types d'objets présentés ci-dessus, seuls les tables et les index stockent des données et occupent de l'espace de stockage dans des tablespaces. Les autres types d'objet n’ont qu’une définition stockée dans le dictionnaire de données Oracle. La notion de schéma est une notion purement logique. Physiquement, les objets des diffé- rents schémas sont mélangés, soit dans le dictionnaire de données Oracle, soit dans les tablespaces, mais Oracle sait s'y retrouver. Des schémas d’exemple sont fournis par Oracle, dont le fameux (mais réduit) schéma SCOTT (mot de passe TIGER, propriétaire des tables EMP et DEPT). Des schémas d'exem- ple plus évolués sont décrits dans la documentation Oracle® Database Sample Schemas. Ils Peuvent étre installés lors de la création d'une base de données ou ultérieurement. 6. Régles de nommage Un nom de structure Oracle (table, tablespace, etc.) doit respecter les régles suivantes : = contenir 30 caractéres maximum ; = doit commencer par une lettre ; Oracle 10g - Administration gE «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Ecitions EN - Ai! rights reserved! Les bases de l’architecture Oracle c. Le Database Buffer Cache Le Database Buffer Cache contient les blocs de données les plus récemment utilisés : = blocs de tables ; ~ blocs d’index ; = blocs de segments d’annulation, contenant la version précédente des données en cours de modification. Les blocs sont lus en mémoire par les processus serveur et écrits dans les fichiers de données par le ou les processus d'arriére-plan DBWn. Toute modification (INSERT, UPDATE, DELETE) d'un bloc s'effectue en mémoire et I’écri- ture sur disque est différée. Le Database Buffer Cache est un cache de données qui joue le méme rdle que la Shared Poo! mais pour les données, Les données de la base de données ne sont accessibles, en lecture ou en mise 4 jour, qu’aprés avoir été chargées dans le Database Buffer Cache. Dans la pratique, le Database Buffer Cache ayant une finie, Oracle utilise un algo- rithme LRU (Least Recently Used) pour gérer le cache : en cas de manque de place, Oracle supprime du cache les données utilisées le moins récemment. Le Database Buffer Cache est dimensionné par les paramétres suivants : = DB_CACHE_SIZE : taille du cache pour la taille de bloc par défaut (poof DEFAULT) - DB_nK_CACHE_SIZE : taille du cache pour les blocs de n ko (n valant 2, 4, 8, 16 ou 32). Dans le cas of la base de données utilise des tablespaces ayant des tailles de blocs différentes de la taille de bloc standard, il faut dimensionner d'autres pools dans le Data- base Buffer Cache, pour les blocs en question ; cette opération s'effectue gréce aux para- métres DB_nK_CACHE_SIZE. Dans certaines configurations plus avancées, il est possible aussi de définir deux autres pools au sein du Database Buffer Cache : - Le pool KEEP destiné 4 stocker des données dont on souhaite qu’elles restent le plus longtemps possible en mémoire, Ce poof est dimensionné par le paramétre DB_KEEP_ CACHE_SIZE. - Le pool RECYCLE destiné a stocker des données qui n'ont pas vocation a rester longtemps en mémoire. Ce poof est dimensionné par le paramétre DB_RECYCLE_ CACHE_SIZE. Avant Oracle9/, la taille du Database Buffer Cache était définie en nombres de blocs (d'une taille définie par DB_BLOCK_SIZE) grace au paramétre DB_BLOCK_BUFFERS. Ce paramé- tre existe toujours pour des raisons de compatibilité ascendante mais il est déprécié. © Généralement, augmenter la taille du Database Buffer Cache améliore les performances. Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENE - ail rights reserved Les bases de I’architecture Oracle Liécriture dans les fichiers de journalisation du Redo Log Buffer est la seule chose qui se produit lors de la validation (comMIT) d'une transaction. Cette opération d’écriture étant normalement rapide, la validation est rapide (notion de fast commit). Inversemnent, si DBWn écrit dans les fichiers de données des blocs modifiés de transactions pas encore validées (COMMITées), le Redo Log Buffer est écrit dans les fichiers de journali- sation. Nous avons vu précédemment que le Redo Log Buffer contient les anciennes valeurs des données modifiges (dans des blocs de segment d'annulation) et les nouvelles valeurs (dans des blocs de tables et d'index). En cas d'arrét anormal de I'instance, le fait qu'un fichier de données puisse ne pas contenir les données modifiées de transactions validées ou contenir des données modifiées de trans- actions non validées, ne pose pas de probléme : gréce au processus d’écriture décrit ci-des- sus, les fichiers de journalisation contiennent forcément les informations nécessaires pour refaire les transactions validées (mettre dans les fichiers de données les données modifiées des transactions validées) ou défaire les modifications non validées (remettre dans les fi- chiers de données les anciennes données pour les modifications non validées). Cette récu- pération de linstance aprés un arrét anormal est un processus automatique qui ne requiert aucune intervention. Lors de la validation d'une transaction, Oracle affecte un numéro SCN (System Change Number) @ |a transaction. Ce numéro SCN est enregistré dans le fichier de journalisation et & d'autres endroits. Ce numéro est fondamental pour la capacité du systéme a savoir ot il en est. d. CKPT Périodiquement, tous les blocs modifiés du Database Buffer Cache sont écrits dans les fichiers de données : c’est le mécanisme de synchronisation (checkpoint). Par ce biais, les fichiers de données et les fichiers de contréle sont rendus cohérents (méme numéro SCN). Cela permet de garantir que les blocs modifiés en mémoire sont bien écrits dans les fichiers de données. Ce mécanisme définit aussi un point de reprise dans les fichiers de journalisation (corres- pondant 4 un numéro SCN) : cette position correspond a la modification de bloc la plus ancienne qui n'a pas encore été écrite dans un fichier de données. En cas d'arrét anormal de l'instance, ce point marque le début des données a utiliser pour la récupération de Vinstance, Une synchronisation se déclenche notamment lors d'un basculement de fichier de journali- sation. Cela provoque dans ce cas, |'écriture dans les fichiers de données des blocs modi- fiés (non encore écrits) relatifs aux informations présentes dans le fichier de journalisation. Le processus d’arriére-plan LGWR s'interdit de commencer a écrire dans un fichier de journalisation dont la synchronisation n'est pas terminée. En effet, tant que cette synchroni- sation n'est pas terminée, le fichier de journalisation contient des informations qui seraient nécessaires pour une récupération de |"instance en cas d'arrét anormal, Oracle 10g - Administration Ei «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENT + All sights reserved Les bases de l’architecture Oracle Les modifications de paramétres effectuées dynamiquement pendant le fonctionnement de instance peuvent aussi persister dans ce fichier de paramétres serveur. Le fichier de paramétres serveur est un fichier binaire qui ne peut pas étre consulté ou modifié avec un éditeur de texte ; d'autres moyens seront utilisés pour cela, © 11 ne faut jamais modifier un fichier de paramatres serveur avec un éditeur de texte, au risque de le corrompre, voire de provoquer un arrét de "instance. Nous verrons que le fichier de paramétres serveur est créé 2 partir d'un fichier de paramée- tres texte. Dans un fichier de paramétres texte, les paramétres sont spécifiés sous la forme nom_ paramétre = valeur. Tous les paramétres sont optionnels et ont une valeur par défaut, Des commentaires peuvent étre inclus et commencent par le caractére #. La valeur peut étre spécifiée entre des guillemets doubles si elle contient des caractéres spéciaux (égal, espace, etc.). Les valeurs multiples peuvent étre spécifiées entre parenthé- ses, séparées par des virgules. Exemple : db_name = hermes # nom de la base de données # Fichiers de contréle de la base control_files = ("f:\oradata\HERMES\control01.ct1", "g: \oradata \HERMES\control02.ct1") 6. Infrastructure pour la gestion automatique Oracle10g comporte beaucoup de fonctionnalités qui facilitent !'administration de la base de données et dans certains cas |'automatise. Ces nouvelles fonctionnalités reposent sur une infrastructure que nous allons décrire bridve- ment ici ; il n'est en effet pas nécessaire de connaitre cette infrastructure dans le détail pour pouvoir tirer partie des nouvelles fonctionnalités. De nouveaux processus d’arriére-plan sont chargés de collecter en mémoire des statistiques sur le fonctionnement du syst8me. Toutes les 60 minutes (valeur modifiable), ces statisti- ques sont déversées dans le référentiel AWR (Automatic Workload Repository), qui se matérialise par un ensemble de tables dans le tablespace SYSAUX. Par défaut, statisti- ques sont conservées 7 jours. A chaque fois qu'une collecte est déversée dans le référentiel AWR, ADDM (Automatic Database Diagnostic Monitor) effectue un diagnostic des performances du systéme, détecte tes éventuels problémes et propose des solutions. Le résultat de l'analyse ADDM est stocké dans le référentiel et peut étre consulté dans Enterprise Manager Database Control. En complément, plusieurs conseillers sont disponibles pour avoir des recommandations sur loptimisation des requétes SQL, |'indexation, la gestion de la mémoire, etc. Ces conseillers exploitent eux aussi les données stockées dans le référentiel AWR. Oracle 10g - Administration eS «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitions ENT « All rights reserved Les bases de larchitecture Oracle © bans le cas de lulilisation d'un fichier de mot de passe, si vous modifiez le mot de passe de SYS par un ordre SQL (voir le chapitre 12), la modification est répercutée dans le fichier de mot de passe. administration courante ne nécessite pas le privilége SYSDBA ou SYSOPER ; elle s'effec- tue généralement avec le compte SYSTEM : ~ gestion des structures de stockage ; - gestion des utilisateurs ; - gestion des schémas. Le privilége sysppa est, par contre, nécessaire pour : ~ larrét et le démarrage de la base de données ; - la eréation d'une base de données ; ~ les opérations de récupération d'une base de données. Dans les anciennes versions d’Oracle, il était possible c'utiliser un CONNECT INTERNAL pour obtenir ces priviléges particuliers. Cette connexion n’est plus supportée depuis la ver- sion 9, A la place, il faut utiliser une connexion AS SYSDBA (équivalente en terme de droits). L'authentification S¥SDBA ou SYSOPER par le systéme d’exploitation n'est pas autorisée pour les connexians @ travers le réseau (sauf utilisation d’un réseau sécurisé) ; dans. ce cas, il faut utiliser une authentification par un fichier de mot de passe. Pour l'administration locale de la base de données (directement sur la console du serveur ou en émulation de terminal), vous pouvez indifféremment utiliser une authentification par le syst&me d'exploitation ou par fichier de mot de passe. Dans le premier cas, vous devez vous assurer que les groupes et comptes correspondants du systéme d'exploitation sont bien protégés. Dans le deuxiéme cas, vous devez vous assurer que le fichier de mot de passe et Futilitaire orapwa sont bien protégés. 4, Autres comptes Oracle Lors de la création d'une base de données, d'autres comptes Oracle peuvent étre créés, notamment SYSMAN et DBSNMP. ‘SYSMAN (mot de passe par défaut CHANGE_ON_INSTALL) est un compte qui peut étre utilisé pour effectuer des taches d’administration dans Oracle Enterprise Manager. SYSMAN est un compte DBA. DBSNMP (mot de passe par défaut DBSNMP) est un compte utilisé par l'agent d'Oracle Enterprise Manager pour superviser et gérer une base de données. De nombreux autres comptes "administratifs" peuvent étre créés selon les options installées dans la base de données. Oracle 10g - Administration EJ «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Chapitre 3 : Installation A. Installation du serveur... 1. eee eee ee ee | 44 A. Introduction. 2 6. ee ee ee a4 2. Principales étapes de l'installation .............248 44 3. Oracle Flexible Architecture (OFA) ......--- 2-2-5 46 a. Principes généraux 2... ee 46 b. Répartition des fichiers de la base de données sur plusieurs disques 2... eee ee ee ee 50 Be Oracle Universalist BD a.__Vue d’ensemble sma b. Lancer Oracle Universal Installer sur plate-forme Windows... _ 51 c. Lancer Oracle Universal Installer sur plate-forme Linux... 52 d. Installation de base (Windows uniquement)... .... . . 54 g.__Probléme d'installation sur plate-forme Windows §.__Post-installation 66 a. Configurer l'environnement de travail -. 22. 2. ee ee 66 b, Configurer le démarrage et l’arrét automatique ....... 70 B. Installation du client... 2... 2. eee ee eee 73 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - AI rights reserved Installation Sur plate-forme Windows, les recommandations sont les suivantes pour ces deux répertoi- res: Oracle Base X:\Oracle\Product\v.v.v, x étant un lecteur de disque quel- conque et v.v.v le numéro de version du produit, Exemple : D: \Oracle\Product\10.1.0 Oracle Home ORACLE_BASE\type_n, ORACLE _BASE désignant le répertoire Oracle Base, type le type de produit (ab pour un serveur de base de données, client pour un client, etc.) et n un numéro d'ordre dans le type. Exemple : D: \Oracle\Product\10.1.0\db_1 Dans les versions précédentes, le chemin Oracle Base était du type x:\oracle (par exemple D:\Oracle) et le chemin Oracle Home du type ORACLE_BASE\OraVv., VV étant le numéro de version du produit (par exemple D:\Oracle\Ora92). Le nom du Oracle Home était de la forme OraHome vv et la clé de la base de registre de la forme HOMEn, n étant un numéro d'ordre. © si vous installez Oracle 0g sur un systéme sur lequel une version précédente d’Oracle est installée (par exemple avec un Oracle Base du type D:\Oracle), I'installeur va conserver I'ancien chemin du répertoire Oracle Base mais adopter la nouvelle recom- mandation pour te chemin Oracle Home (par exemple D:\Oracle\Product\ 10.1.0\db_1) ; la portion Product \10.1.0 est alors considérée comme faisant partie du chemin Oracle Home. En cas de doute, consultez les valeurs dans la base de registre. ‘Sur plate-forme Unix ou Linux, les recommandations sont les suivantes pour ces deux répertoires = Oracle Base /pm/ccc/compte, pm étant un point de montage d'un systéme de fichiers (avec p une chaine et mun numéro d'ordre), cee une chaine quelconque et compte le nom du compte utilisé pour I'installation. Exemple : /u01/app/oracle Oracle Home: ORACLE_BASE/product/v.v.v/type_n, ORACLE_BASE dési- gnant le répertoire Oracle Base, v.v.v lé numéro de version du pro- duit, type le type de produit (db pour un serveur de base de don- nées, client pour un client, ete.) et m un numéro d'ordre dans le type. Exemple : /u01/app/oracle/product/10.1.0/db_1 Dans les versions précédentes, les recommandations étaient les mémes, mais sans la partie type_n. Notez qu'il y a quelques différences entre les recommandations des deux plates-formes, méme si a larrivée les deux chemins Oracle Home se ressemblent. Par contre, il n'est pas {res logique que le numéro de version fasse partie du chemin Oracle Base dans le premier cas (sauf présence d'un ancien Oracle Base !), et du chemin Oracle Home dans le deuxiéme cas. Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (© Editions EN « ANI rights ceserved Installation 4. Oracle Universal Installer a. Vue d’ensemble Oracle Universal Installer fonctionne de la méme maniére, & peu de chose prés, sur les différentes plates-formes. Les deux différences principales concernent : - le processus de lancement de I'installeur ; ~ Vexistence sur plate-forme Windows d'une méthode ‘Installation de base’ qui permet d'installer Oracle trés rapidement en saisissant quelques informations sur un seul écran. Cette partie est organisée de la maniére suivante : ~ b, Lancer Oracle Universal Installer sur plate-forme Windows - c, Lancer Oracle Universal Installer sur plate-forme Linux ~ d. Installation de base (Windows uniquement) - e. Installation avancée ~ f. Avancement de I"installation ~ g. Probléme diinstallation sur plate-forme Windows © Il est possible d'utiliser Oracle Universal Installer en mode non interactif en utilisant un fichier de réponse. Pour plus d’informations, consultez la documentation “Oracle® Data- base Installation Guide" de votre plate-forme. b, Lancer Oracle Universal Installer sur plate-forme Windows introduisez le CD-Rom intitulé Oracle Database 10g Disk 1 of 1. Si la fenétre Oracle Database 10g - Autorun n’apparait pas, lancez l'application autorun.exe située dans le répertoire autorun sur le CD-Rom. La fenétre Oracle Database 10g - Autorun s'affiche. Sur cette fenétre, cliquez sur le bouton Démarrage de |"installation. Une fenétre de lancement d’Oracle Universal Installer s'affiche. Cette fenétre vérifie les pré-requis puis lance Oracle Universal Installer si les exigences sont vérifiées. La page d'accueil d’Oracle Universal Installer s'affiche alors. Oracle 10g - Administration Ee! «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. ‘© Eeltions ENT - All rights reserved Installation Le déroulement de |'installation est présenté dans la partie f - Avancement de |'installation (Windows et Linux). © avee cette méthode d'installation, seul l'anglais est disponible comme langue des pro- duits Oracle. Pour pouvoir utiliser d'autres langues, il faut choisir la méthode d'installa- tion avancée. e. Installation avancée Dans le cas de ‘installation avancée (seule méthode disponible sous Linux), les écrans d’Oracle Universal Installer sur les deux plates-formes sont identiques. Les étapes sont les suivantes : Spécifier emplacement des S SL Spécifier emplacement des fichiers Source Entezie chemin complet ou chr représentantles procusts &instaber= Chemin: Fristage\products mi Pacown) Destination ‘Sabiissez ou sélechonne? un nom pour Fn stallation, ainsi que i chernin complet au réperiove distin, tu progut Now its instabl. epeeierd | gulerk =) foster) ztrler_) SS Le premier écran permet de spétiier un nom et un emplacement pour le Oracle Home. Sur plate-forme Linux, le chemin du Oracle Home est construit a partir de la variable environnement ORACLE BASE ou est égal a [a variable d'environnement ORACLE_HOME si celle-ci est définie (normalement non). Sur plate-forme Windows, un chemin par défaut est proposé ; le chemin peut étre modifié pour installer Oracle sur un autre lecteur de disque dur (par exemple D: \oracle\product \10.1.0\db_). Si besoin, modifiez ces valeurs, puis cliquez sur le bouton Suivant. Oracle 10g - Administration Es «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN = AI rights reserved Installation Cliquez sur le bouton Aide pour avoir plus d'informations. Les bases de données de départ d’Oracle sont intéressantes pour avoir rapidement un environnement opérationnel pour le test ou le développement. Par contre, ces bases con- tiennent un grand nombre de schémas et de fonctionnalités qui ne sont pas forcément utiles pour une base de production. Dans ce cas, il est conseillé diinstaller Oracle sans créer de base de données (option Ne pas créer de base de données de départ), puis de créer ensuite la base de données, @ l'aide de I'assistant graphique, ou a la main (chapi- tre 7, Sélectionnez l'option souhaitée puis cliquez sur le bouton Suivant. Si vous choisissez |'op- tion Avancé ou l'option Ne pas créer de base de données de départ, l"écran de résumé est directement affiché. Sinon, des écrans supplémentaires vous sont proposés pour personnali- ser la base de données de départ. Personnaliser la base de départ (1/5) ; options de configuration Spécifier les options de configuration de la base de données ~ hélectaion she noms de base do doenabe's [onnom glotatar tase da Gonntes,géntrsiement autormal name dorsi, Men Ge fon ungue ine |uase co données Oracte. En oute, chaque base de données est réftrenceée par ou moins Un SiO COfacia | retem iderasen, teiquet le nom global etle SID de ete base de données. ‘Nom lobal de base de éonnées [ORCL 80; orc ur beri la détnition dea greupes ge langues, repares caraciaves dublser dens labase de données | |_sttectnnnesunjeuse caracbved do basa a ‘Exemples de bases de données \vous pour choisi de trder une base Ge données de uépart avec ou sas tes echémat exams. Aot avous puree ctl cna nls Al base Ge ede de pane ascot cré4e. Pour plus de ata, consutazirAlde données avac los cchémae exarnping Get écran permet de spécifier les informations suivantes : Nom global de base de données Nom global de la base de données sous la forme nom_base.domaine (par exemple orcl.olivier.fr). sID Nom de instance (généralement égal au nom de la base de données). Oracle 10g - Administration EI «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Eoitions ENT AI rights reserved Installation Personnaliser la base de départ (5/5) : mots de passe ‘Oracle Universal Installer Indiquer les mots de posse de schemva de bare de donées Co Indiquer les mots de passe de schéma de base de données Labase de connées de dégar contiont des sshémas peécharpés dont a pluparl compavtant des mots de 'p2ece qu exireront et seront verroullés¢ [afin de Installation. Une foie Tstalaton emi, YOU ‘Severouiter lat mote de pate et en oft de nouveaus pou ive cormples que wes sume ti schémas utis¢s pour es foncions dé geston de base de données et de post-nstaliaton restent ‘séverruilée, ot le mote da pace de ces romptes nowpirent pas. insiquez ers mote da paets. jp User ares mats d pase pour ees cates = | (Morn stout Saisirla mote passe ‘Contimar le mot ce passe C Untiser le mbme mot de passe cour tous las comotis, 1 Conurzie msde parce » ‘Ate ) Produ instolés. Brécédent eo) [inetater J)“ tanwer Emer Cet écran permet de spécifier les mots de passe des comptes S¥S, SYSTEM, SYSMAN et DBSNMP. Si vous le souhaitez, vous pouvez utiliser le méme mot de passe pour ces quatre comptes, mais ce n'est pas conseillé. Saisissez les valeurs souhaitées et cliquez sur le bouton Suivant. Vous arrivez a l'écran de résumé. Résumé Un écran de résumé s'affiche alors. © Verifier la liste des langues du produit. Cliquez sur le bouton Installer pour lancer |'installation. f. Avancement de I’installation Pendant I'installation, un écran présentant I’état d'avancement est affiché. © un probléme peut se produire durant 'installation sur plate-forme Windows (cf. g. Probléme d'installation sur plate-forme Windows). Oracle 10g - Administration Ba «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI « All rights reserved Installation © Consultez 1a documentation Oracle® Database Globalization Support Guide pour avoir plus d'informations sur le support des différents langages et pays. Plate-forme Windows Sur plate-forme Windows, il n'y a rien de particulier & faire ; l'installeur a pris soin de positionner plusieurs pararnétres dans la base de registre et de définir la variable d’environ- Nement PATH, en y mettant notamment le chemin vers le répertoire bin. Vous pouvez donc sans probléme lancer des outils Oracle en ligne de commande (sqlplus par exemple), sans mentionner le chemin complet. Pour chaque Oracle Home, la base de registre contient une clé HKEY_LOCAL_MA- CHINE\SOFTWARE\ORACLE\KEY_nom_oracle_home qui stocke plusieurs parametres relatifs au Oracle Home. Vous y trouverez notamment un paramétre ORACLE_SID. Ce paramétre contient le nom de la demniére instance créée dans le Oracle Home concerné ; c'est l'instance a laquelle vous vous connectez par défaut quand vous lancez un outil d'administration directement sur le serveur (cf. chapitre 5 - B. SQL*Plus). La base de registre contient aussi un paramatre NLS_LANG, défini par défaut par I'instal- leur en fonction de la localisation du systéme d'exploitation (typiquement FRENCH_FRANCE .WESMSWIN1252 pour une version francaise de Windows). © es différents paramatres présents dans 1a base de registre sont décrits dans la docu- mentation Oracle® Database Platform Guide for Windows. Les paramétres de la base de registre comme ORACLE_SID et NLS_LANG sont utilisés par défaut par les différents outils Oracle. Si vous souhaitez utiliser des valeurs différentes, avant de lancer un outil, vous pouvez modifier les paramétres de la base de registre ou définir des variables d’environnement de méme nom (dans le panneau de configuration ‘Systéme ou dans une fenétre de commandes). © Vous pouvez notamment utiliser le jeu de caractéres WE8PC85O si vous souhaitez avoir un affichage correct des accents dans les outils ligne de commande (permet d’éviter des messages du type Connect). Lorsque votre systtme comporte plusieurs Oracle Home, la variable d'environnement PATH contient plusieurs chemins vers les répertoires bin des différents Oracle Home, dans un certain ordre ; le premier chemin trouvé est en quelque sorte celui du Oracle Home par défaut. Si vous lancez un outil sans mentionner de chemin complet, c'est celui du Oracle Home par défaut qui sera lancé, ce qui risque de poser des problémes si vous souhaitez travailler sur une base de données d'un autre Oracle Home (et done peut-étre d'une autre version). Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN! - All rights reserved Installation oleic ORACLE=oracle LOG=§ORACLE_HOME/startup. log VAR_LOCKs/var/lock/subsys/dbora 4 # Si le script est appelé sans deuxiéme paramtre (appel initial), 4 on le relance sous le compte oracle (du coup avec un deuxiéne paramatre) if [ £192" = fORAY ] 5 then su - SORACLE -c "$0 $1 ORA* case $1 in ‘start') 4 indiquer que le service a démarré (du moins a priori) touch $VAR_LOCK *sto # indiquer que le service a été stoppé (du moins a priori) rm -£ $VAR_LOCK esac exit, fi PATH=$ {PATH} : SORACLE_HOME/bin export ORACLE_HOME PATH touch $L0G chmod a+r $LoG case $1 in ‘start') echo "**#** $0; démarrage" >> $106 date >> SLOG 4 Démarzer le processus d’écoute echo "#* démarrage du processus d’6coute" >> $L06 SORACLE_HOME/bin/lsnrctl start >> SLOG 2>%1 & 4 Démarer les bases de données echo "** démarrage des bases de données" >> SLOG $ORACLE_HOME/bin/dbstart >> $L0G 2>41 & 4 Démarrer {SQL*Plus echo "** dénarrage de iSQL*Plus" >> §L0G SORACLE_HOME/bin/isqlplusctl start >> SLOG 2561 & # Démarzer la console Oracle Enterprise Manager echo "** dénarrage de la console OEM" >> $L0G SORACLE_HOME/bin/emct1 start dbconsole >> $L0G 2>41 & + stop’) echo "#t#e* $0: arrét™ >> SLOG date >> $Loc # Arréter 1a console Oracle Enterprise Manager ES Oracle 10g - Administration zz «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Chapitre 4 : Oracle Net A. Introduction... ec es 76 1. Réled'Oracle Net... 22.2. ee eee ee 76 2. Principes de fonctionnement .. 2... cee ee ee ee 76 3. Nom de service et nomd'instance .. 22... ee ee 77 B. Configuration cété serveur... ee 78 1. Configuration du processus d'écoute .....-.....2.-. 78 2. Gestion du processus d’écoute . ee ee 82 3. Démarrage automatique du processus d'écoute ......... 83 4. Enregistrement dynamique de services... 2.0.2.2... 84 C. Configuration cété client... .....-........ 84 Te Introduction. kee eee 84 2. Sélection des méthodes de résolution denoms ......... 85 3. Configuration des méthodes de résolution de nom... .... . 86 a. Résolution de nom locale 2... 2. ee ee ee 86 b. Connexion simplifiée. . 0... eee 90 D.__Problémes courants et solutions... . . ca 91 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Eetitions ENT « Ail rights reserved Oracle Net Le fichier listener .ora se trouve par défaut dans le répertoire $ORACLE_HOME/net - work/admin (plate-forme Unix ou Linux) ou ORACLE, |_ HOME’ \network\admin (plate- forme Windows). Get emplacement peut étre modifié en définissant la variable d'environne- ment TNS_ADMIN. © Le processus d'écoute peut aussi étre configuré et administré a partir de la console Oracle Enterprise Manager. Paramétres généraux Ferre fEPRéa aston de ams Processus découe VSS La configuration des paramétres généraux s'effectue dans les trois onglets Général, Journali- sation et trace et Authentification. Uonglet Journalisation et trace permet d’activer ou de désactiver la journalisation (active par défaut) et la trace (inactive par défaut). Le fichier journal enregistre essentiellement des informations sur le démarrage du processus d’écoute et les demandes de connexion regues ; par défaut, ce fichier s’appelle Listener. log et se trouve dans le répertoire SORACLE_ HOME/network/log (plate-forme Unix ou Linux) ou tORACLE_HOME*\network\log (plate-forme Windows). La trace peut étre activée pour aider a résoudre des problémes de fonctionnement du processus d’écoute. Uonglet Authentification permet de définir un mot de passe a utiliser pour lancer I'utilitaire snrcti (voir plus loin), Lorsque les paramétres généraux sont personnalisés, ils sont enregistrés dans le fichier listener.ora. Oracle 10g - Administration | 73] «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitons EN - AIl rights reserved Uracie Net STATUS Affiche des informations sur la configuration du processus d'écoute, les emplacements d’écoute et les services enregistrés. SERVICES Affiche des informations détaillées sur les services enregistrés auprés du processus d’écoute. RELOAD ‘Recharge la configuration du processus d’écoute Gtetener ora). Permet d'ajouter ou de modifier les services enri processus d’écoute, sans arréter ce dernier. Les commandes peuvent étre saisies indifféremment en majuscules ou en minuscules. Sur Plate-forme Windows, le processus d'écoute peut aussi étre démarré et arrété en démarrant ‘ou en arrétant le service associé. Sur plate-forme Windows, si le service associé au processus d’écoute n’existe pas, un message d'erreur est affiché lors du démarrage, mais le service est alors automatiquement créé et le processus d’écoute est effectivement démarré : trés aupreés du LSNRCTL> start Starting tnsisnr: please wait... Failed to open service , error 1060. 3. Démarrage automatique du processus d’écoute Généralement, il est souhaitable que le processus d'écoute soit démarré automatiquement lors du démarrage du systéme. Sur plate-forme Windows, le processus d’écoute peut étre démarré automatiquement lors du démarrage du systéme en positionnant le service associé (OracleTNSListener) en démarrage automatique. Sur plate-forme Unix ou Linux, le processus d’écoute peut 6tre démarré automatiquement grace au script de démarrage présenté dans le chapitre 3 - A - 5 - b. - Configurer le démar- rage et l‘arrét automatique. Ce script de démarrage utilise les commandes start et stop de l'utilitaire Lsnrct1. Extraits du script : # Démarrer le processus a’ écoute echo "** démarrage du processus d’6coute" >> $LOG SORACLE_HOME/bin/lsnrctl start >> SLOG 2>&1 & # Arréter le processus d’écoute echo "** arrét processus d’écoute" >> SLOG SORACLE_HOME/bin/lanrctl stop >> $LOG 2761 & Oracle 10g - Administration Bs «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EDI + AU rights reserved Oracle Net 2 Assistant Nom du service réseau, page 1 de 5: Nom de service réseau Four aecter 4 une baa de données Orarie 9 lout ttre service ‘ut in réseau, yous devez utliser un nom de senice réseau Cet assistantva vous aldar d créer ca nom de sarc. Entezie nom que vour sounaltex unis et pour accécer Ala base de données Nom su serteetdseau: —[oRcL Pour communiquer avee ta base de données sur le réseau, un protocole rhsoau estnécessaice Selectonnex celui qui est usise pourla base d= ‘ones d laquelle vous voulez accéd TOPIP avec SSL (pretoeole Inornet séeurtcé) [Named Pipes (réseau Microsof) IPC (vase de données locale) eta ‘Sélectionnez le protocole réseau utilisé (TCP/IP dans cet exemple) puis cliquez sur le bouton ‘Suivant. Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Ecitions ENI - Alt rights reserved Oracle Net Exemple : srvwinora/orcl srvwinora :1522/test olivier.fr D.Problémes courants et solutions Les problémes possibles de connexion entre un client et un serveur sont nombreux. ORA-12541: TNS : pas de processus d’écoute TNS-12541: TNS ; aucun processus d’‘écoute Explication Le serveur spécifié par la chaine de connexion a bien été trouvé, mais aucun processus d'écoute ne répond. Cause(s) Le processus d’écoute n'est pas lancé. Le port indiqué dans la chaine de connexion ne correspond pas au port d’écoute du processus d’écoute. Action(s) —_Vérifier que les ports sont bien configurés de la méme maniére cété client et c6té serveur. Vérifier si le processus d’écoute est démarré (le démarrer si besoin (ne pas hésiter a le redémarrer en cas de doute)). ORA-12505: TNS : le processus d’écoute ne connait pas actuellement le SID indiqué dans le descripteur de connexion ORA-12514: TNS : le processus d’écoute ne connait pas actuellement le service demandé dans le descripteur de connexion Explication Le processus d’écoute a bien été contacté mais le SID ou le SERVICE_NAME indiqué dans la chaine de connexion ne correspond a aucune instance écoutée par le processus d’écoute. Cause(s) Le SID ou SERVICE_NAME indiqué dans la chaine de connexion n'est pas bon. Le STD_NAME spécifié dans le fichier de configuration du processus d’écoute n'est pas bon, Action(s) Vérifier que les identifiants d'instance ou les noms. de service correspondent bien entre le client et le serveur (utiliser la commande status ou services dans l'utilitaire Lsnrct1), En eas de doute, utiliser un SID & la place d'un SERVICE_NAME dans la chaine de connexion. Oracle 10g - Administration Ei «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Chapitre 5 : Les outils d'administration A. Introduction. ©... 1. ee eee tenes 96 B. SQL*Plus ... ee eee ee ee . 96 1. Vued’ensemble . 2... ee ee 96 2, SQL*Plus ligne de commande . 1... 0. es 97 3. SQL*Plus Windows © ee 98 4, _SQL*Plus Worksheet St Re ge 99 C. Oracle Enterprise Manager Database Control... . . . 99 1,_Introduction : pee ye pepe g eevee 1G) 2» aArchitentiina ceng xs ata soo Ros VY woven: S mani @ ¢ 100 3. Gérer le Database Control... 2... 2. ee eee ee 101 4, _Débuter avec le Database Control... 108 a._Vue d'ensemble. 103 b. Informations d'identification et de connexion ........ 104 5. Utiliser les alertes 2 2 ee ee 106 a, Visualiser les alertes. 0. eee 106 ¢.__Recevoir une notification lorsqu'une alerte survient_.. . . . 107 D.__La documentation Oracle ................ i112 1__Oi Ia trouver ? : 11 B,C eccicn ee kD KG BRIO Om ERD BW ® 112 E. Les fichiers d’alerte et de trace ......+.-+.. 2113 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitions EN - AU rights reserved Les outils d’administration © bans la zone Nom utilisateur, vous pouvez saisir une chaine de connexion compléte, avec la méme syntaxe que sur la ligne de commande, notamment /NOLOG (pas de connexion) et [utilisateur]/{mot_de_passe] AS SYSDBA (connexion ‘SYSDBA). 4. SQL*Plus Worksheet SQL*Plus Worksheet est une application Java qui interface SQL*Plus. SQL*Plus Worksheet peut étre lancé a partir d'une ligne de commande par la commande suivante : cemapp worksheet Sur plate-forme Windows, SQL*Plus Worksheet peut aussi étre lancé par le menu Démar- rer - Programmes - Oracle - nom_oracie_home - Application Development - SQLPlus Worksheet. La bolte de dialogue de connexion permet d'indiquer un nom de service réseau ou un identifiant de connexion simplifigée (zone Service) et de se connecter éventuellement avec les priviléges sysDBA ou SYSOPER (menu Connecter en tant que) eee eed ein Nom utsxieur Note passe Senco ‘Conecte en tnt eae Bi Con (¢) 1998, 2004, Oracle Tous drote réserés C. Oracle Enterprise Manager Database Control 1. Introduction Oracle Enterprise Manager Database Control est un outi! d’administration graphique accessi- ble par un navigateur : il est apparu en version 10g d’Oracle, Lors de la création d'une base de données, Oracle vous propose d’administrer cette base de facon centralisée avec Oracle Enterprise Manager Grid Control ou de fagon locale avec Oracle Enterprise Manager Database Control. Oracle 10g - Administration EI «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Ecitions EF - Ail rights reserved Les outils d’administration 4. Débuter avec le Database Control a, Vue d’ensemble Dans cette partie, nous allons donner une vue d’ensemble de I'utilisation du Database Control. Dans les différents chapitres de l'ouvrage, nous verrons ensuite comment utiliser le Database Control pour effectuer les différentes téches d'administration, Pour démarrer une session Database Control, il suffit d’ouvrir une fenétre de votre naviga- teur et de saisir une URL de la forme : http: //serveur:port/em serveur est le nom ou I'adresse IP du serveur de base de données. port est le numéro du port sur lequel le service OMS communique (normalement 5500 pour la premigre base créée sur le serveur, puis 5501, 5502, etc. pour les suivantes). Exemple : ://srvwinora:5500/em Si la base est démarrée, la page de connexion s'affiche. page de démarrage s'affiche (cf. chapitre 6). La page de connexion permet de saisir un nom, un mot de passe et éventuellement de demander une connexion SYSDBA ou SYSOPER (zone Se connecter en tant que) : [GRACE Enterprise Manager Tag Database Contr la base n'est pas démarrée, la @ connecter a la base de données:ORCL Nom uitisateu + Mot de pate ‘Se connecter en tant que 10 1006, 200, Orme. Tas erode vésnvbs Initialement, seuls les comptes Oracle Sys, SYSTEM et SYSMAN peuvent utiliser le Data- base Control. Oracle 10g - Administration | 103 | «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. @ Evitons EN - AU rights reserved Les outils d’administration Lorsqu’une alerte est signalée, vous pouvez cliquer sur le lien associé pour avoir plus d'informations ; selon la nature de I'alerte, la page affichée peut proposer des liens pour faire des actions correctrices ou une analyse supplémentaire. b, Définir les seuils des alertes Sur la page d'accueil, vous pouvez cliquer sur le lien Gérer les mesures (cadre Liens associés en bas), pour accéder 4 la page de gestion des seuils de déclenchement des alertes : FACE Enierpiise Manager 10 i Biss te gonneee hermes oiuerheutel f > Gere les mesures \Gérer les mesures ‘Seulls | Lionei de buar de manure oats tes sonia) Modtécatons en suspen & Spoil Soul Mesut comparalson Fevertisement crvque Acton en réponse 3 Felerte ens setae wets (8) > 8 rei de joa daletes - Processus Content on, rarciaye woque 4 iol Coane Process =O ue csrtiacandss) Cette page affiche les seuils actuels de déclenchement des alertes pour les différentes mesures. En cliquant sur le bouton Modifier les seuils, vous pouvez accéder & la page de modification des seuils. Pour les mesures souhaitées, vous pouvez définir un seuil d'avertis- sement et un seuil critique. c, Recevoir une notification lorsqu'une alerte survient Il est possible de recevoir directement une notification lorsqu'une alerte survient, typique- ment par messagerie électronique. Pour recevoir une notification par messagerie électronique, vous devez faire deux choses : ~ Configurer les méthodes de notification du Database Control ; - vous “abonner* & des notifications. Oracle 10g - Administration | 107] «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Etitions ENT - All rights reserved Les outils d'administration = ie CRT) erplea Manager 1 a . pear! Bate te dohindes fecter des méthodes a la régle : Agents Unreachable esque le lees d otiaton&opplrqanla prot de mesure indiqute et decile forte’) (OR) Notification par email F Monveyer un emai Les email eeront emoyé: yes indsqubes dant la progharmation dos neteations Methodes de notification avancées Noa ‘Tyne Daseripian” |) /AMeciar tine maéthde W ia vale ‘Aucune méthode de notfieatien 1's 6t6 toude Cochez la case M'envoyer un email pour recevoir un message électronique lorsque la notifi- cation se déclenche. © crest le compte Oracle S¥SMAN qui est propriétaire des ragles de notification prédéti- nies, mais celles-ci sont publiques et peuvent donc étre modifiées par les autres utilisa- teurs habilités du Database Control. Lors de la création d'une base de données l'aide de assistant graphique, ou lors de la configuration du Database Control avec l'utilitaire emea, si vous configurez la notification par messagerie électronique, l'adresse de mes- sagerie indiquée sera associée au compte SYSMAN, et les notifications seront automati- quement envoyées a cette adresse. D.La documentation Oracle 1. OU la trouver ? Le CD-Rom d’installation contient la documentation relative a l"installation, notamment : ~ Oracle® Database Release Notes ; - Oracle® Database Quick Installation Guide ; ~ Oracle® Database Installation Guide. Le reste de la documentation peut étre trouvé sur le CD-Rom Oracle Database 10g Docu- mentation Library. La documentation Oracle est aussi accessible en ligne a I'adresse suivante : http.//ww.oracle.com/technology/documentation/index.html Oracle 10g - Administration peel «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Chapitre 6 : Démarrage et arrét A. Principes ... 2... 8 LENA ow om LOMO © me OF B. Démarrage . 2 ee 1. Utiliser SQL*Plus a, Lacommande STARTUP ‘ b. Mode opératoire. 2 ee ee c, Modifier le niveau de disponibilité de la base de données . . d. Récupérer des informations sur |'instance et surla base de données 2... 2. ee 2. Utiliser le Database Control a. Démarrer la base de données b. Récupérer des informations sur l'instance et surla base de données... 2-2... ee ee C. Arét .. 1... 1. Utiliser SQL*Plus a, La commande SHUTDOWN b. Mode opératoire 2. Utiliser le Database Control ©. 2 2 ee D. Automatisation et scripts... 0... ee ee eee 1. Sur plate-forme Unix ou Linux 2... 2 eee a, Automatisation b. Scripts «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - All rights reserved Démarrage et arrét Fichier de paramétres et clause PPILE Les noms par défaut du fichier de paramétres texte et du fichier de paramétres serveur d'une instance sont respectivement init .ora et spfile.ora. L'emplacement par défaut de ces deux fichiers dépend de la plate-form - SORACLE_HOMEt\database (Windows) ; ~ SORACLE_HOME/dbs (Unix/Linux). En ce qui conceme le fichier de paramétres texte, le nom et ‘emplacement recommandés par le standard OFA sont différents : init .ora dans le sous-répertoire pfile du réper- toire d’administration. Pour concilier ‘emplacement par défaut et le standard OFA, il est possible de créer un fichier init.ora dans le répertoire par défaut de la plate- forme et d'y mettre une simple inclusion vers le ‘vrai" fichier de paramétres, grace au paramétre FILE. Exemple (Windows) : IPILE='D:\cracle\product \10.1.0\admin\ORCE\pfile\init.ora’ Si la plate-forme le permet, il est aussi possible d'utiliser un lien symbolique. Sans clause PFILE dans la commande STARTUP, Oracle recherche, a I'emplacement par défaut de la plate-forme, dans ordre, un fichier : = spfile.ora - spfile.ora - initesrD>.ora © Le fichier ep£ite ora (sans nom d’instance) est principalement utilisé dans le cas d'une configuration Real Application Cluster. En priorité, l'instance recherche done par défaut un fichier de paramatres serveur. Spécifier la clause PPILE permet de démarrer explicitement avec un fichier de paramétres texte, qui peut éventuellement ne pas respecter le nom et/ou I'emplacement par défaut. Pour démarrer avec un fichier de paramétres serveur situé 4 un autre emplacement ou ayant un autre nom, il faut démarrer avec un fichier de paramétres texte contenant un paramétre SPFILE (pas IFILE) indiquant le chemin d'accés complet au fichier de para- métres serveur. Exemple (Windows) : SPFILE='D:\oracle\preduct\10.1.0\admin\ORCL\pfile\sp.ora’ La valeur du paramétre SPFILE peut étre consultée aprés démarrage de I'instance, dans la ue VSPARAMETER ou 4 l'aide de la commande SQL*Plus SHOW PARAMETER. Si ce paramétre n'a pas été spécifié explicitement, il est affecté en interne par le serveur. S'il est vide, c'est que l'instance a démarré avec un fichier de paramétres. texte. © 1 est recommandé d'utiliser un fichier de paramétres serveur, Pour vous simplifier la vie, respectez le nom et l'emplacement par défaut. Oracle 10g - Administration Ee «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Exitions EN + All rights esorvedt ——— rs i Si la base est arrétée mais qu'elle n'est pas endommagée, vous pouvez cliquer sur le bouton Démarrer ; une page d'identification s'affiche : [SRACLE Enterprise Waneger 10g Database Contret (Démarrer/Arréter :Fournir les informations didentification et de connexion de phate et de la base de données cible : _ our le informations diderifcatin et de connetion suvaries pout moder I sat da la ba Informations c'identification et de connexion de hate Indquez le nor uilsateur et le mot de passe du systime dexplittion pour vous connecter & fordnateur dea base de données cil “= Nom utibssteur } + Mol de passe Informations d'identification et de connexion de la base de données. Fourusta? los informations didentieation ot do connexion do la bate de données cite Pe ber Inder Uicatan om brain Pestle ine? ns Crag Ne es Mit Se ae es, ‘Nor wtsateur * Mot de passe Base de ong. derndes fsysoen Se connect FF Ervegitrer comme informations didentifc ation ef de connesion ‘ntane Sur cette page, saisissez une identification pour I'héte et une identification SysDBA ou SYSOPER pour la base de données, puis cliquez sur le bouton OK. Si l'instance est arrétée, la page de confirmation de démarrage s‘affiche = (SRACLE Envpise amano Database Control a Demarrer/Arréter :Confirmation de données Statut en cours shutdewn, Operation démarrer Pararnitie distialeation valaue bare de données on mode open aut ounatez-rous exécuter cette opteation ? (earns Sa) (Opera meine) (ton) (oe) Base de domées | Aide Si l'instance est démarrée, base non montée (NOMOUNT) ou base montée (MouNT), une page de choix d’apérations s'affiche. Oracle 10g - Administration Es «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EDM - All rights reserved Démarrage et arrét arrét ABORT est le plus rapide (lui est immédiat !) mais ne doit étre utilisé qu’en dernier recours : blocage d'un autre type d’arrét, besoin d'arréter la base vraiment immédiatement. ® Dans un script d'arrét automatique destiné par exemple a faire une sauvegarde, utilisez un SHUTDOWN IMMEDIATE pour étre certain que la base de données sera effective- ment arrétée. b. Mode opératoire Lancez SQL*PLUS et connectez-vous AS SYSDBA, en vous. assurant que |'instance souhai- tée est correctement désignée. Exemple : > sqlplus /nolog SQL> SET INSTANCE orc] SQL> CONNECT / AS SYSDBA Vérifiez éventuellement s'il y a des utilisateurs connectés et des transactions en cours : Exemple : SQL> SELECT sid, serial#, username, DECODE(taddr,NULL,‘’,’Oui’) trans 2 FROM vSsession af Tapez la commande SHUTDOWN avec les options souhaitées : ~ Arrét sans utilisateur connecté + SQL> SHUTDOKN - Arr&t avec des utilisateurs connectés en laissant les transactions se terminer : SQL> SHUTDOWN TRANSACTIONAL La vue V$SESSION permet de visualiser les utilisateurs connectés ; cette vue sera présen- tée plus en détall dans le chapitre 12 - F. Superviser les utilisateurs connectés. Les techni- ques utilisables pour déconnecter les utilisateurs seront aussi présentées dans le chapi- tre 12 - F. Superviser les utilisateurs connectés. Dans v$sEssion, il faut vérifier s'il existe d'autres sessions que les sessions correspondant aux processus d’arriére-plan (colonne username vide) et que la session SYS (session utili- sée pour l'arrét). La requéte présentée ci-dessus permet aussi de savoir si les utilisateurs connectés ont une transaction en cours (colonne trans égale a Oui). © Dans la pratique, si le Database Control est lancé (service OMS et agent), vous aurez une ou plusieurs sessions SYSMAN et DBSNMP. Pour arréter la base de données, vous devrez donc soit arréter le Database Control (emctl stop dbconsole) soit utiliser la commande SHUTDOWN IMMEDIATE. Oracle 10g - Administration Ee «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. 5 5 & 8 Démarrage et arrét Pour démarrer ou arréter automatiquement une base de données, il suffit de mettre un Y dans le demier champ de la ligne correspondant a la base de données. Le script dbstart lance SQL*Plus et utilise la commande STARTUP sans clause PFILE ; la séquence de recherche du fichier de paramétres est donc la méme que pour un démar- rage manuel avec la commande STARTUP dans SQL*Plus. © si vous avez plusieurs versions d'Oracle sur votre serveus, utilisez les scripts dbatart et dbshut de la version la plus récente (ajustez la variable d'environnement $ORA- CLE_HOME en conséquence). b. Scripts. Les scripts dbstart et dbshut peuvent étre appelés manuellement pour démarrer ou arréter les bases de données configurées 4 y dans oratab. Des scripts shell personnalisés similaires 4 dbstart et dbshut peuvent étre trés facile- ment écrits, Exemple (script restart) : ORACLE_SID=$1 ORAENV_ASK=NO . oraenv export ORACLE_SID ORAENV_ASK sqlplus /nolog << _BOP_ CONNECT / AS SYSDBA SHUTDOWN IMMEDIATE STARTUP EXIT _FOF_ Appel : $ . restart ORCL Ce script permet de redémarrer une base de données dont I'identifiant d'instance est passé en paramétre. Il appelle le script oraenv pour modifier I'environnement puis SQL*Plus pour faire un SHUTDOWN et un STARTUP. La connexion SYSDBA s’effectue avec une au- thentification par le systéme d’exploitation. ORABNV_ASK=NO permet de ne pas avoir de question posée par oraenv. 2. Sur plate-forme Windows a. Automatisation Pour démarrer automatiquement une base au démarrage du systéme, il faut mettre le service associé a l'instance (oracleService) en démarrage automatique. Oracle 10g - Administration EE «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Eoltions ENI - All rights reserved Démarrage et arrét Cause(s) Action(s) Vous tentez de faire une action qui nécessite que a base de données soit montée, par exemple : interrogation de VSDATABASE, ordre SQL ALTER DA- TABASE OPEN, etc. Interrogez la colonne STATUS de VS$INSTANCE et si c'est le cas (valeur STARTED au lieu de MOUNTED), montez d'abord la base de données (ALTER DATABASE MOUNT). ORA-12560: TNS : erreur d’adaptateur de protocole Explication Le processus d’écoute n'a pas réussi a démarrer un processus pour connecter Cause(s) Action(s) lutilisateur a "instance. La variable ORACLE_SID n'est pas correctement positionnée Sur plate-forme Windows, le service associé l'instance (oracleser- vice) n'est pas lancé. Vérifiez la variable etou le service associé. Blocage d'un SHUTDOWN | Cause(s) Action(s) Sur un SHUTDOWN NORMAL, il y a des utilisateurs connectés. Sur un SHUTDOWN TRANSACTIONAL, il y a des transactions en cours. Sur un SHUTDOWN IMMEDIATE, il y a une trés grosse transaction 4 annu- ler... ou un autre probleme. Ouvrez une autre session de loutil d’administration, connectez-vous AS SYSDBA et exécutez un SHUTDOWN ABORT. Si cela ne marche pas, il faut *tuer" les processus : - Redémarrage du service associé 4 |'instance sur plate-forme Windows. = kill des processus sur plate-forme Unix. Lorsqu'un SHUTDOWN est en cours, il n'est plus possible d'interroger v$sEssion et donc de déterminer si le probléme est lié & des utilisateurs connectés. Sur un SHUTDOWN IMMEDIATE, soyez patient | L’arrét peut prendre plusieurs dizaines de secondes. Oracle 10g - Administration Es «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EDI - AU rights reserved Création d'une nouvelle base de donnees A. Vue d’ensemble 1. Etapes de création d’une nouvelle base de données pour une application Le processus complet de création d'une nouvelle base de données pour une application comporte les grandes étapes suivantes : Conception du modéle physique - Définir tous les objets (Oracle) de |'application : tables, contraintes d’intégrité (clés primaires/uniques/étrangéres), index, vues, programmes stockés (triggers, procédures/ fonctions stockées, packages). ~ Etudier la volumétrie de I'application (nombre d'utilisateurs, nombre de lignes attendues dans les tables), Création de la base proprement dite (ce chapitre) ~ Créer une nouvelle instance. - Créer une nouvelle base de données (fichiers de contréle, fichiers de journalisation et fichiers de données des tablespaces "techniques" d'Oracle). ~ Rendre le dictionnaire de données exploitable. - Ace stade, la base de données peut étre vue comme une "enveloppe" (une “boite vide") dans laquelle des structures vont étre créées pour une ou plusieurs applications. Création des structures de stockage adaptées (chapitres 10 et 11) = Créer les tablespaces (avec leurs fichiers de données) destinés a stocker les données de application (tables et index). ~ Les dimensionner en fonction de |'étude de volumétrie réalisée initialement. Création du compte Oracle qui va contenir les objets de l’application (chapitre 12) ~ Créer le compte. = Lui donner les priviléges suffisants pour créer les objets. - Llautoriser a utiliser de l'espace dans les tablespaces de l'application. Création des objets de l'application dans ce compte Oracle (chapitre 13) - Créer _ objets Oracle de |'application (généralement sous ta forme d'un ou de plusieurs scripts). - Dimensionner chaque objet occupant de l'espace de stockage (table et index) en fonction de l'étude de volumétrie réalisée initialement. Création des utilisateurs finaux de l'application (chapitre 12) ~ Créer les utilisateurs. - Leur donner des droits adaptés sur les objets de l'application (i.e. sur les objets créés précédemment dans le compte propriétaire de |’application). Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN - Ail rights reserved Création d'une nouvelle base de données b. Les principaux paramétres Les paramétres ne sont pas listés dans un ordre alphabétique mais dans un ordre thématique. © Reportez-vous au point c - Compléments sur les paramétres relatifs 4 la mémoire pour avoir plus d'informations ce sujet. DB_NAME Nom de la base (jusqu’a 8 caractéres). Généralement DB_NAME est égal au nom de I'ins- tance (ORACLE_STD). Exemple : DB_NAME = hernes DB_DOMAIN Localisation logique de la base sur le réseau (jusqu’d 128 caractéres), Ce paramétre, asso- cié au paramétre DB_NAME, permet & Oracle de construire le nom global de la base de données, sous la forme DB_NAME.DB_DOMAIN. Ce parameétre est important si la base de dame appartient & un systéme distribué (ou est susceptible de {'étre) ; sinon, il peut étre ignor Exemple : DB_DOMAIN = olivier-heurtel.fr DB_UNIQUE_NAME Nom unique de base de données (jusqu’a 30 caractéres). Des bases de données ayant le méme DB_NAME au sein du méme DB_DOMAIN (par exemple une base de production et une base de test) doivent avoir un DB_UNTQUE_NAME différent. Ce paramétre est apparu en version 10. Ce paramétre doit étre spécifié si vous souhaitez ouvrir simultanément sur un serveur deux bases portant le méme nom (le méme DB_NAME) ; il permet de les différencier. Exemple : DB_UNIQUE_NAME = hermes_demo COMPATIBLE Indique un numéro de version d'Oracle avec laquelle la base de données doit étre compati- ble. Valeurs possibles : 9.2.0 a la valeur par défaut de la version (10.1.0.2 ou 10.1.0.3). Valeur par défaut : 10.0.0. Ce paramétre permet d'utiliser une nouvelle version d’Oracle en restant compatible avec une version plus ancienne, et donc sans avoir besoin de tester les nouvelles fonctionnalités sur la base de données. Certaines fonctionnalités de la nouvelle version peuvent étre restreintes. La valeur du paramétre peut étre augmentée ultérieurement, mais il est ensuite généralement impossible de redescendre (il faut repartir d'une sauvegarde antérieure au changement). Oracle 10g - Administration Ee «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EPI - AIT rights reserved Création d'une nouvelle base de donnees LARGE_POOL_SIZE Taille en octets de la Large Pool. Peut étre spécifiée en octets, en Ko (symbole K), en Mo (symbole ™) ou en Go (symbole G). La valeur peut étre arrondie par Oracle au granule supérieur, Si le réglage automatique de la mémoire partagée est activé (SGA_TARGET différent de zéro), ce parametre fixe une taille minimale pour la Large Pool. S'il n'est pas spécifié, la valeur © lui est attribuée et la taille de la Large Pool est ajustée en interne par Oracle. Si le réglage automatique de la mémoire partapée est désactivé (SGA_TARGET égal a zér0), ce paramétre fixe la taille de la Large Pool. S'il n'est pas spécifié, sa valeur par défaut est dérivée de la valeur d’autres paramétres. Les besoins en Large Poof dépendent énormément de l'application et des fonctionnalités utilisées (exécution paraliéle des requétes, serveurs partagés, etc). II peut étre facilement audité ultérieurement et modifié en cas de besoin (sans arréter la base car le paramétre est dynamique). Exemple : LARGE_POOL_SIZE = 64M DB_CACHE SIZE Taille du Database Buffer Cache pour la taille de bloc standard (poo! standard). Peut étre spécifiée en octets, en Ko (symbole kK), en Mo (symbole m) ou en Go (symbole G). La valeur peut étre arrondie par Oracle au granule supérieur. Si le réglage automatique de la mémoire partagée est activé (SGA_TARGET différent de z6ro), ce paramétre fixe une taille minimale pour le Database Buffer Cache. S'il n'est pas spécifié, la valeur O lui est attribuée et Ia taille du Database Buffer Cache est ajustée en interne par Oracle, Si le réglage automatique de la mémoire partagée est désactivé (SGA_TARGET égal a zér0), ce paramétre fixe la taille du Database Buffer Cache. S'il n'est pas spécifié, sa valeur par défaut est de 64 Mo. Il n'y a pas. de rdgle simple ni de formule de calcul pour déterminer Ia taille du Database Buffer Cache. Les besoins dépendent énormément de l'application. Par contre, il peut étre facilement audité ultérieurement et modifié en cas de besoin (sans arréter la base car le paramétre est dynamique). Le Database Buffer Cache est souvent la composante la plus importante de la SGA (les deux tiers ou plus). Pour une petite base avec peu d'utilisateurs, une taille de 128 4 256 Mo peut étre suffi- sante. Pour les bases plus volumineuses avec un nombre diutilisateurs élevé, la taille peut monter & 1 Go ou plus. Exemple : DB_CACHE_SIZE = 640M Oracle 10g - Administration Eu «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI «At rights resened Création d’une nouvelle base de données Exemple : NLS_TERRITORY = france UNDO_MANAGEMENT Mode de gestion souhaité pour les segments d'annulation. Les valeurs possibles sont MA- NUAL (par défaut) pour la gestion manuelle et AUTO pour la gestion automatique. La gestion automatique des segments d'annulation est présentée en détail dans le chapi- tre 11. Ce mode de gestion est vraiment trés intéressant et doit étre utilisé. || peut étre activé dés la création de la base en mettant le paramétre UNDO_MANAGEMENT a AUTO et en créant un tablespace d’annulation dans l'ordre SQL CREATE DATABASE (voir le point B - 7. Créer la base de données). Exemple : UNDO_MANAGEMENT = auto UNDO_TABLESPACE Nom du tablespace d’annulation & utiliser par défaut lors du démarrage de |'instance. Si ce paramétre n'est pas renseigné, l'instance utilise le premier tablespace d'annulation qu'elle trouve (cf. chapitre 11). BACKGROUND_DUMP_DEST Répertoire de destination des traces des processus d'arriére-plan et du fichier d’alerte de Vinstance. Pour respecter le standard OFA, indiquez le chemin vers le sous-répertoire bdump créé dans le répertoire d’administration. Exemple : BACKGROUND_DUMP_DEST = d: \oracle\admin\HERMES\udump USER_DUMP_DEST Répertoire de destination des traces des processus utilisateurs. Pour respecter le stan- dard OFA, indiquez le chemin vers le sous-répertoire udump créé dans le répertaire d'admi- nistration, Exemple : USER_DUMP_DEST = d:\oracle\admin\HERMES\udump DB_RECOVERY_FILE_DEST Emplacement de la zone de récupération rapide (flash recovery area). Si ce paramétre est spécifié, il faut aussi spécifier le paramétre DB_RECOVERY_ FILE_DEST_SIZE. Voir le chapitre 14 pour plus d'informations sur le fonctionnement ét le rdle de la zone de récupé- ration rapide. Ce paramétre est apparu en version 10. Exemple : DB_RECOVERY_FILE_DEST = h:\oracle\flash_recovery_area Oracle 10g - Administration Eel «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Exitions EP «All rights reserved Création d'une nouvelle base de données La taille de la SGA est égale 4 DB_CACHE_SIZE + SHARED _POOL_SIZE + JAVA_POOL_SIZE (défaut) + LARGE_POOL SIZE (défaut) + un granule (SGA fixe et Redo Log Buffer) = 512 + 64 + 24 +8 + 4 = 612 Mo La mémoire libre est de 288 Mo (SGA_MAX_SIZE - taille de la SGA} ; en cas de besoin, les différents paramétres pourront étre augmentés pour tirer partie de cette mémoire dispo- nible. © ans le chapitre 8, nous verrons comment superviser la mémoire utilisée par I'instance et comment modifier dynamiquement la mémaire. Conseil sur artition SGA/PGA Oracle donne les indications suivantes sur la répartition de la mémoire entre SGA et PGA : Pour les systémes transactionnels {OLTP) : - SGA : environ 80% de la mémoire disponible pour l’instance ; ~ PGA : environ 20% de la mémoire disponible pour I'instance. Pour les systémes décisionnels (DSS) : - SGA : entre 50% et 30% de la mémoire disponible pour I'instance ; - PGA : entre 50% et 70% de la mémoire disponible pour |'instance. Cette recommandation est un point de départ. Il est nécessaire de surveiller ensuite le fonctionnement de instance pour affiner ces valeurs. En régle générale, les requétes exécutées par les systémes transactionnels effectuent des petits tris ; les processus serveurs n’ont donc pas besoin d'une grosse zone de travail. Privilégier la SGA est alors opportun. A Vinverse, les requétes des systémes décisionnels effectuent de gros tris ; les processus serveurs ont donc besoin d'une grosse zone de travail. Privilégier !a PGA est alors opportun. Ces directives peuvent étre utilisées pour dimensionner la SGA et fa PGA sur un syst8me dont a mémoire physique est imposée. Supposons par exemple que le systéme dispose de 1 Go de mémoire physique. Nous Pouvons faire le raisonnement suivant pour un systéme transactionnel : ~ Réserver 20% de la mémoire pour le systeme d'exploitation (plus si d'autres applications s‘exécutent sur le serveur), soit 204 Mo arrondis 4 224 Mo (un peu de marge). ~ Il reste done environ 800 Mo disponibles pour Oracle. - Attribuer 80% de cette mémoire 4 la SGA et 20% la PGA, ce qui permet de spécifier SGA_MAX_SIZE = 640M et PGA_AGGREGATE TARGET = 160M. - Si nous décidons d'utiliser la fonctionnalité de gestion automatique de la mémoire partagée, et de laisser Oracle dimensionner les composantes de la SGA, nous pouvons aussi spécifier SGA_TARGET = 640M (autant utiliser toute la mémoire). Oracle 10g - Administration peg «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitions EN - All rights reserved Création d'une nouvelle base de données Sur plate-forme Unix ou Linux, le fichier de mot de passe s'appelle généralement orapw ( désignant le nom de |'instance) et est situé dans le répertoire SORA- CLE_HOME/dbs. Sur plate-forme Windows, le fichier de mot de passe s‘appelle généralement pwd.ora ( désignant le nom de |'instance) et est situé dans le répertoire SORACLE_HOME$ \database. Si le fichier de mot de passe existe déja, vous obtiendrez une erreur ; pour recréer un fichier de mot de passe, il faut supprimer manuellement le précédent ou utiliser l'option FORCE. N’oubliez pas de jitionner le paramétre REMOTE_LOGIN_PASSWORDFILE en cons © pos! paramat s6- quence (chapitre 2 - D - 3. Identification privilégiée SYSDBA et SYSOPER). 4. Lancer SQL*Plus et se connecter AS SYSDBA Maintenant que les étapes a réaliser au niveau du systéme d'exploitation sont terminées, nous pouvons lancer SQL*Plus et nous connecter AS SYSDBA. Pour cela : - Positionner la variable d'environnement ORACLE_SID au niveau du systéme d'exploitation : - Sur plate-forme Windows (possible aussi dans la base de registre) : set ORACLE_SID=HERMES - Sur plate-forme Unix ou Linux (& adapter en fonction du shell) : export ORACLE_SID=HERMES - Démarrer SQL*Plus sans se connecter : sqiplus /nolog - Se connecter AS SYSDBA : = Authentifié par le systéme d’exploitation = CONNECT / AS SYSDBA = Authentifié par un fichier de mot de passe : CONNECT sys/wx#12 AS SYSDBA 5. Créer le fichier de paramétres serveur La création d'un fichier de paramétres serveur s'effectue a partir d'un fichier de paramétres texte, grace a l'ordre SQL CREATE SPFILE. Syntaxe : CREATE SPFILE [ = ‘nom_spfile’ ] FROM PPILE [ = ‘nom_pfile’ ] Oracle 10g - Administration Ee «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENT - Al rights reserved Création d'une nouvelle base de données Cet exemple utilise une variable de substitution &chemin pour le chemin des fichiers de la base de données ; cette variable est définie au préalable dans SQL*Plus, avec la syntaxe DEFINE chemins.... ordre SQL CREATE DATABASE dure quelques minutes. ordre SQL CREATE DATABASE crée la nouvelle base de données, en loccurrence : = création des fichiers de contrdle ; création des fichiers de journalisation ; création du tablespace SYSTEM et de son fichier de données ; création du tablespace SYSAUKX et de son fichier de données ; création du dictionnaire de données (dans le tablespace SYSTEM) ; création d'un segment d’annulation (nommé SYSTEM stocké dans le tablespace SYSTEM) ; création des comptes Sys et SYSTEM (entre autres) ; création éventuelle d'un tablespace d'annulation, d'un tablespace temporaire par défaut et d'un tablespace permanent par défaut. A arrivée, la base de données est ouverte et parfaitement opérationnelle, Par contre, les vues et Synonymes du dictionnaire de données ne sont pas créés et le dictionnaire est done peu exploitable. La finalisation de la création du dictionnaire est décrite dans le point 8 ci-aprés. Toutes les structures stockées dans le tablespace SYSTEM sont créés grace au script sql.bsq qui se trouve dans le répertoire SORACLE_HOME%\rdbms\admin ou $ORA- CLE_HOME/rdbms/admin. En ce qui concerne les fichiers de la base de données, les recommandations de nommage sont les suivantes = Fichier de controle controlnn.ct1, nn étant un numéro d’ordre (01, 02, etc.). Fichier de journalisation redonn.1log, nn étant le numéro du groupe (01, 02, etc.). Fichiers de données tablespacenn. dbf, tablespace étant le nom du tablespace et nn le numéro d’ordre du fichier au sein du tablespace (01, 02, etc.). Si ordre SGL CREATE DATABASE échoue pour une raison ou pour une autre, il est possible que plusieurs des fichiers de la base de données aient déja été créés. Dans ce cas, avant de relancer la création, il faut supprimer les fichiers déja créés (sous peine que le oae DATABASE échoue de nouveau, mais cette fois parce que des fichiers existent ja). Les causes d'un échee de la création d’une base de données peuvent étre multiples : = manque d'espace ; = chemin erroné pour un fichier (Oracle ne erée par les répertoires, ils doivent déja exister) 5 = ete. Oracle 10g - Administration Es} «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EMI - Ail rights reserved Création d'une nouvelle base de données Cette clause permet de créer un tablespace d’annulation qui est utilisé pour la gestion automatique des segments d’annulation. Ce mode de gestion est intéressant et doit étre utilisé dés la création de la base. La gestion automatique des segments d’annulation sera présentée en détail dans le chapitre 11. La syntaxe pour spécifier les caractéristiques des fichiers de données de ce tablespace est la méme que pour le tablespace SYSTEM. La Clause optionnelle BIGFILE ou SMALLFILE permet de préciser le type de tablespace ; si cette clause est omise, le type est déterminé par la clause SET DEFAULT ... TABLESPACE présentée précédemment. CL BIGFILE | SMALLFILE ] DEFAULT TEMPORARY TABLESPACE Exemple : SMALLFILE DEFAULT TEMPORARY TABLESPACE temp TEMPFILE ‘&chemin\temp0l.dbf’ SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1024M Cette clause permet de créer un tablespace temporaire par défaut. Cette notion est intéres- sante et doit étre mise en ceuvre dés la création de la base de données. Le tablespace temporaire sera présenté en détail dans le chapitre 10. La syntaxe pour spécifier les caractéristiques des fichiers de données de ce tablespace, est la méme que pour le tablespace SYSTEM, mais en remplacant le mot clé DATAFILE par ‘TEMPFILE. La clause optionnelle BIGFILE ou SMALLFILE permet de préciser le type de tablespace ; si cette clause est omise, le type est déterminé par la clause SET DE- FAULT ... TABLESPACE présentée précédemment. DEFAULT TABLESPACE nom ... Exemple DEFAULT TABLESPACE deftbs DATAFILE ‘&chemin\deftbs01.dbf" SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 500M EXTENT MANAGEMENT LOCAL AUTOALLOCATE Cette clause permet de créer un tablespace permanent par défaut. Ce tablespace sera affecté par défaut, comme tablespace par défaut des utilisateurs non “systéme" (autres que SYS, SYSTEM, etc.). Le tablespace par défaut d’un utilisateur est le tablespace dans lequel Oracle stocke les segments créés par l'utilisateur si celui-ci n'a pas mentionné explicitement de tablespace. Cette notion n'est pas fondamentale. Elle n'est réellement intéressante que dans les bases de données of beaucoup di'utilisateurs ayant le droit de créer des segments devront étre gérés ; définir un tablespace permanent par défaut permet de simplifier la création des utilisateurs (chapitre 12). Le tablespace permanent par défaut peut étre défini ultérieurement. Le tablespace permanent par défaut utilisé par défaut par Oracle est le tablespace SYSTEM ; cela ne présente pas de risque vis-a-vis du tablespace SYSTEM, car les utilisateurs non DBA n’ont pas (normalement - c'est le cas par défaut) de quota sur le tablespace SYSTEM, et ne peuvent pas y créer de segments (voir le chapitre 12). Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. @ Ecitions ENT - All rights resenved Création d'une nouvelle base de données MAXINSTANCES - MAXLOGFILES - MAXLOGMEMBERS - MAXDATAFILES Exemple : MAXINSTANCES 1 MAXLOGFILES 16 MAXLOGMEMBERS 4 MAXDATAFILES 128 Ces options permettent de limiter le nombre de fichiers de la base de données : MAXLOGPILES Nombre maximum de groupes de fichiers de journalisation. MAXLOGMEMBERS Nombre maximum de membres dans un groupe de fichiers de journa- lisation. MAXDATAFILES Nombre maximum de fichier de données. Les valeurs minimales, par défaut, et maximales dépendent de la plate-forme. Ces paramétrent impactent directement la taille des fichiers de controle car Oracle réserve le nombre d'entrées nécessai dans les fichiers de contrdle ; mettre des valeurs trés Brandes, “pour 6tre tranquille", peut donc conduire a un fichier de contréle démesurément grand (plus de 10 Mo ou plus contre 3 4 5 Mo en temps normal). Mettre les valeurs suivantes permet, en général, d’étre tranquille, sans trop augmenter la taille du fichier de contréle : MAXLOGEILES En général, une base utilise quatre ou cing groupes, donc, mettre une valeur de |"ordre de 10 serait largement suffisant ; malheureusement, MAXLOGFILES a une valeur mini- mum égale & deux fois une autre option, MAXINSTANCES (intéressante uniquement avec l'option RAC), qui par défaut vaut 16 {soit un MAXLOGFILES minimum de 32 !}. Le plus simple est soit de ne rien mettre (et la valeur par défaut, égale A la valeur minimum est largement suffisante) soit de mettre 32 (ce qui revient au méme) : qui peut le plus, peut le moins et l'espace gaspillé dans le fichier de contrdle est négligea- ble. Une autre approche peut consister 4 donner une valeur 4 MAXINSTANCES (1 par exemple) et 4 mettre MAXLOGFILEs a une valeur de l'ordre de 10. MAXLOGMEMBERS 3 ou 4 (utiliser trois membres par groupe offre normalement un niveau de sécurité suffisant, si ces membres sont situés sur des disques différents). 5 est souvent la valeur maximale autorisée pour cette option, MAXDATAFILES De ordre de 50 4 100 (éventuellement plus pour fes trés grosses bases). Classique- ment, une base moyenne utilise 10 4 20 fichiers de données. Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. @ Evitions ENT - AM rights resoned Création d'une nouvelle base de données Pendant la configuration, emca affiche plusieurs messages d’informations dont : ~ Un message d’alerte au début si la configuration de la base de données n'est pas satisfaisante (taille de la Shared Poo! par exemple). - Un message 4 la fin donnant I'URL a utiliser pour se connecter au Database Control. Malgré le message indiquant que la console a été lancée, il arrive que ce ne soit pas le cas ; vous pouvez alors utiliser lutilitaire emct1 pour la démarrer (emct1 start dbconsole - cf, chapitre 5 - C - 3 - Gérer le Database Control). Vous pouvez ensuite vous connecter au Database Control en utilisant 'URL indiquée par V'utilitaire. 12.Résumé ; écrire un script de création d'une base de données En utilisant les caractéristiques de chaque systéme d'exploitation, il est facile d’écrire des scripts plus ou moins. paramétrés permettant d’automnatiser la création d'une nouvelle base de données. Vous trouverez des exemples de scripts pour les plates-formes Windows et Unix/Linux sur les sites des Editions ENI. 13.Retrouver des informations sur la base de données Les vues V$DATABASE et DATABASE_PROPERTIES permettent de retrouver des informa- tions sur une base de données. Les colonnes intéressantes de la vue VSDATABASE sont les suivantes : NAME Nom de la base de données. CREATED Date/heure de création de la base de données. LOG_MODE Mode de fonctionnement vis-a-vis de l'archivage (ARCHIVELOG ou NOARCHIVELOG). FORCE_LOGGING YES 0U NO selon que le mode FORCE LOGGING est actif ou non. PLATFORM_NAME Nom de la plate-forme. DB_UNIQUE_NAME Nom unique de la base de données. La vue DATABASE_PROPERTIES contient des informations sur les propriétés de la base. Les principales colonnes de cette vue sont les suivantes : PROPERTY_NAME Nom de la propriété. PROPERTY_VALUE Valeur de la propriété, Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Création d‘une nouvelle base de données Options de gestion TET ‘Chaauie base de deroses Oracle pat Ue pte madre canal be vin ia conte ante Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN! - All rights reserved Creation d'une nouvelle base de donnees Contenu de la base de données Assistant Configuration vamp ca scnéms | {SEH BaRSEMATEES) Les exernples de schéma iustent/uliisaton dune approche en couche a a cornplenté et $e démonstvaton. 81 vous instalezces exemple, ‘yatta base de donndes conbenties schémas suivants: Human Resources, Order Entn, Indiquee sl yous souhasterajoutortes exemples ds echéma& yotra base de Gonndes. F Exemples ae echérmas art Sur cet écran, indiquez si vous souhaitez installer les schémas d'exemple fournis par Oracle (premier onglet) et/ou exécuter des scripts personnels (deuxiéme onglet), puis cliquez sur le bouton Suivant. Les schémas d’exemple peuvent tre installés ultérieurement (scripts stockés dans le répertoire %ORACLE_HOME%\demo\schema ou S$ORACLE_HOME/ demo/schema). ~ Oracle 10g - Administration Be] «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - Ait rights reserved Création d'une nouvelle base de données Le dossier Groupes de fichiers de joumalisation permet de configurer les fichiers de journa- lisation : ajouter/supprimer des groupes, ajouter des membres dans les groupes, modifier la des groupes. Aprés avoir saisi les informations requises, vous pouvez cliquer sur le bouton Suivant. Options de création See es er eee eee SBiectionned les options de eréabon de base de données: Fe Giber une base de données [ Enjegistreren tant que modble de base de connées tion Femnes Des eiption Ee donuier Aida) S Brbcka Buirant vatemine__) Sur cette page, indiquez si vous souhaitez créer la base immédiatement et/ou enregistrer les options dans un nouveau modéle, puis cliquez sur le bouton Terminer. Confirmation Un récapitulatif est affiché lorsque vous cliquez sur le bouton Terminer durant une des étapes précédentes. Cliquez sur le bouton OK pour lancer |'opération. Durant la création de la base de données, une fenétre affiche un état d’avancement. Oracle 10g - Administration Eel «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Etitions ENI - Alt rights reserved Création d'une nouvelle base de données Be script emRepository.sql, généré par l'assistant, crée le référentiel du Database Control mais ne erée pas le reste de l'environnement (répertoires, service sur plate- forme Windows). Cette configuration doit étre faite ensuite avec I'utilitaire emca (avec loption -r puisque le référentiel existe déja). Ce probleme ne se produit pas lorsque la base de données est créée directement par l'assistant. 4. Gérer les modéles assistant permet de définir des modéles de base de données personnalisés, pouvant éven- tuellement inclure des fichiers de données préts a l'emploi. Le premier écran de la gestion des modéles permet de choisir l'opération a réaliser, création ou suppression : CRN eee eee eee ey ‘Soiectonnez fopératon de peston de montles que ous sounater execute Crier un modile de base de donndes Apart dun moddle anstart © npartt cune bese s wonntes enlstanta (sructuen sauternenty Lamcadie cortionsra ies informatione de clutture dala base ds données source, y oinpts las optone de bate de données, es tablespaces, ies fchiers ge donnbes elles [paramdtes dintiais sion inciqués cans ja base de doonfies source. Les schemes diinis par utiicatour otbea données axsocides ne serort tavetois pas intbgrés au moabie rbé, Apart Sune bese de données existanta (ed uetur et données) ‘Le moddie cortendra ies informations ge stucture ast que phfsiquee indiqués dane labaes de donndve wource, Let bases de dom aide de ce moddle serortidentiquet Ala base ve données #01 ‘par utlisateureties Gonnées associées serontintégrés au:modtle, © Supprimar un modble de Ease de données Aenuier —_) Aa S Pricédent Plusieurs options sont proposées pour la création. L'option A partir d'un modéle existant permet de choisir un modéle puis de dérouler les différentes étapes de la création pour modifier les options souhaitées (comme pour une création de base de données). option A partir d'une base de données existante (structure seulement) permet de repren- dre la structure d'une base de données existante, mais sans inclure les fichiers de la base de données. Oracle 10g - Administration Ee! «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN! « All rights reserved Gestion de I'instance COMMENT = ‘texte’ Commentaire associé a la modification du parameétre. Inséré dans le fichier de paramétres serveur si ce demier est la cible de la modification (voir la clause SCOPE) ; visible dans la colonne UPDATE_COMMENT de la vue V$PARAMETER si la mémoire est la cible de la modification (voir la clause SCOPE). DEFERRED Si présente, indique que la modification ne concerne que les fu- tures sessions, pas celles actuellement connectées. N'a de sens que si la mémoire est la cible de la modification (voir la clause SCOPE). Peut &tre obligatoire pour certains paramétres (ceux dont la colonne ISSYS_MODIFIABLE vaut DEFERRED dans la vue $PARAMETER). SCOPE Définit la cible de la modification : - MEMORY ; la mémoire seulement (instance en cours). - SPFILE : le fichier de parametres serveur seulement. + BOTH : les deux. La clause SCOPE = SPFILE ne peut étre spécifiée que si I'instance a démarré avec un fichier de paramétres serveur. La modification s'applique uniquement au fichier de paramé- tres serveur et n'est pas prise en compte immédiatement ; elle sera prise en compte uni- quement au prochain démarrage. C’est la seule option possible pour les paramétres stati- ques. La clause SCOPE = MEMORY s'applique uniquement 4 la mémoire (instance en cours) et est prise en compte immédiatement. La modification ne survit pas a I'arrét de la base. Cette option n'est pas autorisée pour les paramétres statiques. C'est la seule option possible si l'instance a démarré avec un fichier de paramétres texte ; c'est la valeur par défaut dans ce cas. La clause SCOPE = BOTH s‘applique a la mémoire (instance en cours) et est prise en compte immédiatement (aspect MEMORY). La modification est persistante dans le fichier de paramétres serveur (aspect SPFILE). Cette option n'est pas autorisée pour les paramétres statiques (aspect MEMORY). Elle ne peut étre spécifiée que si l'instance a démarré avec un fichier de paramétres serveur (aspect SPFILE). Cette option n'est pas autorisée pour les parameétres statiques (aspect MEMORY). Exemple Modification d'un paramétre uniquement dans le fichier de paramétres serveur = SQl> ALTER SYSTEM SBT SGA_TARGET = 400M 2 COMMENT = "Modif. OH du 27/12/2004" 3 SCOPE = SPFILE; Systéme modifié. Oracle 10g - Administration | 195| «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EN - Al rights resenved Gestion de l'instance 4. Utiliser le Database Control Dans le Database Control, cliquez sur le lien Administration sur la page d'accueil puis sur le lien Tous les parameétres d'initialisation (cadre Instance) pour accéder a la page de gestion des parameétres d'initialisation : iain ieee ta Taio > Paramétves dintiakeation Paramétres d'nitialisation aSPRLE Les valaurs do paramétieréperoniges ici sont actusllementutiaées pa Jes instances en cours iextcution, Vous power modi SPFILE En cours | Ful Jcempatbie a 10102 ‘Sting | entra fies 2 *F \ORADATAHERMESICONTROLOT CTL Sting \G\ORADATAHERMESICONTROLIZ ETL’ lab Beek size D 310. ¥ Sur Vonglet En cours, vous pouvez consulter et modifier la valeur actuelle des paramétres, Pour filtrer la liste, saisissez une partie du nom d'un paramétre et cliquez sur le bouton Exécuter. Les modifications affectent uniquement |'instance en cours (SCOPE=MEMORY). Seuls les paramétres dynamiques sont modifiables. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Gestion de l'instance SQL> SELECT name, value FROM vS§sga 2 UNTOW ALL 3. SELECT ‘*** TOTAL ***/,SUM(value) FROM v$sga; NAME VALUB Fixed Size 778660 variable Size 137109084 Database Buffers 176160768 Redo Buffers 524288 #e4 TOTAL 314572800 La vue V$SGASTAT donne des informations détaillées sur la taille de la SGA ; dans cette vue, la quantité SGA_MAX_S1ZE n'est pas virtuellement affectée a la SGA. La we V$SGAINFO donne aussi des informations synthétiques sur la SGA, mais qui s'avé- rent a l'usage plus intéressantes que celles données par la vue V$SGA. SQL> SELECT name, display value FROM v$parameter 2 WHERE name IN (‘sga_target',’sga_max_size NAME DISPLAY_VALUE sga_max_size sga_target SQL> SELECT name, bytes/(1024*1024) si: 2 FROM v§sgainfo NAME RES Fixed SGA Size No Redo Buffers No Buffer Cache Size Yes Shared Pool Size Yes Large Pool Size 4 Yes Java Pool Size 4 Yes Streams Pool Size 0 Yes Granule Size 4 No Maximum SGA Size 300 No Startup overhead in Shared Pool 28 No | Pree SGA Memory Available 48 g Cette vue donne les informations suivantes : ® Fixed SGA Size Taille de la SGA fixe. <= Redo Buffers Taille du Buffer Redo Log. & puffer cache Size Taille du Buffer Cache (pour tous les pools). Shared Pool Size Taille de la Shared Pool. @ Eon Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - A rights reserved Gestion de linstance Lorsque la gestion automatique de la mémoire partagée est désactivée, l'onglet SGA s'affi- che ainsi : Taihies aeons am Domeran oataboce tomes clviacheutel | > Parambttes de mémore Paramétres de mémoire Page réginirte 27 dée.2004 OBI | Piginiver) jartagdes contenant les données et ls informations relates a un seul loude en mémoie lors du démarrage dune instance do base de Ls mémoire SGA est un groupe de structures de mémo eystima do bare da données Oracle. La mémcire SGA, ionnses Oracle tion automatique de ta mémoive partagée Désactivé (Actver) Poo panans MBE] Cereal) gy Cache de tampon [ia aS] ((Conseas ) = Pool patagéGa7 9%) | Zone de menor a pg r= sexeome | a ve] Sto Pook 8%) Ate Wo) Pod Jor) Maro SSA ap BaweQ 3%) | tee (6) alle maximaie de mémoire SGA La taile mauimale de mémoise SGA indique la quanite d= mémoire aboute lors du démarage dela base de données. Si vous ‘sptcifez Ia taile marimale de mémcire SGA, vous pouvez moder ulérieurement et de fagon dynamsque a tale des composts dela mimaite SGA (§ cendtion que la tal totale de mémmoie SGA ne dépasce pas la tale maxis) Taille marimale de mémoire SGA (WE) [OD T Appliquer les madifeations uniquement au fchior SPFILE. Sinon, sles cont appiquées & ce fichier t & instance acta, co qu ssige de redémanerta base de données pour appeler les paramatiesstatiques Le Database Control affiche Ia taille des structures de la SGA qui sont gérées automatique- ment, ainsi que la taille maximale de la SGA, et permet de les modifier (voir ci-dessus pour le fonctionnement). Oracle 10g - Administration Eg «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Eaitions EN! = Alt rights reserved Gestion des fichiers de contrdle et de journalisation Vous pouvez aussi interroger la vue VSCONTROLFILE_RECORD_SECTION pour obtenir des informations sur le contenu des différentes sections du fichier de contréle = SQL> SELECT type, records_total, records_used 2 FROM vgcontrolfile_record_section; TYPE RECORDS TOTAL RECORDS_USE! DATABASE 1 1 CKPT PROGRESS 4 ° REDO THREAD 1 1 REDO LOG 16 3 DATAFILE 128 6 FILENAME 193 13 7 TABLESPACE 128 Cette vue indique notamment le nombre maximum d’enregistrements possibles dans les différentes sections et le nombre d'enregistrements actuellement utilisés. Dans notre exem- ple, il y a 6 enregistrements de fichiers de données utilisés sur les 128 possibles. Certaines limites proviennent des valeurs attribuées aux options MAX* de l'ordre SQL CREATE DA- TABASE (MAXDATAFILES par exemple). Certaines colonnes de la vue VSDATABASE donnent aussi des informations sur les fichiers de contréle : CONTROLFILE_CREATED Date de création du fichier de contrdle. CONTROLFILE_SEQUENCE# Numéro de séquence du fichier de contrdle, incrémenté lors des mises a jour du fichier de contréle. CONTROLFILE_CHANGE# Dernier numéro SCN enregistré dans le fichier de contréle. CONTROLFILE_TIME Date/neure de demier enregistrement dans le fichier de contréle. CHECKPOINT_CHANGE# Numéro SCN du dernier point de reprise. CURRENT_SCN Numéro SCN courant. Exemple : SQL> ALTER SESSION SET NLS_DATE_FORMAT="DD/MM/YYYY MH24:MI:SS" ; Session modifiée. SQL> SELECT controlfile_created, controlfile_time, control file_sequence, 2 current_scn,controlfile_changeil, checkpoint_change# 3 FROM v$database; CONTROLFILE_CREATED CONTROLFILE TIME — CONTROLFILE_SEQUENCE# CURRENT_SCN CONTROLFILE_CHANGE# CHECKPOINT _CHANGEY 7929 23/12/2004 09 9 27/12/2004 20 287085 287084 272694 Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Gestion des fichiers de contrdle et de journalisation Les colonnes intéressantes des différentes vues sont présentées ci-aprés. V§LOG GROUPH SEQUENCE# BYTES MEMBERS, ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME V§LOG_FILE GROUPE STATUS MEMBER IS_RECOVERY_DEST_FILE V$LOG_HISTORY SEQUENCEH FIRST_CHANGE# NEXT_CHANGEH FIRST_TIME Numéro du groupe. Numéro de séquence du groupe (s'incrémente 4 chaque basculement). Taille en octets. Nombre de membres. Groupe archivé (¥BS ou NO). Statut du groupe : - UNUSED : groupe jamais écrit (sans doute nouveau) ; - CURRENT : groupe courant (groupe en cours d'écriture) ; = ACTIVE : groupe encore nécessaire en cas de restaura- tion d'instance (point de reprise non terminé) ; - INACTIVE : groupe inutile pour une restauration c'ins- tance (point de reprise terminé). Plus petit numéro SCN écrit dans le groupe. Date et heure du plus petit numéro SCN. Numéro du groupe. Statut du membre : - INVALID : fichier inaccessible ; - STALE : fichier incomplet (statut des nouveaux mem- bres) 5 - DELETED : fichier supprimé, plus utilisé ; + vide : fichier utilisé. Nom complet du fichier membre Indique (YES ou NO) si le membre est stocké dans la zone de récupération rapide (telle que définie par le paramétre DB_RECOVERY_FILE DEST). Numéro de séquence du groupe. Plus petit numéro SCN (numéro de transaction) écrit dans le groupe. Plus grand numéro SCN (numéro de transaction) écrit dans le groupe. Date et heure du plus petit numéro SCN écrit dans le ‘groupe. Oracle 10g - Administration Ba «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - All rights reserved Gestion des fichiers de contréle et de journalisation Exemple : ‘ALTER DATABASE ADD LOGFILE. GROUP 4 ('e:\oradata\hermes\redo04a. log’, ‘g:\oradata\hermes\redo04b. log’) SIZE 50M; ‘Sauf opération d’augmentation de la taille des groupes, le nouveau groupe présente norma- lement ie. meme taille que les autres ; avoir des groupes de tailles différentes ne présente aucun intérét. d. Déplacer un membre Le mode opératoire pour déplacer un fichier de journalisation est le suivant : ~ arréter la base de données (proprement, par ABORT) : SQL> SHUTDOWN IMMEDIATE - déplacer le(s) fichier(s) de journalisation vers le nouvel emplacement : SQL> HOST move e:\oradata\hermes\redod4a.log - > £:\oradata\hermes \ redod4a.. 10g - monter la base de données : SQl> STARTUP MOUNT utiliser l'ordre SQL ALTER DATABASE RENAME FILE pour indiquer 4 Oracle le nouvel emplacement : SQL> ALTER DATABASE 2 RENAME FILE ‘ 3 To’ oradata\hermes\redo04a .log‘ :\oradata\hermes\redo04a .1og’ ; ~ ouvrir la base de données : SQL> ALTER DATABASE OPEN; La syntaxe de l'ordre SQL ALTER DATABASE RENAME FILE est la suivante : ALTER DATABASE RENAME FILE ‘ancien_nom_complet’ TO ‘nouveau_nom_complet’ Exemple : ALTER DATABASE RENAME FILE ’e:\oradata\hermes\redoO4a.log* TO ‘f:\oradata\hermes\redo04a.1og’ ; Notez bien que l'ordre SQL ALTER DATABASE RENAME FILE ne renomme pas ni ne déplace le fichier physique ; cette opération doit étre effectuée par une commande du systéme d'exploitation. L’ordre SQL ALTER DATABASE RENAME FILE sert juste a indi- quer a Oracle le nouvel emplacement ou le nouveau nom d'un fichier (Oracle met a jour en conséquence le fichier de contréle). Oracle 10g - Administration | 219] «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Chapitre 10 : Gestion des tablespaces et A. des fichiers de données Vue d'ensemble et directives. 0... 2 eee eee © 225 1. Vue d’ensemble... 6s cua cpa © ea wake 225 2. DWESHIVESS. cers ie a acttee © roe = Hm A OMe @ 226 Tablespace permanent... 1... 1. eee ee eee 227 1. Création d’un tablespace permanent... 1... eee 227 2. Remarques sur les tablespaces BIGFILE 231 3. Tablespace permanent par défaut 232 4. Modification d'un tablespace permanent 233 a. Vue d’ensemble 233 b. Renommer un tablespace 233 c, Ajouter un fichier de données @ un tablespace 234 d. Modifier la taille d'un fichier de données . 234 e. Modifier |"extension automatique d'un fichier de données .. 235 f. Passer un tablespace OFFLINE/ ONLINE... ....... 236 g. Renommer ou déplacer un fichier de données 236 h. Autres opérations 5. Suppression d’un tablespace permanent 238 Organisation du stockage a l'intérieur d'un tablespace . 240 A. Principes 2 et te 240 2. Spécifier fe stockage d'unsegment..............-- 241 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EMI = Alt rights resarved Gestion des tablespaces et des fichiers de données Pour les bases de données volumnineuses et les serveurs comprenant plusieurs disques, vous pouvez utiliser deux tablespaces (ou plus) pour les tables et deux tablespaces (ou plus) pour les index et répartir les fichiers de données des tablespaces sur les différents disques. Dans une telle configuration, l'idéal est d’avoir aussi les tablespaces SYSTEM, SYSAUX, annulation et temporaire sur des disques différents, et de dédier d'autres disques aux fi- Chiers de journalisation. Le serveur Oracle idéal doit posséder au minimum une dizaine de disques. Dans la pratique, nous disposons bien souvent de moyens limités, et nous es- sayons, dans ce cas, de répartir au mieux les entrées/sorties sur les différents disques. Les recommandations d’Oracle vis-a-vis du stockage des fichiers de la base de données tiennent en un sigle : SAME (Strip And Mirror Everything). En clair, Oracle recommande d'utiliser une technologie de type RAIDO+1 sur chaque axe ; “Strip* (RAIDO) pour les performances et "Mirror" (RAID1) pour la sécurité. B. Tablespace permanent 1. Création d'un tablespace permanent Vordre SQL CREATE TABLESPACE permet de créer un tablespace permanent. Syntaxe simplifiée CREATE [ BIGFILE | SMALLFILE ] TABLESPACE nom DATAFILE spécification_fichier [,...] clause_gestion_extension } clause_gestion_segment ] MINIMUM EXTENT valeur [K{MI ] DEFAULT [ COMPRESS | NOCOMPRESS ] clause_stockage | BLOCKSIZE valeur [K] ] LOGGING | NOLOGGING | FORCE LOGGING ] FLASHBACK { ON | OFF } ] ONLINE | OFFLINE ] ; - spécification fichier ‘nom_fichier‘ [ SIZE valeur (K|M|G|T] ] [REUSE] [ clause_aute extension ] > clatise_auto_extension AUTOEXTEND QFE | AUTOEXTEND ON [ NEAT valeur [(K|M|G|T] j { MAXSIZB UNLIMITED | valeur {K|M|G|T] J + clause_gestion_extent EXTENT MANAGEMENT DICTIONARY | EXTENT MANAGEMENT LOCAL { AUTOALLOCATE | UNIFORM [ SIZE valeur [X|M[G|T] ] } - clause_gestion_segment SEGMENT SPACE MANAGEMENT { MANUAL | AUTO } + clause_stockage Oracle 10g - Administration EZ «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (© Editions EN » AN rights seserved Gestion des tablespaces et des fichiers de données FLASHBACK { ON | OFF } Cette clause indique si le tablespace participe ou non aux opérations de FLASHBACK DA- TABASE (voir le chapitre 14). ONLINE | OFFLINE Cette clause indique si le tablespace est créé ONLINE (défaut) ou OFFLINE. 2. Remarques sur les tablespaces BIGFILE Les tablespaces BIGFILE simplifient |'administration en offrant une transparence du fichier de données. Comme nous le verrons par la suite, certaines opérations peuvent étre réalisées directement sur le tablespace BIGFILE (par un ordre SQL ALTER TABLESPACE) et non sur les fichiers de données, comme c'est le cas pour un tablespace SMALLFILE. Les tablespaces BIGFILE sont forcément gérés localement (EXTENT MANAGEMENT LO- CAL) avec une gestion automatique de I'espace dans les segments (SEGMENT SPACE MA- NAGEMENT AUTO). Exemple de tablespace BIGFILE CREATE BIGFILE TABLESPACE je_suis_gros DATAPILE ‘e:\oradata\hermes\je_suis_gros.dbf’ SIZE 106; Les tablespaces BIGFILE sont plutdt destinés a étre utilisés avec un gestionnaire de volu- mes logiques qui supporte le striping ou le RAID. Si ce n'est pas le cas, on peut rencontrer des problémes de performance avec |'exécution en paralléle des requétes ou la parallélisa- tion des sauvegardes RMAN. Un type par défaut SMALLFILE ou BIGFILE peut étre défini au niveau de la base de données, soit lors de la création de la base de données (clause SET DEFAULT TABLE- SPACE de l'ordre SQL CREATE DATABASE - voir le chapitre 7 - B - 7 - Créer la base de données), soit ultérieurement grace a |'ordre SQL ALTER DATABASE. Syntaxe = ALTER DATABASE SET DEFAULT { SMALLFILE | BIGFILE } TABLESPACE ; Le type par défaut actue! peut étre consulté dans la vue DATABASE_PROPERTIES pour la propriété DEFAULT_TBS_TYPE : SQL> SELECT property value FROM database_properties 2 WHERE property name = ‘DEFAULT_TBS_TYPE’; PROPERTY_VALUE SMALLPILE. Oracle 10g - Administration El «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Eéltions EN! » All rights reserved Gestion des tablespaces et des fichiers de données Exemple : = Tout type de tablespace ALTER DATABASE DATAFILE ‘f:\oradata\hermes\data0z.dbf’ RESIZE 200M; = Tablespace BIGFILE uniquement ALTER TABLESPACE je_suis gros RESIZE 1T; La clause RESIZE donne la nouvelle taille souhaitée (a la hausse ou a la baisse) pour le fichier de données. Modifier la taille d'un fichier de données permet : ~ dans le cas d'une diminution, de récupérer de l’espace inutilisé alloué au tablespace ; - dans le cas d'une augmentation, d’allouer de |’espace supplémentaire a un tablespace. Dans le cas d'une diminution, la taille du fichier de données ne peut pas descendre en dessous de la position de la dernidre extension occupée par un segment dans le tablespace (visible dans la vue DBA_EXTENTS). En cas de tentative de cette sorte, un message dler- reur est affiché et la taille du fichier est inchangée : ORA-03297: le fichier contient des données utilisées au-dela de la valeur RESIZE requise e. Modifier I'extension automatique d’un fichier de données Modifier l'extension automatique d'un fichier de données s'effectue avec l'ordre SQL AL- TER DATABASE, ou l'ordre SQL ALTER TABLESPACE dans le cas d'un tablespace BIGFILE. Syntaxe ALTER DATABASE DATAFILE ‘nom_complet‘ [,...] clause_auto_extension; ALTER TABLESPACE nom_tablespace_bigfile clause_auto_extension; La spécification de la clause d'extension automatique (clause_auto_extension) est la méme que lors de la création du tablespace (point 1 - Cré d'un tablespace perma- nent). Exemple : ~ Désactivation de la clause AUTOEXTEND ALTER DATABASE DATAFILE ‘e:\oradata\hermes\data0l.dbf’ AUTOEXTEND OFF; ~ Activation (ou modification) de la clause AUTOEXTEND ALTER DATABASE DATAFILE ‘e:\oradata\nermes\datag1. dbf’ AUTOEXTEND ON NEXT 200M MAXSIZE 800M; Oracle 10g - Administration | 235 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - Ail rights reserved Gestion des tablespaces et des fichiers de données C'est un ordre DDL (Data Definition Language) : il n'y a pas de ROLLBACK. La seule solution est de repartir d'une sauvegarde ; le fichier physique, méme s'il n’est pas suppri- mé, n’est pas récupérable. Le tablespace sysTEM et le tablespace permanent par défaut ne peuvent pas étre suppri- més. Il est recommandé de passer le tablespace OFFLINE avant de le supprimer. Les options de I’ordre SQL DROP TABLESPACE sont : INCLUDING CONTENTS Cette clause est nécessaire si le tablespace n’est pas vide, pour forcer la suppression pré- alable des segments qui y sont stockés. Si le tablespace n’est pas vide et que l'option n'est pas utilisée, l'erreur ORA-01549 est retournée : ORA-01549: le tablespace n‘est pas vide ; utiliser ‘option INCLUDING CONTENTS AND DATAFILES Cette option de la clause précédente permet en plus de supprimer les fichiers physiques du tablespace. Un message est écrit dans le fichier d’alerte de |'instance pour chaque fichier physique supprimé par Oracle. © sinon, ils ne sont pas supprimés. CASCADE CONSTRAINTS Cette clause permet en plus de supprimer les contraintes d’intégrité référentielle définies sur des tables hors du tablespace et qui référencent des tables a I'intérieur du tablespace. Si de telles contraintes existent et que "option n’est pas utilisée, l"erreur ORA-02449 est retour- née = ORA-02449: clés uniques/primaires de la table référencées par des clés étrangéres Oracle 10g - Administration | 239} «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitions ENI - AIL rights reserved Gestion des tablespaces et des fichiers de donnees 3. Spécifier le mode de gestion d’un tablespace La clause EXTENT MANAGEMENT de I'ordre SQL CREATE TABLESPACE permet de spéci- fier le mode de gestion d'un tablespace. Syntaxe = EXTENT MANAGEMENT DICTIONARY | LOCAL [ AUTOALLOCATE | UNIFORM { SIZE valeur [KIM] ] ] Exemple : = Tablespace géré localement avec des extensions uniformes CREATE TABLESPACE tbs_local_uniform DATAFILE ‘e:\oradata\hermes\tbs_local_uniform.dbf’ SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 126K; ~ Tablespace géré localement avec des extensions gérées par Oracle CREATE TABLESPACE tbs_local_auto DATAPILE ‘d:\oradata\hermes\tbs_local_auto.dbf! SIZE 10M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; ~ Tablespace géré par le dictionnaire CREATE TABLESPACE tbs_dictionary DATAFIL ‘d:\oradata\hermes\tbs_dictionary.dbf’ SIZE 10M EXTENT MANAGEMENT DICTIONARY; Les options de la clause EXTENT MANAGEMENT sont : DICTIONARY Indique que le tablespace est géré par le dictionnaire. Des clauses DEFAULT STORAGE et MINIMUM EXTENT peuvent étre indiquées en complément. LOCAL Indique que le tablespace est géré localement. Les clauses DEFAULT STORAGE et MINIMUM EXTENT sont interdites. UTOALLOCATE Indique que les extensions sont automatiquement gérées par Oracle. UNIFORM Indique que les extensions ont une taille uniforme définie par la clause SIZE. Si la clause SIZE n'est pas spécifiée, la taille par dé- faut est 1 Mo. SIZE Spécifie la taille des extensions pour les tablespaces LOCAL UNI- FORM. La taille peut étre donnée en octets (pas de symbole), en Ko (symbole K) ou en Mo (symbole M). Par défaut (clause EXTENT MANAGEMENT absente), un tablespace permanent est géré lo- calement avec une gestion automatique des extensions (AUTOALLOCATE). Comme nous le verrons ultérieurement, un tablespace temporaire géré localement est obli- gatoirement en gestion uniforme des extensions (UNIFORM). Oracle 10g - Administration | 243 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Echitions ENI - All rights reserved Gestion des tablespaces et des fichiers de données Cet exemple illustre les points suivants: - Oracle a choisi des extensions de 64 ko pour les "petites" tables et des extensions de 1 Mo pour la “grosse" table. - Oracle a laissé de l'espace libre entre les petites tables et la grosse table : 704 ko, soit 11 extensions de 64 ko. Cet espace est plutét réservé a des extensions de 64 ko, ce qui lui permet d'avoir un total de 16 extensions de 64 ko consécutives (soit potentiellement une extension de 1 Mo en cas de libération de ces extensions). 5. Cas des tablespaces SYSTEM et SYSAUX Depuis Oracle9i release 2 (version 9.2), le tablespace SYSTEM peut étre géré localement, et dans ce cas, forcément avec une gestion automatique des extensions (EXTENT MANA- GEMENT LOCAL AUTOALLOCATE) et une gestion manuelle de l'espace dans les segments (SEGMENT SPACE MANAGEMENT MANUAL). Par défaut, il est géré par le dictionnaire. Créer un tablespace SYSTEM géré localement a les conséquences (positives) suivantes : - Tous les tablespaces doivent étre gérés localement (conseillé par Oracle). - Un tablespace temporaire par défaut doit étre créé dés la création de la base (conseillé par Oracle). - Si la gestion automatique des segments d’annulation est activée (conseillé par Oracle), un tablespace d’annulation doit étre créé dés la création de la base de données (conseillé par Oracle), Dans l'ordre SQL CREATE DATABASE, la clause EXTENT MANAGEMENT LOCAL permet de spécifier que le tablespace SYSTEM est géré localement : CREATE DATABASE hermes: DATAFILE ‘e:\oradata\hermes\system01l.dbf’ SIZE 200M AUTOEXTEND ON NEXT 10M EXTENT MANAGEMENT LOCAL Le tablespace SYSAUX est obligatoirement géré localement avec une gestion automatique des extensions (EXTENT MANAGEMENT LOCAL AUTOALLOCATE) et une gestion automati- que de I'espace dans les segments (SEGMENT SPACE MANAGEMENT AUTO) ; il n'y a rien @ spécifier lors de la création de la base de données. En cas de mise 4 niveau d'une base de données, le tablespace SYSAUX est créé par un ordre SQL CREATE TABLESPACE. La syntaxe suivante doit étre utilisée : CREATE TABLESPACE sysaux DATAFILE spécification_fichier EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; Oracle 10g - Administration | 247] «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. + Al rights reserved © Editions EN Gestion des tablespaces et des fichiers de données Exemple DEFAULT TEMPORARY TABLESPACE teap TEMPFILE ‘e:\oradata\hermes\temp0l. dbf’ SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1024m © cette clause doit étre présente si le tablespace SYSTEM est géré localement. La syntaxe est la méme que celle de l'ordre SQL CREATE TEMPORARY TABLESPACE. Un tablespace temporaire géré localement est créé selon la spécification et défini comme ta- blespace temporaire par défaut. Notez bien que le tablespace temporaire par défaut ainsi créé est forcément géré localement (ce qui est conseillé par Oracle). Le tablespace temporaire ainsi créé est pris en compte dés la création de la base de données, et done affecté comme tablespace temporaire aux utilisateurs créés durant cette opération (notamment syYs et SYSTEM). Pour créer et définir un tablespace temporaire par défaut aprés la création de la base de données, vous devez : - créer un tablespace temporaire, grace a T'ordre SQL CREATE TEMPORARY TABLESPACE présenté précédemment ; - le définir comme tablespace temporaire par défaut, grace a la clause DEFAULT TEMPORARY TABLESPACE de ordre SQL ALTER DATABASE. Syataxe ALTER DATABASE DEFAULT TEMPORARY TABLESPACE non ; nom doil désigner un tablespace temparaire ou un groupe de tablespaces temporaires qui existe déja. Lorsque cet ordre SQL est exécuté, tous les utilisateurs qui avaient l'ancien tablespace temporaire par défaut comme tablespace temporaire se voient automatiquement attribuer le nouveau, Pour retrouver le nom du tablespace temporaire par défaut, vous pouvez interroger la vue DATABASE_PROPERTIES pour la propriété DEFAULT_TEMP_TABLESPACE : SQu> SELECT property_value FROM database_properties 2 WHERE property name ~ ‘DEFAULT_TEMP_TABLESPACE' ; PROPERTY_VALUE . Administration des tablespaces temporaires géré localement Uadministration d'un tablespace temporaire géré localement s’effectue avec les ordres SQL présentés pour les tablespaces permanents, avec quelques restrictions : ALTER TABLE- SPACE, ALTER DATABASE pour la gestion des fichiers de données et DROP TABLE- SPACE. Oracle 10g - Administration F251) «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. {© Editions EN - Ail rights reserved Gestion des tablespaces et des fichiers de données Les tablespaces gérés localement avec une gestion automatique des extensions sont intéres- sants lorsque la volumeétrie des segments est complétement inconnue ; ils permettent une gestion plus saine de espace que les tablespaces gérés par le dictionnaire. Si les besoins sont connus avec précision, utiliser des tablespaces gérés localement avec une gestion uniforme des extensions n’est pas forcément immédiat, notamment pour déter- miner la bonne taille d’extension ; dans ce cas, il faut sans doute employer plusieurs table- spaces pour séparer les segments en grandes catégories. Exemple : ~ les "petits" (par ex. entre O et 2 Mo) ; un tablespace avec des extensions de 64 Ko ; - les “moyens” (par ex. entre 2 Mo et 64 Mo) ; un tablespace avec des extensions de 2 Mo ; ~ les “gros* (par ex. au dela de 64 Mo) : un tablespace avec des extensions de 64 Mo (et sans doute plusieurs tablespaces). Au chapitre 13, nous verrons comment estimer la taille des segments 4 une échéance donnée. . F. Trouver des informations sur les tablespaces et les fichiers de données 1. Tablespaces et fichiers de données Plusieurs vues du dictionnaire de données permettent d'obtenir des informations sur les tablespaces et les fichiers de données : ~ DBA_TABLESPACES 0U V$TABLESPACE : informations sur les tablespaces ; = DBA_DATA FILES 0U VSDATAFILE : informations sur les fichiers de données (sauf ceux des tablespaces temporaires gérés localement) ; - DBA_TEMP_FILES 0U VSTEMPFILE : informations sur les fichiers de données des tablespaces temporaires gérés localement ; DBA_TABLESPACE_GROUPS : informations sur les groupes de tablespaces temporaires ; DATABASE_PROPERTIES : propriétés de la base de données, dont le tablespace temporaire par défaut, le tablespace permanent par défaut et le type de tablespace par défaut (BIGFILE ou SMALLFILE). Les colonnes intéressantes des différentes vues sont présentées ci-aprés. DBA_TABLESPACES TABLESPACE_NAME Nom du tablespace. CONTENTS Type du tablespace: (PERMANENT 0u TEMPORARY OU UNDO). EXTENT_MANAGEMENT DICTIONARY ; le tablespace est géré par le dictionnaire, LOCAL : le tablespace est, géré localement. Oracle 10g - Administration Es «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions Efi - AN rights reserved! Gestion des tablespaces et des fichiers de données A partir de cette page, vous pouvez effectuer diverses actions sur les tablespaces : cide] (nae eae eee os aaa) { a [Gestion Créer comme énérer du code DOL, Geter localersent Metire en lecture see Rendee accessible en éciture oleae Bélectionner Mom DAA PERMANENT LOCAL DEeTBS PERMANENT LOCAL nox PERMANENT LOCAL IE SUIS GROSPERMANENTLOCAL AU SYSAux PERMANENTLOCAL AUTO OND) ‘SYSTEM PERMANENTLOCAL © MANUAL ONUNE 2000022 ac ve TEMPORARY LOCAL — MANUAL ONUNE 100.000 2000 ac WNOOTES JUNO LOCAL — MANUAL ONUNE 160000 36625 A 2 JAsicher les dépendances |Exécuter I fonction da consell surles cogments Metire hors gow 2999990 BEB BEER créer un nouveau tablespace (bouton Créer ou menu Créer comme) ; supprimer un tablespace (bouton Supprimer) ; modifier un tablespace (bouton Modifier) ; ajouter un fichier de données a un tablespace (menu Ajouter un fichier de données) ; placer un tablespace en lecture seule (menu Mettre en lecture seule), en lecture écriture (menu Rendre accessible en écriture), l'activer (menu Mettre en ligne), le désactiver (menu Mettre hors ligne). En cliquant sur le lien du nom de tablespace, ou en cliquant sur les boutons Créer, Modi- fier ou Visualiser, vous arrivez sur la page de définition d'un tablespace. Oracle 10g - Administration | 264 «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (mapicre 1U. Ey Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Chapitre 11 = Un UPDATE OU UN DELETE est plus coiiteux en espace d’annulation et d’autant plus coiteux que l'image avant — “before image" en anglais — (les valeurs précédentes des colonnes mises 4 jour pour un UPDATE et la ligne compléte pour un DELETE) est de taille importante, 2. Gestion Avant Oracle9/, les segments d'annulation devaient étre gérés par le DBA. Pour dimension- ner correctement les segments d’annulation (nombre et taille), le DBA devait posséder une Connaissance assez précise du fonctionnement de la base de données et des besoins de application. Cette connaissance était généralement difficile & maitriser a priori, et il était souvent nécessaire de redimensionner les segments d’annulation en cours d’exploitation. Un mauvais dimensionnement pouvait étre a l'origine d’erreurs (ORA-01552, ORA-01562, ORA-01555, etc.) ou de problémes de performance. Depuis Oracle9i, Oracle propose une gestion "automatique" des informations/segments dan- nulation, a l'aide d'un tablespace c’annulation (tablespace de type UNDO). Pour des raisons de compatibilité ascendante, il est toujours possible d'utiliser une gestion “manuelle des segments d’annulation, mais ce n'est pas recommandé par Oracle qui con- seille vivement l'emploi de la gestion automatique. Seule la gestion automatique est présentée dans cet ouvrage. Dans la documentation Oracle, en anglais, cette fonctionnalité est appelée Automatic Undo Management et souvent désignée par le sigle AUM ; la terminologie System Managed Undo (SMU) est aussi utilisée. 3.. Structure Comme tous les segments, un segment d’annulation est stocké dans un tablespace, compo- sé d'extensions, dont les blocs sont chargés dans le Database Buffer Cache en fonction des besoins. Il est important de comprendre que les segments d’annulation correspondent avant tout & une structure physique (un segment) dont les blocs sont chargés en mémoire (dans le Database Buffer Cache) en fonction des besoins ; si l'instance a besoin d'espace dans le Database Buffer Cache, les blocs de segments d'annulations sont susceptibles d’étre écrits sur disque. Pour mémoire (chapitre 2), tes modifications apportées aux blocs de segments d’annula- tions dans le Database Buffer Cache sont enregistrées dans les fichiers de journalisation. De cette maniére, en cas de restauration d’instance ou de restauration de média, Oracle est en mesure de reconstituer les segments d'annulation et d’annuler les modifications déja éctites dans les fichiers de données pour des transactions non validées au moment de Vincident. Bai Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Chapitre 11 B. Mise en ceuvre de la gestion automatique 1. Principe Pour mettre en couvre la gestion automatique des informations d'annulation, il faut : - positionner le paramétre UNDO_MANAGEMENT & AUTO, et éventuellement affecter des valeurs aux paramétres UNDO_TABLESPACE et UNDO_RETENTION ; = créer au moins un tablespace d’annulation, lors de la définition de la base de données, ou ultérieurement. 2. Les paramétres d’initialisation UNDO_MANAGEMENT Ce paramétre indique le mode de gestion souhaité pour les informations d'annulation, Les valeurs possibles sont AUTO ou MANUAL (valeur par défaut). Ce paramétre est statique ; il faut redémarrer la base de données pour changer le mode de gestion des informations d’annulation. UNDO_TABLESPACE Ce paramétre spécifie le nom du tablespace d’annulation 4 utiliser lors du démarrage de instance. Le nom de n’importe quel tablespace d'annulation peut étre indiqué. Par défaut, ce parametre est vide et le premier tablespace d'annulation trouvé dans la base de données est utilisé (voir plus loin) ; le paramétre UNDO_TABLESPACE est alors renseigné par Ora- cle. Ce parameétre est dynamique. Le paramétre UNDO_TABLESPACE est surtout intéressant si la base de données dispose de plusieurs tablespaces d'annulation ; il permet d’indiquer le nom du tablespace d’annulation a utiliser lors du démarrage de Vinstance. Ce paramétre est particuligrement utile en confi- guration Real Application Clusters pour que chaque instance qui ouvre la base de données utilise un tablespace spécifique. En configuration standard, i! est plut6t rare d'avoir plusieurs tablespaces d’annulation dans la base de données, sauf si la base de données a des besoins spécifiques 4 des moments particuliers de son fonctionnement. Dans ce cas, le paramétre peut étre utilisé pour indi- quer le tablespace d’annulation a utiliser au démarrage de l'instance. Ultérieurement, en modifiant dynarmiquement la valeur de ce paramétre (ALTER SYSTEM), il sera possible de changer de tablespace d’annulation actif sans redérnarrer la base de données, UNDO_RETENTION Ce paramétre spécifie, en secondes, la durée de rétention des informations d'annulation dans les segments d’annulation. La valeur doit &tre comprise entre O et 232-1 (plus de 49 000 jours) ; la valeur par défaut est de 900 (soit 15 minutes). Ce paramétre est dynamique. Ey Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Evitions ENN - AI rights reserved Gestion des informations d’annulation 5. Modification d'un tablespace d’annulation Le tablespace d'annulation peut 6tre modifié avec les ordres SQL habituels ALTER TABLE- SPACE oU ALTER DATABASE (pour la gestion des fichiers de données). En complément, vous pouvez modifier la clause RETENTION : ALTER TABLESPACE nom_tablespace RETENTION GUARANTEE | NOGUARANTEE ; Un tablespace d’annulation actif ou un tablespace d'annulation qui a des segments d'annu- lation PENDING OFFLINE ne peuvent pas étre désactivés (passés OFFLINE). © Un tablespace d’annulation peut tre passé OFFLINE méme s'il contient des informa- tions d’annulation qui n'ont pas encore: expirées (vis-a-vis de la valeur du paramétre UNDO_RETENTION), cela méme si le tablespace d'annulation a été défini avec la clausé RETENTION GUARANTEE. 6. Suppression d'un tablespace d’annulation La suppression d'un tablespace d'annulation s’effectue avec l'ordre SQL habituel DROP TA- BLESPACE. La clause INCLUDING CONTENTS est implicite ; les segments d’annulation stockés dans le tablespace sont automatiquement supprimés. Par contre, la clause doit étre mentionnée avec l'option AND DATAPILES pour supprimer les fichiers de données associés. Un tablespace d'annulation actif ou un tablespace d’annulation qui a des segments d’annu- lation PENDING OFFLINE ne peuvent pas étre supprimés (passés OFFLINE). Un tablespace d’annulation peut étre supprimé méme siil contient des informations d’annulation qui n'ont pas encore expirées (vis-a-vis de la valeur du _paramétre UNDO_RETENTION), cela méme si le tablespace d’annulation a été défini avec la Clausé RETENTION GUARANTEE. D.Trouver des informations sur la gestion de I’annulation 1. Trouver des informations sur le tablespace d’annulation Les vues présentées au chapitre 10 peuvent étre utilisées pour retrouver des informations ‘sur les tablespaces d'annulation et leurs fichiers de données : ~ DBA_TABLESPACES 0U VSTABLESPACE : informations sur les tablespaces ; - DBA_DATA_FILES 0u V$DATAFILE : informations sur les fichiers de données ; - DBA_FREE_SPACE : informations sur I'espace disponible 4 l'intérieur d'un tablespace ; - DBA_SEGMENTS : informations sur les segments alloués a |'intérieur d'un tablespace ; Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (napitre 11 Cette page vous donne des informations sur la configuration actuelle (cadre Configuration) et vous fournit éventuellement des recommandations sur des modifications a apporter a la configuration (cadre Recommandations). © bans le cadre ‘Configuration, Ia taille indiquée n’est pas la taille actuelle du tablespace, mais sa taille maximale possible compte tenu des clauses AUTOEXTEND des fichiers de données du tablespace (valeur MAXSIZE). Le bouton Modifier un espace disque logique du cadre Configuration permet de changer de tablespace d'annulation actif. Le bouton Modifier I"espace disque logique d'’annulation (undo tablespace) du cadre Re- commandations permet de modifier le tablespace d’annulation actif (ajouter un fichier de données, modifier la taille d'un fichier de données, etc.). Les recommandations sont établies d'aprés une période d’analyse (par défaut les 7 derniers jours). Au besoin, vous pauvez modifier la périade d'analyse (liste déroulante Période d’ lyse) puis cliquer sur le bouton Mettre I'analyse & jour pour obtenir les nouvelles recom- mandations. Le bouton Conseil d'annulation (undo) permet d’accéder a la page du conseiller sur l'annu- lation : Ea Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions EMI = Alt rights reserved Gestion des utilisateurs et de leurs droits A. Principes Pour la gestion de la sécurité, Oracle permet : ~ de définir les utilisateurs qui peuvent se connecter la base de données (avec une identification par le systéme d'exploitation ou par la base de données) ; = de définir dans quelfs) tablespace(s) un ulilisateur peut créer des objets (éventuellement aucun} ; ~- de limiter l'utilisation des ressources systéme ; - diimposer une politique de gestion de mots de passe (expiration périodique, non- réutilisation avant un certain temps, etc.) ; - de définir les droits de chaque utilisateur a l'intérieur de la base de données. Dans une base de données Oracle, tes droits des utilisateurs sont gérés avec la notion de privilége. Un privilage est le droit ; - diexécuter un ordre SQL en général (par exemple, créer une table) : c'est la notion de privilage systéme ; - d'aceéder a un objet d'un autre utilisateur (par exemple, mettre 4 jour les données de la table CLIENT) : c'est la notion de privilége objet. Les priviléges peuvent étre attribués directement aux utilisateurs ou par I'intermédiaire de réles, Un réle est un regroupement nommé de priviléges (systémes et objets) qui peut étre attribué en tant que tel A un utilisateur ; cet utilisateur regoit alors automatiquement les privileges contenus dans le rdle. Les roles facilitent la gestion des droits. Oracle propose par ailleurs une fonctionnalité d'audit qui permet de tracer l’activité des utilisateurs dans la base de données. Pour en savoir plus, vous pouvez consulter la docu- mentation Oracle® Database Security Guide. B. Créer et modifier les utilisateurs 1. Mode d'identification de I"utilisateur Un utilisateur peut étre identifié par Oracle ou par le systéme d'exploitation. Les dew modes identification sont utilisables simultanément dans la méme base de don- n bs a. Identification par Oracle Lutilisateur se connecte a ta base en saisissant un nom et un mot de passe. Oracle vérifie le nom et le mot de passe de l'utilisateur. SQL> CONNECT oheu/rx2398 Connecté. Oracle 10g - Administration Es «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Editions ENI - All rights reserved Gestion des utilisateurs et de leurs droits 2. Création d'un profil L'ordre SQL CREATE PROFILE permet de créer un nouveau profil. Syntaxe CREATE PROFILE nom LIMIT { SESSIONS_PER_USER { valeur | UNLIMITED | DEFAULT } ] { CPU_PER_SESSION { valeur | UNLIMITED | DEFAULT } ] { CPU_PER_CALL { valeur | UNLIMITED | DEFAULT } } { connect_time { valeur | UNLIMITED | DEFAULT } } ( IDLE_TIME { valeur | UNLIMITED | DEFAULT } } { LOGICAL_READS_PER_SESSION { valeur | UNLIMITED | DEFAULT } ] ( LOGICAL_READS_PER_CALL { valeur | UNLIMITED | DEFAULT } } { COMPOSITE LIMIT { valeur | UNLIMITED | DEFAULT } ] ( PRIVATE_SGA { valeur [K|M] | UNLIMITED | DEFAULT } } [ FAILED_LOGIN_ATTEMPTS { valeur | UNLIMITED | DEFAULT } } { PASSWORD_LIFE_TIME { valeur | UNLIMITED | DEFAULT } ] { PASSWORD_REUSE_TIME { valeur | UNLIMITED | DEFAULT } ] ( PASSWORD _REUSE_MAX { valeur | UNLIMITED | DEFAULT } ] { PASSWORD_LOCK_TIME { valeur | UNLIMITED | DEFAULT } ] [ PASSWORD_GRACE_TIME { valeur | UNLIMITED | DEFAULT } ] { PASSWORD_VERIFY_FUNCTION { nom_fonction | NULL | -DEFAULT } ] ; CREATE PROFILE exploitation LIMIT SESSIONS_PER_USER 3 IDLE_TIME 30 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_TIME 190 PASSWORD_LOCK_TIME UNLIMITED PASSWORD_GRACE_TIME 3 PASSWORD_VERIFY FUNCTION verif_mdp exploitation ; Les limitations de ressources sont les suivantes : SESSIONS_PER_USER Nombre de sessions simultanées. CPU_PER_SESSION CPU totale par session (1/100 s). CPU_PER_CALL CPU totale par appel (1/100 s). CONNECT_TIME Durée totale de connexion (minutes). IDLE_TIME Durée d’inactivité (minutes). LOGICAL_READS_PER_SESSION Nombre de lectures logiques par session, LOGICAL_READS_PER_CALL Nombre de lectures logiques par appel. PRIVATE_SGA Quantité de mémoire privée dans la SGA. Oracle 10g - Administration Ed” «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. @ Eeitions ENI » AI rights reserved Gestion des utilisateurs et de leurs droits Par défaut, seul le propriétaire d'un objet a le droit d'y accéder. Pour qu'un autre utilisateur puisse accéder a l'objet, le propriétaire de l'objet doit lui donner un privilége objet. Les principaux priviléges objet sont les suivants : Privilege Table ue Séquence Programme SELECT x x x INSERT x x x x [DELETE x x EXECUTE x Dans le tableau, la colonne "Programme" désigne les procédures et fonctions stockées et les packages, Ces priviléges donnent les droits suivants : SELECT Droit de lecture des données (exécution de l'ordre SQL SELECT). INSERT Droit de création des données (exécution de l'ordre SQL INSERT). UPDATE Oroit de mise & jour des données {exécution de l’ordre SQL UPDATE). DELETE Droit de suppression des données (exécution de l'ordre SQL DELETE). EXECUTE Droit d’exécution du programme (appeler ta procédure, la fonction ou le package a partir d'un autre programme). Avoir un droit sur un objet ne dispense pas de devoir qualifier l'objet par le nom du propriétaire si l'on souhaite y aceéder (sinon, Oracle pense que vous cherchez a accéder & un objet dans votre schéma). Pour faciliter I'écriture des requétes et rendre le schéma propriétaire des objets transparent, il faut utiliser des synonymes, en l’occurrence plutét des synonymes publics. Réciproquement, lexistence d'un synonyme, méme public, ne donne aucun droit sur l'objet sous-jacent. Les priviléges objet sont destinés 4 controler I'accés 4 des objets bien identifiés, Par exern- ple = le droit de créer une commande (i.e. le droit de faire un INSERT dans la table COMMANDE), le droit de supprimer une fiche client (i.e. le droit de faire un DELETE dans la table CLIENT). lis sont principalement employés pour permettre aux utilisateurs finaux d'une application d'accéder, directement ou via une interface utilisateur, aux objets de l'application créés dans un compte “propriétaire de "application (car par défaut, seul le propriétaire d'un objet ale droit d’y accéder). Le message d’erreur retourné par Oracle, lorsqu'un utilisateur n’a pas le privilége requis pour réaliser une action sur un objet, est déterminé différemment si l'utilisateur posséde ou Non au moins un privilége sur l'objet : - Si l'utilisateur n'a aucun privilége sur l'objet, Oracle retourne = l'erreur ORA-00942: Table ou vue inexistante. Oracle 10g - Administration Ba «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Gestion des utilisateurs et de leurs droits f. Aller plus loin sur la gestion des droits Oracle propose des fonctionnalités de Virtual Private Database (VPD) et de Fine-Grained Access (FGA) qui permettent de placer des mécanismes de filtres sur les lignes des tables. Ces fonctionnalités sont décrites dans la documentation Oracle® Database Security Guide ; elles sont basées sur l'utilisation du package DBMS_RLS. 3. Réle a. Définition Un réle est un regroupement nommé de priviléges (syst&me et objet) qui peut étre attribué a un utilisateur. Tous les privilages regroupés dans le réle sont alors simultanément attri- bués 4 l'utilisateur. Les réles permettent de simplifier la gestion des droits. Les principales caracteristiques des rdles sont les suivantes : - Un rdle peut étre attribué a un autre réle. ~ Un utilisateur peut avoir plusieurs réles. ~ Un réle n’appartient a personne. La mise en couvre s'effectue en trois étapes + ~ création du dle ; ~ attribution des priviléges (syst&me et objet) au réle ; ~ attribution du réle aux utilisateurs. b. Création d'un rdle Uordre SQL CREATE ROLE permet de créer un réle. Syntaxe CREATE ROLE nom (| IDENTIFIED ( BY mot_de_passe | EXTERNALLY | USING nom_package} | NoT IDENTIFIED }; Exemple : CREATE ROLE mailing; Les options sont : I IDENTIFIED BY Indique qu'un mot de passe est nécessaire pour activer le & mot_de_passe role. & IDENTIFIED EXTERNALLY Indique qu'une identification exteme est nécessaire pour 2 activer le rdle. = IDENTIFIED USING Indique que seul le package peut activer le rdle. go package 3 NOT IDENTIFIED Indique qu'aucune identification n'est nécessaire pour acti- ° ver le réle. C’est la valeur par défaut. Oracle 10g - Administration Eel «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. © Etitions ENI - All rights reserved Gestion des utilisateurs et de leurs droits 4. Trouver des informations sur les droits a. Priviléges systeme Plusieurs vues du dictionnaire de données permettent d'obtenir des informations sur les priviléges systéme : ~ DBA_S¥S_PRIVS : priviléges systéme attribués aux utilisateurs (ou aux rdles) ; - SESSION_PRIVS : priviléges systéme actuellement actifs dans la session (obtenus directement ou via un réle) ; - SYSTEM_PRIVILEGE_MAP : liste de tous les priviléges systéme. Les colonnes intéressantes des différentes vues sont présentées ci-aprés. DBA_SYS_PRIVS GRANTEE Nom de I'utilisateur ou du rdle qui a regu le privilége systeme, PRIVILEGE Privilege systéme regu. ADMIN_OPTION Privilege regu avec la clause WITH ADMIN OPTION (YES ou NO). SESSION_PRIVS PRIVILEGE Nom du privilége. SYSTEM_PRIVILEGE MAP NAME Nom du privilége. b. Priviléges objet Plusieurs vues du dictionnaire de données permettent d'obtenir des informations sur les privileges objet : ~ DBA_TAB_PRIVS : priviléges objet attribués aux utilisateurs (ou aux réles) sur la totalité de l'objet ; - DBA_COL_PRIVS : priviléges objet attribués aux utilisateurs (ou aux rdles) sur certaines colonnes de l'objet uniquement ; ~ TABLE_PRIVILEGE_MAP : liste de tous les priviléges objet. Les colonnes intéressantes des différentes vues sont présentées ci-aprés. DBA_TAB_PRIVS GRANTEE Nom de l'utilisateur ou du rle qui a recu le privilége objet. OWNER Nom de l'utilisateur propriétaire de |'objet. ‘TABLE_NAME Nom de l'objet (pas forcément une table, malgré le nom). GRANTOR Nom de l'utilisateur qui a attribué le privilege. PRIVILEGE Privilége objet regu. Oracle 10g - Administration Ea «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Chapitre 12 ou ALTER SYSTEM DISCONNECT SESSION 'sid,serial#? { IMMEDIATE | POST_TRANSACTION) ; Exemple ALTER SYSTEM KILL SESSION *10, 104947; Les ordres SQL ALTER SYSTEM KILL SESSION et ALTER SYSTEM DISCONNECT SESSION ... IMMEDIATE sont équivalents : ils ferment la session immédiatement, sans attendre la fin d'une éventuelle transaction en cours (cette derniére est annulée). Par contre, Vordre SQL ALTER SYSTEM DISCONNECT SESSION ... POST_TRANSACTION attend que la transaction en cours se termine. Un utilisateur en train d'exécuter une requéte a un Statut ACTIVE (INACTIVE sinon). Si un utilisateur est déconnecté alors qu'il est actif, sa requéte est interrompue, un message d’erreur lui indiquant qu'il a été déconnecté lui est retoumé (ORA-00028: votre session a été fermée) et la session disparait de V§SESSION. S'il est inactif, la connexion est fermée mais la session reste visible dans VSSESSION avec le statut KILLED jusqu’a ce que l'utilisateur ait été notifié de la décon- nexion lors de sa prochaine action (avec la méme erreur ORA-00028). G. Utiliser le Database Control 1. Utilisateurs Sur la page d'accueil, cliquez sur le lien Administration puis sur le lien Utilisateurs pour aceéder & la page de gestion des utilisateurs : Oe Rechercher Résultats ES [ister viuainer | Surpine Saanal cen conme 5] Extcuns) ie iawus [espace disgua at da [Date loatyve par |loviave “Sélecisnner Nom webisateur ampia [03 acho ait _Jovett_Jexdation ores (PEN svsals TEMP. DEFAULT we msg cer © pp perc rms Tews DeFAmt73 se Ey Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Chapitre 12 Eey Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. (hapitre 13, A. Vue d’ensemble Parmi les principaux types d’objets d'un schéma, seuls les tables et les index occupent de espace de stockage en dehors de leur définition dans le dictionnaire. Get espace de stockage doit étre planifié correctement pour éviter les erreurs liées au manque d'espace ou les problémes de performance. Les tables et les index sont des segments ; le stockage est donc organisé en extensions, piloté par la clause STORAGE et par les caractéristiques du tablespace. Par ailleurs, orga- nisation du stockage dans les blocs a de l'importance. Il existe d'autres types d’objets qui occupent de Mespace de stockage, mais ces derniers sortent du périmétre de cet ouvrage : - Vues matérialisées : structure analogue a une table et dont le contenu est périodiquement mis a jour a partir d'une requéte SELECT. = 1OT (lndex Organised Table - table organisée en index) : table dont le stockage est organisé dans |'index de la clé primaire de la table. = Clusters ; structures qui permettent de stocker physiquement ensemble des tables fréquemment interrogées par jointure, - Tables et index partitiannées ; depuis la version 8, l'option partitionnement permet de découper le stockage physique des tables et des index en morceaux plus petits appelés partitions. De méme, il existe plusieurs types d'index : - Index B-tree : index classique qui sera étudié dans cet ouvrage. - Index Bitmap : index dont le stockage est organisé différemment des index B-tree et qui est plutét destiné a l'indexation des colonnes 4 faible cardinalité dans un environnement décisionnel (I'index bitmap est trés cofiteux en mise a jour). =~ Index & clé inversée : index B-tree qui indexe non pas la valeur de la colonne mais une valeur résultant de l'inversion des octets de la colonne (intéressant pour |'indexation de colonnes qui sont insérées en ordre croissant et interrogées par égalité). = Index basé sur des fonctions : index B-tree qui indexe non pas la valeur de la colonne mais le résultat de l'application d’une fonction SQL (UPPER, LOWER, etc.) a la valeur de la colonne, II est intéressant lorsque la colonne n'est pas interrogée directement (colonne opérateur valeur) mais avec la fonction (fonction (colonne) opérateur valeur). Ea Oracle 10g - Administration «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. «a You have either reached a page thatis unavailable for viewing or reached your viewing limit for this book. Gestion des tables et des index Dans. la structure interne du ROWID, Oracle a toutes les informations nécessaires 4 la localisation physique de la ligne dans un fichier de données (fichier, numéro de bloc, position dans le bloc). Un ROWID n'est pas directement compréhensible ; par contre, le package DBMS_ROWID offre plusieurs fonctions qui permettent d'extraire les différentes composantes du ROWID. Utiliser le ROWID dans une application (dans les clauses WHERE des ordres SQL) se révéle trés intéressant du point de vue des performances : Oracle obtient directement |adresse physique de la ligne a lire ou modifier, sans devoi toute la table ni passer par un index. Le ROWID d'une ligne ne change jamais, tant que la ligne n’est pas supprimée. Modifier une ligne ne change pas son ROWID puisque la ligne est a priori modifiée a I'intérieur du bloc od elle a été insérée ; ce sera aussi le cas si la ligne est migrée vers un autre bloc par manque d'espace disponible (ce qui n'est pas bénéfique comme nous le verrons ci-aprés). 3. Chainage et migration En régle générale, une ligne d'une table est stockée en totalité a ['intérieur d'un bloc. Pour lire ta ligne, Oracle n’a besoin de lire qu'un seul bloc. Si la ligne est intrins€quement trop grande pour tenir dans un seul bloc, Oracle la stocke dans plusieurs blocs chainés par des pointeurs : c'est le phénoméne de chainage d'une ligne. Pour lire cette ligne, Oracle a alors besoin de lire plusieurs blocs. Si une ligne grandit suite & une modification, et qu'il ne reste plus suffisamment d'espace libre dans le bloc, Oracle déplace la ligne dans un autre bloc pointé par l'en-téte de la ligne resté dans le bloc d'origine : c'est le phénoméne de migration d'une ligne. Le ROWID de la ligne modifiée et migrée n’a pas changé, mais pour lire cette ligne, Oracle a besoin de lire deux blocs, ce qui dégrade les performances des accés par index. L’intérét de cette techni- que est qu’Oracle n'a pas besoin de modifier le ROWID de la ligne dans les index lors d'une mise & jour de la ligne. Le phénoméne de chainage est difficitement évitable, sauf en augmentant fa taille des blocs. Ii faut donc y penser lors de la création de la base de données ou du tablespace. Cela peut étre insuffisant pour les trés grandes lignes. Le phénoméne de migration peut (et méme doit) étre évité, en laissant suffisamment d’es- Pace disponible dans les blocs pour les mises a jour. Le paramétre PCTFREE sera donc positionné avec soin sur les tables pour lesquelles la taille des lignes insérées est sensible- ment inférieure a la taille des lignes aprés modification(s). I rights reserved 4. Spécifier le stockage d'une table Le stockage d'une table peut étre spécifié lors de ta création de {a table, dans l'ordre SQL CREATE TABLE. @ Editions EN Oracle 10g - Administration Ee

You might also like