Vous êtes sur la page 1sur 56

Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Chapitre 06 : Création d'une nouvelle base de données


 Vue d'ensemble
 Création de la base de données manuellement
 Création de la base de données à l'aide de l'assistant graphique

Vue d’ensemble
1. Étapes 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 l’application : tables, contraintes d’intégrité (clés
primaires/uniques/étrangères), index, vues, programmes stockés (triggers, procédures/
fonctions stockées, packages).
 Étudier la volumétrie de l’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.
 À ce stade, la base de données peut être vue comme une "enveloppe" (une "boîte
vide") dans laquelle des structures vont être créées pour une ou plusieurs
applications.

Création des structures de stockage adaptées (chapitres Gestion des tablespaces et des
fichiers de données et Gestion des informations d’annulation)

 Créer les tablespaces (avec leurs fichiers de données) destinés à stocker les
données de l’application (tables et index).
 Les dimensionner en fonction de l’étude de volumétrie réalisée initialement.

Création du compte Oracle qui va contenir les objets de l’application (chapitre


Gestion des utilisateurs et de leurs droits)

 Créer le compte.
 Lui donner les privilèges suffisants pour créer les objets.
 L’autoriser à utiliser de l’espace dans les tablespaces de l’application.

Création des objets de l’application dans ce compte Oracle (chapitre Gestion des tables
et des index)

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page1


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

 Créer les objets Oracle de l’application (généralement sous la 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 Gestion des utilisateurs et de


leurs droits)

 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 l’application).

Sauvegarde de la base (chapitre Sauvegarde et récupération)

 Sauvegarde de référence de la base.

Comme vous pouvez le constater, la création de la base de données proprement dite


présentée dans ce chapitre n’est qu’une petite étape du processus complet (mais une étape
fondamentale).

2. Étapes de création de la base de données proprement dite

Les grandes étapes de la création de la base de données proprement dite sont les
suivantes :

 Créer les de paramètres serveur (pas obligatoire, mais conseillé).


 Démarrer l’instance en état NOMOUNT.
 Créer la base de données (ordre SQL CREATE DATABASE).
 Finaliser la création du dictionnaire (quelques scripts à exécuter).
 Configurer Oracle Net pour la nouvelle base de données.
 Configurer le Database Control.

La création d’une nouvelle base de données suppose l’installation préalable d’Oracle


(chapitre Installation).

Si le serveur abrite déjà des bases de données Oracle, il est vivement conseillé d’effectuer
une sauvegarde de ces bases de données avant de démarrer le processus de création.

Après ces étapes, la nouvelle base de données est ouverte et contient :

 les tablespaces SYSTEM et SYSAUX avec leur(s) fichier(s) de données associé(s) ;

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page2


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

 éventuellement un tablespace d’annulation et un tablespace temporaire selon les


options utilisées ;
 les fichiers de contrôle et de journalisation ;
 les deux comptes DBA standard (SYS et SYSTEM) ;
 le segment d’annulation SYSTEM ;
 le dictionnaire de données.

À ce stade, la base de données est prête pour accueillir des structures complémentaires
qui vont constituer l’application.

3. Méthodes disponibles

La nouvelle base de données peut être créée à la main avec les outils du système
d’exploitation et SQL*Plus ; dans ce cas, il est très simple d’écrire ou de récupérer des scripts
et de les réutiliser à chaque fois. Les étapes de création de la base de données proprement
dite sont toujours les mêmes et dépendent (relativement) peu des caractéristiques de
l’application (et en tout état de cause, des paramètres peuvent être ajustés ultérieurement en
fonction des caractéristiques de l’application) ; utiliser des scripts "génériques" de création de
bases est donc envisageable.

La nouvelle base de données peut aussi être créée à l’aide d’un assistant graphique,
l’assistant Configuration de base de données. Cet assistant facilite la création de la base de
données en offrant la possibilité d’utiliser des modèles de base de données prêts à l’emploi
et/ou en permettant de définir très précisément les caractéristiques de la nouvelle base de
données à l’aide de plusieurs écrans. Par ailleurs, il est possible de définir ses propres
modèles de base de données, comprenant ou non des fichiers de données prêts à l’emploi,
puis de les utiliser lors de la création ultérieure d’une nouvelle base de données. L’assistant
graphique offre aussi la possibilité de générer les scripts de création de la base de données,
sans créer la base de données ; c’est un bon moyen pour constituer nos scripts "génériques".

L’assistant graphique inclut les étapes suivantes de création des structures de stockage
(chapitres Gestion des fichiers de contrôle et de journalisation et Gestion des tablespaces et
des fichiers de données).

Création de la base de données manuellement


1. Créer les répertoires sur les disques

Pour respecter les recommandations du standard OFA (voir le chapitre Installation), vous
devez créer :

 un répertoire d’administration, portant le nom de la base de données, situé dans le


répertoire %ORACLE_BASE%\admin,
 un répertoire de données, portant le nom de la base de données, situé dans un
répertoire oradata lui-même situé dans ORACLE_BASE ou sur un autre volume.

Depuis la version 11 et l’apparition du Référentiel de Diagnostic Automatique, le répertoire


d’administration contient moins de répertoires et de fichiers.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page3


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Le répertoire d’administration contient généralement les répertoires suivants :

adump : Répertoire pour des fichiers d’audit.

create ou scripts : Répertoire des scripts de création de la base de données.

exp ou dpdump : Répertoire pour les fichiers d’export.

pfile : Répertoire pour les fichiers de paramètres texte.

Si le serveur comporte plusieurs disques, il sera judicieux de répartir les différents fichiers de
la base de données sur ces disques afin d’optimiser les entrées/sorties et d’éviter les
contentions ; dans ce cas, il faut créer d’autres répertoires de données sur les disques
concernés.

Un répertoire supplémentaire peut être créé pour la zone de récupération rapide (voir le
chapitre Sauvegarde et récupération).

Généralement, la base de données et l’instance portent le même nom.

2. Préparer un nouveau fichier de paramètres texte


a. Principes

Comme indiqué dans la section La base de données du chapitre Les bases de l’architecture
Oracle, il est conseillé d’utiliser un fichier de paramètres serveur, celui-ci étant initialement
créé à partir d’un fichier de paramètres texte.

Pour respecter le standard OFA, ce fichier de paramètres texte doit s’appeler init.ora et se
trouver dans le sous-répertoire pfile du répertoire d’administration. Généralement, ce fichier
de paramètres texte est créé par duplication d’un fichier existant ou d’un fichier modèle que
vous aurez défini.

Nous ne créerons pas de fichier init<SID>.ora (avec une inclusion du fichier init.ora) à
l’emplacement par défaut de la plate-forme (database sous Windows) ; ainsi, nous ne
risquons pas de démarrer par mégarde avec un fichier de paramètres texte.

Il y a plus de 250 paramètres documentés par Oracle ! Il n’est évidemment pas question de
les spécifier tous ! Sur la totalité des paramètres, une trentaine de paramètres qu’il convient
de connaître, sont suffisants pour la plupart des bases de données.

Certains paramètres seront décrits brièvement dans cette partie puis présentés de
manière plus détaillée dans des chapitres ultérieurs.

b. Les principaux paramètres

Les paramètres ne sont pas listés dans un ordre alphabétique mais dans un ordre
thématique.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page4


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Reportez-vous à la section Compléments sur les paramètres relatifs à la mémoire pour


avoir plus d’informations à ce sujet.

DB_NAME : Nom de la base (jusqu’à 8 caractères). Généralement DB_NAME est égal


au nom de l’instance (ORACLE_SID).

Exemple :

DB_NAME =
asurinptic
DB_DOMAIN

Localisation logique de la base sur le réseau (jusqu’à 128 caractères). Ce paramètre, associé
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 paramètre est important si la base de
données appartient à un système distribué (ou est susceptible de l’être) ; sinon, il peut être
ignoré.

Exemple :

DB_DOMAIN = olivier-heurtel.fr
DB_UNIQUE_NAME

Nom unique de base de données (jusqu’à 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_UNIQUE_NAME différent. Ce paramètre est apparu en
version 10. Il est, par défaut, égal à DB_NAME.

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 = asurinptic_demo
COMPATIBLE

Indique un numéro de version d’Oracle avec laquelle la base de données doit être compatible.
Valeurs possibles : 10.0.0 jusqu’au numéro de la version actuelle (11.1.0.6). Valeur par défaut
: 11.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).

Exemple :

COMPATIBLE = 11.1.0.
CONTROL_FILES

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page5


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Emplacement des fichiers de contrôle de la base de données. Il est conseillé d’en spécifier au
minimum 2, si possible sur des disques différents (dans l’idéal, 3 ou 4 sur des disques
différents). La recommandation OFA pour le nommage du fichier est controlN.ctl, N étant un
numéro d’ordre (1, 2, etc. ou 01, 02, etc.).

Si le fichier de paramètres a été créé par duplication d’un fichier existant utilisé, n’oubliez pas
de modifier ce paramètre. En cas d’oubli, vous risquez d’écraser les fichiers de contrôle
présents dans cette directive et donc de provoquer un arrêt brutal de la base de données qui
les utilise.

Exemple :

CONTROL_FILES = ("f:\oracle\oradata\ASUR\control01.ctl",
"g:\oracle\oradata\ASUR\control02.ctl")
DB_BLOCK_SIZE

Taille de bloc "standard" en octets, utilisée par défaut pour les fichiers de données des
tablespaces et pour l’organisation du cache de données (buffer cache). La valeur doit être
comprise entre 2 Ko et 32 Ko (sauf restriction spécifique à la plate-forme) et être un multiple
de la taille de bloc du système d’exploitation. Ce paramètre ne peut pas être modifié
ultérieurement sans recréer la base de données. Valeur par défaut = 8192 (8 Ko).

La taille de bloc peut avoir un impact plus ou moins important sur les performances. L’exposé
des avantages et inconvénients respectifs des "petits" blocs et des "grands" blocs sort du
cadre de cet ouvrage. En résumé, les recommandations d’Oracle sont les suivantes :

 Pour un système plutôt transactionnel (généralement caractérisé par des petites


requêtes de lecture et de mises à jour), utilisez des "petits" blocs (4 Ko ou 8 Ko).
 Pour un système plutôt décisionnel (généralement caractérisé par des grosses
requêtes de lecture), utilisez des "gros" blocs (16 Ko ou 32 Ko).
 Pour les systèmes mixtes, ou dans le doute, utilisez une taille de bloc de 8 ko (valeur
par défaut).

Exemple :

DB_BLOCK_SIZE =
8192
MEMORY_MAX_TAR
GET

Taille maximum de la mémoire utilisable par l’instance. Peut être spécifiée en octets, en Ko
(symbole K), en Mo (symbole M) ou en Go (symbole G). Si ce paramètre n’est pas spécifié, il
est égal à la valeur du paramètre MEMORY_TARGET.

N’oubliez pas que les modifications dynamiques de la mémoire s’effectuent dans la limite de
la valeur du paramètre MEMORY_MAX_TARGET, qui lui n’est pas dynamique (cf. Chapitre
Les bases de l’architecture Oracl, section L’instance).

Exemple

MEMORY_MAX_TARGET = 2G

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page6


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

MEMORY_TARGET

Taille de la mémoire allouée à l’instance. Peut être spécifié en octets, en Ko (symbole K), en
Mo (symbole M) ou en Go (symbole G). Valeur par défaut : 0. Valeur minimale : 148 Mo. La
valeur peut être arrondie par Oracle au granule supérieur. Ce paramètre est apparu en version
11.

Si ce paramètre a une valeur différente de zéro, la gestion automatique de la mémoire


(Automatic Memory Management - AMM) est activée. Dans ce cas, Oracle dimensionne
automatiquement la SGA et la PGA en fonction de leurs besoins respectifs et de la charge du
système (cf. section L’instance du chapitre Les bases de l’architecture Oracle).

Exemple

MEMORY_TARGET =
2G SGA_MAX_SIZE

Taille maximale de la SGA. Peut être spécifiée en octets, en Ko (symbole K), en Mo (symbole
M) ou en Go (symbole G). Si ce paramètre n’est pas spécifié, Oracle lui donne la valeur du
paramètre MEMORY_MAX_TARGET s’il est défini ou la taille de la SGA au démarrage de
l’instance.

N’oubliez pas que les modifications dynamiques de la SGA s’effectuent dans la limite de la
valeur du paramètre SGA_MAX_SIZE, qui lui n’est pas dynamique (cf. section L’instance du
chapitre Les bases de l’architecture Oracle).

Exemple :

SGA_MAX_SIZE =
1G SGA_TARGET

Taille souhaitée pour la SGA. Peut être spécifié en octets, en Ko (symbole K), en Mo (symbole
M) ou en Go (symbole G). Valeur par défaut : 0. Valeur minimale : 64 Mo, annoncée dans la
documentation mais plutôt 80 Mo sur une plate-forme 32 bits et 88 Mo sur une plate-forme 64
bits. La valeur peut être arrondie par Oracle au granule supérieur. Ce paramètre est apparu
en version 10.

Si la gestion automatique de la mémoire est activée (MEMORY_TARGET est différent de


zéro), ce paramètre fixe une taille minimale pour la SGA ; s’il n’est pas spécifié, la valeur 0 lui
est attribuée et la taille de la SGA est ajustée en interne.

Si la gestion automatique de la mémoire est désactivée (MEMORY_TARGET est égal à zéro),


et si ce paramètre a une valeur différente de zéro, le réglage automatique de la mémoire
partagée est activé. Dans ce cas, les composantes suivantes de la SGA sont
automatiquement dimensionnées (cf. section L’instance du chapitre Les bases de
l’architecture Oracle) : Database Buffer Cache (DB_CACHE_SIZE), Shared Pool
(SHARED_POOL_SIZE), Large Pool (LARGE_POOL_SIZE), Java Pool (JAVA_POOL_SIZE)
et
Streams Pool (STREAMS_

POOL_SIZE). Exemple :

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page7


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

SGA_TARGET =
1G
SHARED_POOL_S
IZE

Taille en octets de la Shared Pool. Peut être spécifiée en octets, en Ko (symbole K), 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 ou MEMORY_


TARGET différent de zéro), ce paramètre fixe une taille minimale pour la Shared Pool. S’il
n’est pas spécifié, la valeur 0 lui est attribuée et la taille de la Shared Pool est ajustée en
interne par Oracle.

Si le réglage automatique de la mémoire partagée est désactivé (SGA_TARGET ou


MEMORY_TARGET égal à zéro), ce paramètre fixe la taille de la Shared Pool. S’il n’est pas
spécifié, sa valeur par défaut est de 64 Mo sur une plate-forme 32 bits et 128 Mo sur une
plate-forme 64 bits.

Il n’y a pas de règle simple ni de formule de calcul pour déterminer la taille de la Shared Pool.
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).

Si le partage des requêtes est bon, la taille de la Shared Pool est peu liée au nombre
d’utilisateurs. La taille de la Shared Pool est plutôt liée au nombre total de requêtes différentes,
exécutées par l’application et à leur complexité. Il est par ailleurs important de tenir compte
des programmes PL/SQL utilisés par l’application (triggers, procédures/fonctions stockées,
packages).

Pour une application moyenne, ayant un bon partage des requêtes (utilisation de variables
bind) et n’utilisant pas de programmes PL/SQL, une valeur de l’ordre de 150 Mo peut être
suffisante. Si l’application utilise des programmes PL/SQL, ou si l’application utilise beaucoup
de requêtes, il ne faut pas hésiter à augmenter la taille de la Shared Pool à 300 Mo ou plus.

Si le partage des requêtes est mauvais, avoir une Shared Pool trop importante n’apportera
rien, voire dégradera les performances (l’instance passant beaucoup de temps, en vain, à
chercher une requête identique en mémoire).

Si vous utilisez le Database Control, il faut augmenter la taille de la Shared Pool (au moins
80 Mo).

Exemple :

SHARED_POOL_SIZE = 128M
JAVA_POOL_SIZE

Taille en octets de la Java Pool. Peut-être spécifiée en octets, en Ko (symbole K), en Mo


(symbole M) ou en Go (symbole G). La valeur peut être arrondie par Oracle au granule
supérieur.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page8


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Si le réglage automatique de la mémoire partagée est activé (SGA_TARGET ou


MEMORY_TARGET différent de zéro), ce paramètre fixe une taille minimale pour la Java
Pool. S’il n’est pas spécifié, la valeur 0 lui est attribuée et la taille de la Java Pool est ajustée
en interne par Oracle.

Si le réglage automatique de la mémoire partagée est désactivé (SGA_TARGET ou


MEMORY_TARGET égal à zéro), ce paramètre fixe la taille de la Java Pool. S’il n’est pas
spécifié, sa valeur par défaut est de 24 Mo.

Si vous n’utilisez pas la machine virtuelle Java intégrée au serveur Oracle (pour développer
des procédures stockées en Java par exemple), vous pouvez mettre ce paramètre à zéro.

Exemple :

JAVA_POOL_SIZE
=0
LARGE_POOL_SIZ
E

Taille en octets de la Large Pool. Peut être spécifiée en octets, en Ko (symbole K), 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 ou


MEMORY_TARGET différent de zéro), ce paramètre fixe une taille minimale pour la Large
Pool. S’il n’est pas spécifié, la valeur 0 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 partagée est désactivé (SGA_TARGET ou


MEMORY_TARGET égal à zéro), 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 Pool dépendent énormément de l’application et des fonctionnalités


utilisées (exécution parallèle des requêtes, serveurs partagés, etc). Il 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 (pool standard). Elle peut être
spécifiée en octets, en Ko (symbole K), 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 ou


MEMORY_TARGET différent de zéro), ce paramètre fixe une taille minimale pour le Database
Buffer Cache. S’il n’est pas spécifié, la valeur 0 lui est attribuée et la taille du DatabaseBuffer
Cache est ajustée en interne par Oracle.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon Page9


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Si le réglage automatique de la mémoire partagée est désactivé (SGA_TARGET ou


MEMORY_TARGET égal à zéro), ce paramètre fixe la taille du Database Buffer Cache. S’il
n’est pas spécifié, sa valeur par défaut est de 48 Mo (ou 4 Mo multiplié par le nombre de CPU,
si cette valeur est plus grande).

Il n’y a pas de règle simple ni de formule de calcul pour déterminer la 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 à 256 Mo peut être suffisante.
Pour les bases plus volumineuses avec un nombre d’utilisateurs élevé, la taille peut monter à
1 Go ou plus.

Exemple :

DB_CACHE_SIZE =
640M
DB_nK_CACHE_SIZE

Taille en octets du Database Buffer Cache pour les blocs de n Ko (n valant 2, 4, 8, 16 ou 32,
mais pas pour la taille de bloc standard). Peut être spécifiée en octets, en Ko (symbole K), en
Mo (symbole M) ou en Go (symbole G). La valeur peut être arrondie par Oracle au granule
supérieur.

Si la base de données utilise d’autres tailles de bloc que la taille standard, il faut utiliser ces
paramètres pour dimensionner des pools adaptés dans le Database Buffer Cache.

LOG_BUFFER

Taille en octets du Redo Log Buffer. Valeur par défaut : 512 Ko (ou 128 Ko multiplié par le
nombre de CPU, si cette valeur est plus grande). La valeur par défaut est généralement
suffisante, d’autant plus que cette valeur est dans la pratique supérieure à ce qui est annoncé
dans la documentation.

Exemple :

LOG_BUFFER = 524288 # 512


Ko
PGA_AGGREGATE_TARGET

Quantité de mémoire totale allouée à la PGA agrégée de tous les processus serveurs. Peut
être spécifiée en octets, en Ko (symbole K), en Mo (symbole M) ou en Go (symbole G). Valeur
par défaut : 10 Mo, ou 20% de la taille de la SGA si cette valeur est plus grande.

Si la gestion automatique de la mémoire est activée (MEMORY_TARGET est différent de


zéro), ce paramètre fixe une taille minimale pour la PGA cumulée ; s’il n’est pas spécifié, la
valeur 0 lui est attribuée et la taille de la PGA est ajustée en interne.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 10


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Si la gestion automatique de la mémoire est désactivée (MEMORY_TARGET est égal à zéro),


ce paramètre fixe la taille de la PGA cumulée.

Oracle alloue la mémoire aux différents processus serveurs en fonction de leur besoins, en
essayant de maintenir la taille totale cumulée de toutes les PGA en dessous de la limite définie
par ce paramètre.

Plus ce paramètre est élevé, plus Oracle est capable d’allouer beaucoup de mémoire aux
processus serveurs et plus les processus serveurs sont capables de faire des opérations
mémoire volumineuses (tri ou jointure par hachage par exemple), sans faire de stockage
temporaire sur disque (ce qui améliore évidemment les performances).

Il n’y a pas de règle simple ni de formule de calcul pour déterminer la valeur de ce paramètre.
En général, dans un système transactionnel les besoins en mémoire des processus serveurs
sont faibles ; une valeur de l’ordre de 512 Ko à 1 Mo par session peut être suffisante. Par
contre, dans un système décisionnel, les utilisateurs exécutent souvent des requêtes qui
effectuent des tris sur un gros volume de données ; dans ce cas, il faut compter au moins 10
Mo par session.

Exemple :

PGA_AGGREGATE_TARGET =
200M STATISTICS_LEVEL

Niveau de collecte des statistiques sur la base de données et le système d’exploitation,


utilisées notamment pour les fonctionnalités de gestion automatique d’Oracle. Valeurs
possibles : ALL, TYPICAL (valeur par défaut) et BASIC.

La valeur par défaut (TYPICAL) est adaptée pour la plupart des bases de données ; elle
permet de bénéficier des fonctionnalités de gestion automatique d’Oracle, avec un impact
minimum sur le système. La valeur BASIC désactive les fonctionnalités de gestion
automatique d’Oracle. La valeur ALL permet de collecter plus de statistiques mais a un impact
important sur le système ; cette valeur peut être utilisée ponctuellement dans une session
particulière, à des fins d’optimisation.

Laissez la valeur par défaut !

Exemple :

STATISTICS_LEVEL = typical
OPEN_CURSORS

Détermine le nombre maximum de curseurs qui peuvent être ouverts simultanément par une
session. Valeur par défaut : 50.

Les besoins varient énormément d’une application à l’autre. Mettre une valeur trop élevée par
rapport aux besoins n’a pas d’incidence. Une valeur de 500 doit être suffisante pour un grand
nombre d’applications.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 11


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Si une session atteint la limite, l’erreur ORA-01000: nombre maximum de curseurs ouverts
dépassé est retournée. Dans ce cas, sauf dysfonctionnement de l’application, augmentez la
valeur du paramètre.

Exemple :

OPEN_CURSORS =
500 PROCESSES

Nombre maximum de processus qui peuvent se connecter simultanément à l’instance. Valeur


par défaut : 100. Comptez un pour chaque session utilisateur simultanée, plus un pour chaque
processus d’arrière-plan (15 à 20 en général), plus un certain nombre pour les sessions
SYSMAN et DBSNMP utilisées par le Database Control (une dizaine en général).

Pour connaître le nombre de processus d’arrière-plan lancés par l’instance, vous pouvez
interroger la vueV$BGPROCESS (filtrez sur paddr <> ’00’). Vous pouvez aussi interroger la
vue<V$PROCESS pour connaître le nombre total de processus démarrés par l’instance.

Si le nombre maximum de processus est atteint et qu’un utilisateur cherche à se connecter, il


recevra le message d’erreurORA-00020: nombre maximum de processus (NN) atteint, NN
étant la valeur du paramètre.

Exemple :

PROCESSES =
200 SESSIONS

Détermine le nombre maximum de sessions qui peuvent être ouvertes dans l’instance. La
valeur par défaut de ce paramètre est dérivée de la valeur du paramètre PROCESSES par la
formule (1.1 * PROCESSES) + 5. Cette valeur par défaut est aussi la valeur minimale du
paramètre. Ce paramètre doit être considéré dans une configuration serveurs partagés où le
nombre de processus peut être faible, mais le nombre de sessions élevé. Dans une
configuration serveurs dédiés, ce paramètre peut être ignoré si le paramètre PROCESSES a
été défini.

Exemple :

SESSIONS =
300
SHARED_SERV
ERS

Spécifie le nombre de processus serveurs partagés qui sont créés lorsque l’instance démarre
(0 par défaut). Indiquer une valeur différente de zéro, active la fonctionnalité de serveurs
partagés. Laissez cette valeur à zéro pour être en configuration serveurs dédiés (configuration
à utiliser a priori, sauf si le nombre d’utilisateurs simultanés est vraiment très élevé).

Exemple :

SHARED_SERVERS = 20
JOB_QUEUE_PROCESS
ES

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 12


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Nombre maximum de processus qui peuvent être lancés pour exécuter des tâches
automatiques (calcul de statistiques, rafraîchissement d’une vue matérialisée, etc.). Valeurs
possibles : entre 0 et 1000 (valeur par défaut). La valeur de ce paramètre doit être supérieure
au nombre de tâches susceptibles de s’exécuter en parallèle.

Laissez la valeur par défaut !

NLS_LANGUAGE

Langage par défaut de l’instance, utilisé pour les messages, les noms de jour et de mois et le
tri. Détermine aussi la valeur des paramètres NLS_DATE_LANGUAGE et NLS_SORT. La
valeur par défaut est dérivée de la variable d’environnement NLS_LANG.

Exemple :

NLS_LANGUAGE =
french
NLS_TERRITORY

Territoire par défaut de l’instance, utilisé pour la numérotation des jours et des semaines.
Détermine aussi la valeur par défaut des formats de date, des séparateurs numériques et des
symboles monétaires.

Exemple :

NLS_TERRITORY =
france
UNDO_MANAGEMENT

Mode de gestion souhaité pour les segments d’annulation. Les valeurs possibles sont
MANUAL pour la gestion manuelle et AUTO (par défaut) pour la gestion automatique.La
gestion automatique des segments d’annulation est présentée en détail dans le chapitre
Gestion des informations d’annulation. Ce mode de gestion est vraiment très intéressant et
doit être utilisé. Il peut être activé dès la création de la base en mettant le paramètre
UNDO_MANAGEMENT à AUTO et en créant un tablespace d’annulation dans l’ordre SQL
CREATE DATABASE (voir la section Création de la base de données dans ce chapitre).

Exemple :

UNDO_MANAGEMENT =
auto UNDO_TABLESPACE

Nom du tablespace d’annulation à utiliser par défaut lors du démarrage de l’instance. Si ce


paramètre n’est pas renseigné, l’instance utilise le premier tablespace d’annulation qu’elle
trouve (cf. Chapitre Gestion des informations d’annulation).

DIAGNOSTIC_DEST

Répertoire de base du Référentiel de Diagnostic Automatique (cf. section Diagnostiquer les


problèmes du chapitre Les outils d’administration). Ce paramètre est apparu en version
11. Egal, par défaut, à la valeur de la variable d’environnement ORACLE_BASE ; si cette

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 13


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

variable n’est pas définie, il est égal par défaut, au sous-répertoire log du répertoire
Oracle Home.

Arrangez-vous pour que ce paramètre soit égal au répertoire de base d’Oracle, soit en
définissant la variable d’environnement ORACLE_BASE, soit en définissant le paramètre.

Exemple

DIAGNOSTIC_DEST = d:\app\oracle
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 Sauvegarde et récupération pour plus d’informations sur le fonctionnement et le rôle
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
DB_RECOVERY_FILE_DEST_SIZE

Taille maximale autorisée pour l’ensemble des fichiers stockés dans la zone de récupération
rapide. Peut être spécifiée en octets, Ko (symbole K), en Mo (symbole M) ou en Go (symbole
G). Ce paramètre est apparu en version 10.

Exemple :

DB_RECOVERY_FILE_DEST_SIZE = 20G
LOG_ARCHIVE_DEST et LOG_ARCHIVE_DUPLEX_DEST

Spécifient une ou deux destinations pour l’archivage des fichiers de journalisation (Standard
Edition). Voir le chapitre Sauvegarde et récupération pour plus d’informations sur l’archivage
des fichiers de journalisation.

Exemple :

LOG_ARCHIVE_DEST = h:\oracle\arch\ASUR
LOG_ARCHIVE_DEST_n

Spécifie une ou plusieurs destinations pour l’archivage des fichiers de journalisation


(Enterprise Edition). n est compris entre 1 et 10. Voir le chapitre Sauvegarde et récupération
pour plus d’informations sur l’archivage des fichiers de journalisation.

Exemple :

LOG_ARCHIVE_DEST_1 = "LOCATION=h:\oracle\arch\ASUR"
LOG_ARCHIVE_FORMAT

Définit le format du nom des archives des fichiers de journalisation. Doit inclure les variables
%T, %S et %R donnant respectivement le numéro de l’instance (thread), le

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 14


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

numéro de séquence du fichier de journalisation et un identifiant d’incarnation. Voir le chapitre


Sauvegarde et récupération pour plus d’informations sur ces variables.

Exemple :

LOG_ARCHIVE_FORMAT = redo_%T_%S_%R.arc
REMOTE_LOGIN_PASSWORDFILE

À positionner selon la stratégie adoptée pour l’identificationSYSDBA (cf. section


L’administrateur de base de données du chapitre Les bases de l’architecture Oracle). Valeurs
possibles :

 NONE : pas de fichier de mot de passe ; seule l’authentification par le système


d’exploitation est active.
 EXCLUSIVE : utilisation d’un fichier de mot de passe dédié à la base de données.
 SHARED : utilisation d’un fichier de mot de passe partagé entre plusieurs bases de
données.

Avec un fichier de mot de passe, par défaut, seul le compte SYS a le droit de se connecter
avec le privilège SYSDBA ou SYSOPER. Si le paramètre
REMOTE_LOGIN_PASSWORDFILE est égal à EXCLUSIVEde>, il est possible de donner le
privilège SYSDBA ou SYSOPER à d’autres utilisateurs (dans la limite d’un nombre maximum
d’utilisateurs indiqué lors de la création du fichier de mot de passe). Si le paramètre
REMOTE_LOGIN_PASSWORDFILE est égal à SHARED, seul le compte SYS peut utiliser
les privilèges SYSDBA ou SYSOPER.

Exemple :

REMOTE_LOGIN_PASSWORDFILE = exclusive
SEC_CASE_SENSITIVE_LOGON

Indique si les mots de passe sont sensibles à la casse (true, valeur par défaut) ou non
(false). Ce paramètre est apparu en version 11.

Laissez la valeur par défaut, sauf si cela pose un problème de compatibilité avec votre
application.
Exemple
SEC_CASE_SENSITIVE_LOGON = true

c. Un exemple simple

Vous pouvez créer une base de données de démarrage, utilisant la gestion automatique de
la mémoire, avec un fichier de paramètre contenant très peu de paramètres.

Exemple :

DB_NAME = ASUR
COMPATIBLE = 11.1.0
CONTROL_FILES = ("d:\oracle\oradata\ASUR\control01.ctl",
"d:\oracle\oradata\ASUR\control02.ctl")

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 15


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

DB_BLOCK_SIZE = 8192
MEMORY_TARGET = 512M
DB_RECOVERY_FILE_DEST = d:\oracle\flash_recovery_area
DB_RECOVERY_FILE_DEST_SIZE = 20G

Pour les autres paramètres, les valeurs par défaut sont satisfaisantes, au moins dans un
premier temps.

3. Créer le service associé à l’instance ou créer le fichier de mot de passe


a. Créer le service associé à l’instance (plate-forme Windows)

Sur plate-forme Windows, il faut créer le service associé à l’instance ; selon les options
utilisées, cette étape permet aussi de créer le fichier de mot de passe utilisé pour
l’authentification SYSDBA.

Le service est créé à l’aide de l’utilitaire oradim.

Syntaxe simplifiée

ORADIM -NEW -SID sid [-SYSPWD mot_de_passe] [-MAXUSERS


nombre] [-STARTMODE auto|manual] [-SRVCSTART
system|demand]
[-PFILE fichier] [-SPFILE]
[-SHUTMODE normal|immediate|abort] [-TIMEOUT durée]

Avec

SID sid
SID de la nouvelle instance.

SYSPWD mot_de_passe
Mot de passe de SYS pour le privilège SYSDBA. La présence de cette option crée le fichier
de mot de passe, ce qui permet d’avoir une authentification SYSDBA par fichier de mot de
passe. L’option peut être omise en cas d’utilisation d’une authentification SYSDBA par le
système d’exploitation. Ne pas oublier de positionner le paramètre
REMOTE_LOGIN_PASSWORDFILEen conséquence (cf. section L’administrateur de base de
données du chapitre Les bases de l’architecture Oracle).

MAXUSERS nombre
Indique le nombre d’utilisateurs qui pourront recevoir le privilège SYSDBA ou SYSOPER et
qui seront enregistrés dans le fichier de mot de passe. Nécessite l’utilisation d’un fichier de
mot de passe (option précédente).

STARTMODE auto | manual


Précise le mode de démarrage souhaité pour l’instance :

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 16


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

auto : l’instance est démarrée lorsque le service démarre (paramètre ORA_<SID>_


AUTOSTART = TRUE dans la base de registre).

manual (par défaut) : l’instance n’est pas démarrée lorsque le service démarre (paramètre
ORA_<SID>_A²UTOSTART = FALSE dans la base de registre).

SRVCSTART system | demand


Précise le mode de démarrage souhaité pour le service :

system : le service est en redémarrage automatique.

demand (par défaut) : le service est en redémarrage manuel.

SPFILE
Indique que l’instance n’utilise pas explicitement de fichier de paramètres texte pour le
démarrage automatique. Dans ce cas, lors d’un démarrage automatique, la séquence de
recherche d’un fichier paramètres s’effectue comme indiquée dans la section Démarrage du
chapitre Démarrage et arrêt - La commande STARTUP. Option par défaut si l’option - PFILE
n’est pas spécifiée.

PFILE fichier
Chemin d’accès complet au fichier de paramètres texte à utiliser explicitement pour le
démarrage automatique (pas de séquence de recherche de fichier de paramètres). Ne pas
mettre cette clause si vous utilisez un fichier de paramètres serveur (recommandé).

SHUTMODE normal | immediate |abort


Type d’arrêt effectué sur l’instance lorsque le service s’arrête (voir les options de la commande
STARTUP dans la section Démarrage du chapitre Démarrage et arrêt - La commande
STARTUP). Est enregistré dans le paramètre ORA_<SID>_AUTOSTART = FALSE de la base
de registre.

TIMEOUT durée
Délai (en secondes) accordé à l’instance pour s’arrêter avant l’arrêt du service (qui est alors
équivalent à un SHUTDOWN ABORT). Est enregistré dans le paramètre
ORA_<SID>_SHUTDOWN_TIMEOUT de la base de registre. 90 secondes par défaut.

ORADIM -NEW crée et démarre le serviceOracleService<SID>. Il crée aussi le service


OracleJobScheduler<SID> utilisé par l’ordonnanceur Oracle (scheduler) pour lancer des
travaux au niveau du système d’exploitation ; par défaut, ce service est désactivé.

Pour les options STARTMODE, SHUTMODE et SRVCSTART, la première lettre des valeurs
suffit (STARTMODE a, par exemple).

Exemple :

C:\>oradim -new -sid ASUR -syspwd wX#12 -startmode a -srvcstart s -spfile

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 17


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Instance créée.
C:\>

Cet exemple crée un service avec toutes les options qui permettent d’avoir un redémarrage
automatique. Un fichier de paramètres serveur est utilisé et l’authentification SYSDBA par un
fichier de mot de passe est possible (en plus de l’authentification par le système d’exploitation).

D’une manière plus générale, l’utilitaire ORADIM permet de gérer le service associé à
l’instance, notamment de modifier certains paramètres ou de le supprimer (suite à la
suppression d’une base par exemple).

Taper simplement ORADIM sur la ligne de commande permet d’obtenir l’aide de l’outil.

L’option -EDIT de ORADIM permet de modifier les caractéristiques du service et de l’instance,


notamment d’activer ou de désactiver le démarrage automatique.

Syntaxe simplifiée

ORADIM -EDIT -SID

sid
[-SYSPWD mot_de_passe] [-MAXUSERS nombre]
[-STARTMODE auto| manual ] [-SRVCSTART system| demand
] [-PFILE fichier] [-SPFILE]
[-SHUTMODE normal| immediate |abort] [-TIMEOUT durée]

Les clauses sont les mêmes que pour la création.

b. Créer le fichier de mot de passe (plate-forme Unix/Linux)

Sur plate-forme Unix ou Linux, il n’y a pas de notion de service associé à l’instance. Par contre,
il peut être nécessaire de créer le fichier de mot de passe utilisé pour l’authentification
SYSDBA.

Le fichier de mot de passe est créé à l’aide de l’utilitaire orapwd.

Cet utilitaire existe aussi sur plate-forme Windows. Il permet de créer ou de recréer le fichier
de mot de passe sans utiliser oradim.

Syntaxe

ORAPWD FILE=fichier PASSWORD=mot_de_passe


ENTRIES=nombre FORCE=y|n IGNORECASE=y|n

Avec

FILE=fichier

Chemin complet vers le fichier de mot de passe à créer.

PASSWORD=mot_de_passe

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 18


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Mot de passe de SYS pour le privilège

SYSDBA. ENTRIES=nombre

Indique le nombre d’utilisateurs qui pourront recevoir le privilège SYSDBA ou SYSOPER et


qui seront enregistrés dans le fichier de mot de passe.

FORCE=y|n

Mettre y pour forcer la suppression préalable du fichier s’il existe déjà (utile en cas de
recréation du fichier de mot de passe).

IGNORECASE=y|n

Mettre y pour avoir un mot de passe non sensible à la casse et n (valeur par défaut) pour avoir
un mot de passe sensible à la casse. Apparu en version 11. Avant la version 11, le mot de
passe n’était pas sensible à la casse.

Aucun espace ne doit être présent autour du signe =.

Exemple :

ORACLE_SID=ASUR
PWFILE=$ORACLE_HOME/dbs/orapw$ORACLE
_SID orapwd file=$PWFILE password=wX#12
entries=4

Sur plate-forme Unix ou Linux, le fichier de mot de passe s’appelle généralement orapw<SID>
(<SID> désignant le nom de l’instance) et est situé dans le répertoire
$ORACLE_HOME/dbs.

Sur plate-forme Windows, le fichier de mot de passe s’appelle généralement pwd<SID>.ora


(<SID> désignant le nom de l’instance) et est situé dans le répertoire
%ORACLE_HOME%\database.

Si le fichier de mot de passe existe déjà, 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 positionner le paramètre REMOTE_LOGIN_PASSWORDFILE en


conséquence (section L’administrateur de base de données du chapitre Les bases de
l’architecture Oracle).

4. Lancer SQL*Plus et se connecter AS SYSDBA

Maintenant que les étapes à réaliser au niveau du système d’exploitation sont terminées,
nous pouvons lancer SQL*Plus et nous connecter AS SYSDBA.

Pour cela :

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 19


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

 Positionner la variable d’environnement ORACLE_SID au niveau du système


d’exploitation :
o Sur plate-forme Windows (possible aussi dans la base de registre) :

set ORACLE_SID=ASUR

o Sur plate-forme Unix ou Linux (à adapter en fonction du shell) :

export ORACLE_SID=ASUR

 Démarrer SQL*Plus sans se connecter :sqlplus /nolog


 Se connecter AS SYSDBA :
o 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 à partir d’un fichier de


paramètres texte, grâce à l’ordre SQL CREATE SPFILE.

Syntaxe :

CREATE SPFILE [ = ’nom_spfile’ ] FROM PFILE [ = ’nom_pfile’ ]

; Avec :

nom_spfile

Chemin d’accès complet (sur le serveur) et nom du fichier de paramètres serveur à créer. Si
non spécifié, un nom par défaut et un emplacement par défaut sont utilisés (dépend de la
plate-forme).

nom_pfile

Chemin d’accès complet (sur le serveur) et nom du fichier de paramètres texte d’origine. Si
non spécifié, un nom par défaut et un emplacement par défaut sont utilisés (dépend de la
plate-forme).

Exemple :

SQL> CREATE SPFILE FROM


2 PFILE = ’d:\app\oracle\admin\ASUR\pfile\init.ora’;
Fichier créé.

Cette opération nécessite une connexion SYSDBA ou SYSOPER. Si le fichier de paramètres


serveur existe déjà, il est remplacé.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 20


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Le nom et l’emplacement par défaut du fichier de paramètres serveur est le suivant :

 %ORACLE_HOME%\database\spfile<SID>.ora ;

Utiliser le nom et l’emplacement par défaut facilite l’administration ultérieure de la base,


notamment le démarrage (voir le chapitre Démarrage et arrêt).

Le nom et l’emplacement par défaut du fichier de paramètres texte est le suivant :

 %ORACLE_HOME%\database\init<SID>.ora

Dans ce chapitre, titre Création de la base de données à la main, section Préparer un nouveau
fichier de paramètres texte, nous avons préconisé de ne pas créer de fichier de paramètres
texte à l’emplacement par défaut. En conséquence, dans l’ordre SQL CREATE SPFILE, il faut
donc spécifier l’emplacement du fichier de paramètres texte utilisé comme source (c’est la
seule fois !).

Si le fichier de paramètres texte contient une erreur de syntaxe (nom de paramètre erroné,
parenthèse absente ou surnuméraire, guillemet ou apostrophe absent ou surnuméraire, etc.),
l’ordre CREATE SPFILE va échouer :

 Nom de paramètre erroné : LRM-00101: unknown parameter name ...


 Syntaxe (parenthèse, guillemet, etc.) : LRM-00116: syntax error at ...
 Chemin du fichier texte : LRM-00109: could not open parameter file ...

Corrigez le fichier de paramètres texte et recommencez. Bien noter qu’à ce stade, les valeurs
des paramètres ne sont pas vérifiées ; elles seront vérifiées au démarrage de l’instance. La
création du fichier de paramètres serveur peut s’effectuer ultérieurement. Personnellement, je
préconise de le créer dès le début ; ainsi, dès le premier démarrage de l’instance, le fichier de
paramètres serveurs est utilisé, ce qui permet si besoin de faire des modifications dynamiques
de paramètres en les rendant persistantes dans le fichier de paramètres (cf. Chapitre Gestion
de l’instance).

6. Démarrer l’instance

L’instance peut maintenant être démarrée, en NOMOUNT puisque la base de données


n’existe pas encore :

SQL> STARTUP NOMOUNT


Instance ORACLE lancée.

Si le fichier de paramètres texte contient une erreur de valeur sur un paramètre (valeur en
dehors de la plage autorisée, mauvais chemin, etc.), la commande STARTUP NOMOUNT va
échouer. Corrigez le fichier de paramètres texte, recréez le fichier de paramètres serveur et
recommencez. Bien noter qu’à ce stade, les valeurs de tous les paramètres ne sont pas
vérifiées ; certaines seront vérifiées ultérieurement (par exemple lors de l’exécution de l’ordre
SQL CREATE DATABASE).

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 21


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

7. Créer la base de données


a. L’ordre SQL CREATE DATABASE

L’ordre SQL CREATE DATABASE permet de créer la base de

données. Syntaxe :

CREATE DATABASE [nom_base]


[ USER SYS IDENTIFIED BY mot_de_passe ]
[ USER SYSTEM IDENTIFIED BY mot_de_passe
] [ CONTROLFILE REUSE ]
[ SET DEFAULT { BIGFILE | SMALLFILE } TABLESPACE ]
[ DATAFILE spécification_fichier [,...] ] [
EXTENT MANAGEMENT LOCAL ]
[ SYSAUX DATAFILE spécification_fichier [,...] ] [[
BIGFILE | SMALLFILE ] UNDO TABLESPACE nom
[ DATAFILE spécification_fichier [,...] ] ]
[[ BIGFILE | SMALLFILE ] DEFAULT TEMPORARY TABLESPACE nom
[ TEMPFILE spécification_fichier [,...] ]
[ EXTENT MANAGEMENT LOCAL ] [ UNIFORM [ SIZE valeur [K|M|G|T] ] ] ] [
DEFAULT TABLESPACE nom
[ DATAFILE spécification_fichier [,...] ] [
clause_extent_management ] ]
[ LOGFILE [GROUP numéro] spécification_fichier_redo [,...] ] [
ARCHIVELOG | NOARCHIVELOG ]
[ FORCE LOGGING ]
[ CHARACTER SET jeu ]
[ NATIONAL CHARACTER SET jeu ]
[ SET TIME_ZONE = { ’+|- hh:mi’ | ’region’ } ] [
MAXINSTANCES nombre ]
[ MAXLOGFILES nombre ]
[ MAXLOGMEMBERS nombre ]
[ MAXDATAFILES nombre ] ;

Avec :

 spécification_fichier
’nom_fichier’ [ SIZE valeur [K|M|G|T] ] [REUSE] [
clause_auto_extend ]
 clause_auto_exten
d AUTOEXTEND
OFF
| AUTOEXTEND ON [ NEXT valeur [K|M|G|T] ]
[ MAXSIZE UNLIMITED | valeur [K|M|G|T] ]
 clause_extent_management
EXTENT MANAGEMENT DICTIONARY
| EXTENT MANAGEMENT LOCAL
{ AUTOALLOCATE | UNIFORM [ SIZE valeur [K|M|G|T] ] }
 spécification_fichier_redo
(’nom_fichier’ [,...]) [ SIZE valeur [K|M|G] ] [REUSE]

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 22


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Exemple :

CREATE DATABASE asur


USER SYS IDENTIFIED BY wX#12
USER SYSTEM IDENTIFIED BY
az#78
SET DEFAULT SMALLFILE TABLESPACE
DATAFILE ’&chemin\system01.dbf’ SIZE 200M
AUTOEXTEND ON NEXT 10M
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ’&chemin\sysaux01.dbf’ SIZE 100M
AUTOEXTEND ON NEXT 10M
LOGFILE
GROUP 1 (’&chemin\redo01a.log’,
’&chemin\redo01b.log’) SIZE 50M,
GROUP 2 (’&chemin\redo02a.log’,
’&chemin\redo02b.log’) SIZE 50M,
GROUP 3 (’&chemin\redo03a.log’,
’&chemin\redo03b.log’) SIZE 50M
SMALLFILE UNDO TABLESPACE undotbs
DATAFILE ’&chemin\undotbs01.dbf’ SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 1024M
SMALLFILE DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE ’&chemin\temp01.dbf’ SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE
1024M
DEFAULT TABLESPACE deftbs
DATAFILE ’&chemin\deftbs01.dbf’ SIZE 10M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL
AUTOALLOCATE
NOARCHIVELOG
CHARACTER SET WE8ISO8859P15
NATIONAL CHARACTER SET
AL16UTF16
SET TIME_ZONE = ’Europe/Paris’
MAXINSTANCES 1
MAXLOGFILES 16
MAXLOGMEMBERS 4
MAXDATAFILES 128
/

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 chemin=....

L’ordre SQL CREATE DATABASE dure quelques minutes.


L’ordre SQL CREATE DATABASE crée la nouvelle base de données, en l’occurrence :

 création des fichiers de contrôle ;


 création des fichiers de journalisation ;
 création du tablespace SYSTEM et de son fichier de données ;
 création du tablespace SYSAUX et de son fichier de données ;
 création du dictionnaire de données (dans le tablespace SYSTEM) ;

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 23


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

 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.

À l’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 donc peu
exploitable. La finalisation de la création du dictionnaire est décrite dans le point Finaliser la
création du dictionnaire ci-après.

Toutes les structures stockées dans le tablespace SYSTEM sont créées grâce au script
sql.bsq qui se trouve dans le répertoire %ORACLE_HOME%\rdbms\admin ou
$ORACLE_HOME/rdbms/admin.

En ce qui concerne les fichiers de la base de données, les recommandations de nommage


sont les suivantes :

Fichier de contrôle
controlnn.ctl, nn étant un numéro d’ordre (01, 02, etc.).
Fichier de journalisation
redonn.log, nn, 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 l’ordre SQL 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éjà été créés. Dans ce cas, avant de
relancer la création, il faut supprimer les fichiers déjà créés (sous peine que le CREATE
DATABASE échoue de nouveau, mais cette fois parce que des fichiers existent déjà).

Les causes d’un échec de la création d’une base de données peuvent être multiples :

 manque d’espace ;
 chemin erroné pour un fichier (Oracle ne crée par les répertoires, ils doivent déjà
exister) ;
 etc.

Si le message d’erreur affiché à l’écran est sibyllin (du genre ORA-01092: instance ORACLE
interrompue. Déconnexion imposée), consultez le fichier d’alerte de l’instance qui vous
donnera (normalement) des informations détaillées sur la nature du problème.

b. Options de l’ordre SQL CREATE DATABASE

Toutes les clauses de l’ordre SQL CREATE DATABASE sont optionnelles et ont des valeurs
par défaut. Dans la pratique, il est préférable de les spécifier toutes (ou presque) afin de bien
contrôler les caractéristiques de la nouvelle base.

nom_base

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 24


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Nom de la base de données. Par défaut égal au paramètre DB_NAME. Provoque une erreur
si le nom indiqué ici est différent de la valeur du paramètre DB_NAME.

USER { SYS | SYSTEM } IDENTIFIED BY

Exemple :

USER SYS IDENTIFIED BY wX#12


USER SYSTEM IDENTIFIED BY
az#78

Ces deux clauses permettent de changer les mots de passe de SYS et SYSTEM dès la
création de la base de données. Bien noter que ces deux clauses ne sont pas obligatoires
(mais risquent de le devenir dans une version ultérieure). Par contre, si l’une est spécifiée,
l’autre doit l’être aussi. Si ces clauses ne sont pas spécifiées, les mots de passe par défaut
sont attribués à SYS (change_on_install) et SYSTEM (manager).

CONTROLFILE REUSE

Si l’option est présente et qu’un des fichiers indiqués dans le paramètre CONTROL_FILES
existe déjà, Oracle le réutilise et l’écrase. Si l’option est absente, dans la même situation, un
message d’erreur s’affiche et la création de la base est stoppée.

Du point de vue de la sécurité, il est préférable de ne pas mettre cette option afin d’éviter
d’écraser par mégarde un fichier de contrôle utilisé par une autre base.

SET DEFAULT { BIGFILE | SMALLFILE } TABLESPACE

Cette clause spécifie le type par défaut (BIGFILE ou SMALLFILE) des tablespaces créés lors
de la création de la base de données. Le type spécifié ici s’applique notamment aux
tablespaces SYSTEM et SYSAUX, et ne peut pas être modifié pour ces deux tablespaces. Si
cette clause est omise, Oracle crée des tablespaces SMALLFILE par défaut.

Un tablespace BIGFILE est un tablespace qui ne comporte qu’un seul fichier de données qui
peut contenir jusqu’à 2^32 blocs Oracle (plus de 4 milliards). Un tablespace SMALLFILE est
le tablespace traditionnel d’Oracle, qui peut comporter jusqu’à 1022 fichiers, chaque fichier
pouvant contenir jusqu’à 2^22 blocs Oracle (plus de 4 millions). Les tablespaces BIGFILE sont
apparus en version 10.

Cette notion de tablespace BIGFILE est présentée plus en détail dans le chapitre Gestion des
tablespaces et des fichiers de données.

DATAFILE spécification_fichier [,...]

Exemple :

DATAFILE ’&chemin\system01.dbf’ SIZE 200M


AUTOEXTEND ON NEXT 10M

Cette clause permet de préciser l’emplacement, le nom et la taille d’un (ou éventuellement de
plusieurs) fichiers de données pour le tablespace SYSTEM.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 25


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

La syntaxe est la suivante pour la spécification d’un fichier de données :

 spécification_fichier
’nom_fichier’ [ SIZE valeur [K|M|G|T] ] [REUSE] [
clause_auto_extend ]

nom_fichier

Chemin d’accès complet au fichier de données, normalement dans un répertoire de


données (oradata) pour respecter le standard OFA.

SIZE

Taille initiale du fichier. La taille peut être omise uniquement si l’option REUSE est
utilisée et que le fichier existe déjà.

REUSE

Si l’option est présente et que le fichier existe déjà, Oracle le réutilise et l’écrase. Si l’option
est absente, dans la même situation, un message d’erreur s’affiche et la création de la base
de données est stoppée. Du point de vue de la sécurité, il est préférable de ne pas mettre
cette option afin d’éviter d’écraser par mégarde un fichier de données utilisé par une autre
base de données.

 clause_auto_ex
tend AUTOEXTEND
OFF
| AUTOEXTEND ON [ NEXT valeur [K|M|G|T] ]
[ MAXSIZE UNLIMITED | valeur [K|M|G|T] ]

AUTOEXTEND

Indique si le fichier de données peut (ON) ou non (OFF) grossir une fois que tout l’espace
initialement alloué est complètement utilisé.

NEXT

Espace minimum alloué au fichier lors de l’extension.

MAXSIZE

Taille maximale du fichier, éventuellement non limitée (UNLIMITED).

La gestion des tablespaces et des fichiers de données sera présentée en détail dans le
chapitre Gestion des tablespaces et des fichiers de données.

Pour le< tablespace SYSTEM, il faut prévoir un fichier de données d’au minimum 200 Mo (si
aucune option particulière n’est installée), et il est vivement conseillé de permettre à ce fichier
de données de s’étendre en fonction des besoins (clause AUTOEXTEND).

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 26


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Toutes les tailles peuvent être exprimées en octet (pas de symbole), Ko (symbole K), Mo
(symbole M), Go (symbole G) ou To (symbole T). Les tailles en To ne sont autorisées que
pour les tablespaces BIGFILE.

Le type (BIGFILE ou SMALLFILE) du tablespace SYSTEM est déterminé par la clause SET
DEFAULT ... TABLESPACE présentée précédemment. Un seul fichier de données peut être
spécifié si le tablespace est de type BIGFILE.

EXTENT MANAGEMENT LOCAL

Cette clause indique que le tablespace SYSTEM doit être géré localement ; par défaut, il est
géré par le dictionnaire.

La notion de tablespace géré localement sera présentée dans le chapitre Gestion des
tablespaces et des fichiers de données. Bien noter les conséquences (positives !) de cette
clause :

 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 (par défaut et conseillé
par Oracle), un tablespace d’annulation doit être créé dès la création de la base de
données (conseillé par Oracle).

Il n’y a pas d’inconvénient (au contraire) à utiliser un tablespace SYSTEM géré localement
!

SYSAUX DATAFILE spécification_fichier

[,...] Exemple :

SYSAUX DATAFILE ’&chemin\sysaux01.dbf’ SIZE 100M


AUTOEXTEND ON NEXT 10M

Cette clause permet de préciser l’emplacement, le nom et la taille d’un (ou éventuellement de
plusieurs) fichiers de données pour le tablespace SYSAUX (apparu en version 10).

La syntaxe de spécification du fichier de données est la même que le tablespace SYSTEM.


Les caractéristiques du tablespace SYSAUX seront présentées dans le chapitre Gestion des
tablespaces et des fichiers de données.

Le type (BIGFILE ou SMALLFILE) du tablespace SYSAUX est déterminé par la clause SET
DEFAULT ... TABLESPACE présentée précédemment.

La taille du tablespace SYSAUX dépendra énormément des fonctionnalités utilisées dans la


base de données (OLAP, Oracle Text, Oracle interMedia, etc.). Si aucune option particulière
n’est utilisée, une taille de départ de 100 Mo est suffisante. En rythme de croisière, il faut
compter 200 à 300 Mo pour le référentiel AWR (base comportant en moyenne une trentaine
de sessions actives) et environ 100 Mo pour le référentiel du Database Control (mais l’espace
utilisé par ces deux composants dépend de nombreux

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 27


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

facteurs). Il est conseillé de permettre au fichier de données du tablespace SYSAUX de


s’étendre en fonction des besoins (clause AUTOEXTEND).

[ BIGFILE | SMALLFILE ] UNDO TABLESPACE ...

Exemple :

SMALLFILE UNDO TABLESPACE undotbs


DATAFILE ’&chemin\undotbs01.dbf’ SIZE
100M AUTOEXTEND ON NEXT 10M
MAXSIZE 1024M

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 Gestion des informations d’annulation.

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.

[ BIGFILE | SMALLFILE ] DEFAULT TEMPORARY TABLESPACE ...

Exemple :

SMALLFILE DEFAULT TEMPORARY TABLESPACE temp


TEMPFILE ’&chemin\temp01.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éressante et doit être mise en œuvre dès la création de la base de données. Le tablespace
temporaire sera présenté en détail dans le chapitre Gestion des tablespaces et des fichiers
de données.

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 remplaçant 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 DEFAULT ...
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

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 28


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

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 où beaucoup d’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 Gestion des utilisateurs et de leurs droits). 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-à-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 Gestion des utilisateurs et de leurs droits).

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. Le tablespace est obligatoirement de type
SMALLFILE. La clause EXTENT MANAGEMENT sera présentée dans le chapitre Gestion
des tablespaces et des fichiers de données.

LOGFILE

Exemple :

LOGFILE
GROUP 1 (’&chemin\redo01a.log’,
’&chemin\redo01b.log’) SIZE 50M,
GROUP 2 (’&chemin\redo02a.log’,
’&chemin\redo02b.log’) SIZE 50M,
GROUP 3 (’&chemin\redo03a.log’,
’&chemin\redo03b.log’) SIZE 50M

Cette clause permet de préciser l’emplacement, le nombre et la taille des fichiers de


journalisation (voir le chapitre Les bases de l’architecture Oracle pour les principes
d’organisation en groupes, composés de plusieurs membres).

La syntaxe est la suivante :

LOGFILE [GROUP numéro] spécification_fichier_redo [,...]


spécification_fichier_redo =
(’nom_fichier’ [,...]) [ SIZE valeur [K|M|G] ] [REUSE]

Avec :

numéro

Numéro du groupe. Si l’option est absente, Oracle numérote les groupes 1, 2, ... (ce qui est
bien).

nom_fichier

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 29


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Chemin d’accès complet à un fichier membre du groupe, normalement dans un répertoire de


données (oradata) pour respecter le standard OFA.

SIZE

Taille de chaque membre du groupe en octet (pas de symbole), Ko (symbole K), Mo (symbole
M) ou Go (symbole G). La taille peut être omise uniquement si l’option REUSE est utilisée et
que le fichier existe déjà.

REUSE

Si l’option est présente et que le fichier existe déjà, Oracle le réutilise et l’écrase. Si l’option
est absente, dans la même situation, un message d’erreur s’affiche et la création de la base
de données est stoppée. Du point de vue de la sécurité, il est préférable de ne pas mettre
cette option afin d’éviter d’écraser par mégarde un fichier de données utilisé par une autre
base de données.

Vous devez spécifier au minimum deux groupes, composés chacun d’un membre. Du point
de vue de la sécurité, il est conseillé d’avoir au minimum deux membres par groupe, si possible
sur des disques différents. Pour les performances, il est aussi conseillé de mettre les fichiers
de journalisation sur des disques dédiés (pour éviter les contentions sur les entrées/sorties).

Compte tenu de la syntaxe, tous les membres d’un groupe ont forcément la même taille. Par
contre, rien n’interdit d’avoir des groupes de tailles différentes : cela ne présente aucun intérêt,
sauf temporairement, durant une opération de redimensionnement de la taille des fichiers de
journalisation (chapitre Gestion des fichiers de contrôle et des fichiers de journalisation).

Déterminer le nombre de groupes et la taille des groupes est un sujet complexe pour lequel il
n’existe pas de formule de calcul. Là encore, il est possible, a posteriori, d’auditer le
fonctionnement des fichiers de journalisation afin de voir si le nombre de groupes et la taille
des groupes sont satisfaisants ; en cas de problème, il est relativement simple d’apporter des
corrections en ajoutant un nouveau groupe (c’est simple) ou en augmentant la taille des
groupes (c’est un peu plus compliqué). Nous verrons tout cela dans le détail dans le chapitre
Gestion des fichiers de contrôle et des fichiers de journalisation.

Pour démarrer, il est classique d’utiliser trois ou quatre groupes de fichiers de journalisation
d’une taille comprise entre 20 (petite activité transactionnelle) et 100 Mo (activité
transactionnelle plus importante).

ARCHIVELOG | NOARCHIVELOG

Cette clause indique si la base de données fonctionne dans le mode ARCHIVELOG ou


NOARCHIVELOG. Généralement, la base est toujours créée en mode NOARCHIVELOG puis
éventuellement passée ensuite en mode ARCHIVELOG. ; il n’est en effet pas utile d’archiver
les fichiers de journalisation remplis lors de la création de la base de données (en cas de
problème, il est plus simple de recréer la base). La mise en œuvre de l’archivage après
création de la base de données est présentée dans le chapitre Sauvegarde et récupération.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 30


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

FORCE LOGGING

Certains ordres SQL peuvent être exécutés en mode NOLOGGING, c’est-à-dire sans générer
d’activité (ou presque pas) dans les fichiers de journalisation. Cette technique est intéressante
pour les performances (l’opération est plus rapide) mais peut poser des problèmes pour la
récupération : les opérations effectuées en NOLOGGING qui n’ont pas été sauvegardées ne
sont pas récupérables ; il faut les refaire (si c’est possible...).

La clause FORCE LOGGING de l’ordre SQL CREATE DATABASE met la base de données
dans le mode FORCELOGGING, ce qui permet de garantir que toutes les modifications seront
enregistrées dans les fichiers de journalisation, même si l’opération concernée est effectuée
dans le mode NOLOGGING.

Dans la pratique, s’ôter la possibilité de réaliser certaines opérations dans le mode


NOLOGGING est dommage, car cela peut être très intéressant du point de vue des
performances (pour la création des index par exemple). Il est préférable de ne pas mettre la
base de données dans le mode FORCE LOGGING et de bien contrôler les opérations
réalisées en NOLOGGING, et notamment de faire des sauvegardes après les opérations de
ce genre si, celles-ci ne peuvent pas être facilement refaites en cas d’incident.Cette propriété
de la base de données peut être modifiée ultérieurement par l’ordre SQL ALTER DATABASE
[NO] FORCE LOGGING. Elle est enregistrée dans la colonne FORCE_LOGGING de la vue
V$DATABASE.

La clause FORCE LOGGING peut être positionnée sur un tablespace ce qui permet d’avoir
un contrôle plus fin.

CHARACTER SET & NATIONAL CHARACTER SET

Exemple :

CHARACTER SET WE8ISO8859P15

La clause CHARACTER SET définit le jeu de caractères utilisé pour le stockage des données
dans les colonnes de type CHAR, VARCHAR2, LONG et CLOB.

Le CHARACTER SET, bien qu’optionnel, doit être indiqué avec soin, car il n’est pas simple à
changer ultérieurement ; la valeur par défaut dépend de la plate-forme et de l’installation.

Pour l’Europe de l’ouest, les jeux de caractères WE8ISO8859P1 et WE8ISO8859P15 sont


souvent utilisés car ils stockent les caractères sur 8 bits et permettent donc de conserver les
caractères accentués ; le deuxième jeu permet en plus de stocker le symbole de l’euro. Une
autre valeur usuelle est US7ASCII ; ce jeu de caractère anglo-saxon ne permet pas de stocker
les accents. Le jeu Unicode AL32UTF8 est aussi supporté et recommandé par Oracle.

La clause NATIONAL CHARACTER SET définit le jeu de caractères utilisé pour le stockage
des données dans les colonnes de type NCHAR, NVARCHAR2 et NCLOB.

Il est, lui aussi, délicat à changer ultérieurement. Le NATIONAL CHARACTER SET peut être
omis si vous ne prévoyez pas d’utiliser un deuxième jeu de caractères dans la base de

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 31


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

données ; il est par défaut égal à AL16UTF16. Seuls les jeux de caractères UTF8 et
AL16UTF16 sont autorisés.

Les techniques de changement de jeu de caractères sont décrites dans la documentation


Oracle® Database Globalization Support Guide.

SET TIME_ZONE

Exemple :

SET TIME_ZONE = ’AFRIQUE/Libreville’

Cette option permet de définir le fuseau horaire de la base. Ce fuseau horaire est utilisé par
les types de données TIMESTAMP WITH TIME ZONE et TIMESTAMP WITH LOCAL TIME
ZONE. Si cette option n’est pas spécifiée, Oracle utilise le fuseau horaire du système
d’exploitation. Si le fuseau horaire du système d’exploitation n’est pas valide, Oracle utilise le
fuseau UTC. Le fuseau horaire peut être défini par une chaîne de la forme +|- hh:mi donnant
le décalage par rapport à l’heure universelle (+01:00 par exemple), ou par le nom d’une région
(Europe/Paris par exemple). Vous pouvez interroger la colonne TZNAME de la vue
V$TIMEZONE_NAMES pour avoir la liste des noms de région.

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 :

MAXLOGFILES

Nombre maximum de groupes de fichiers de journalisation.

MAXLOGMEMBERS

Nombre maximum de membres dans un groupe de fichiers de journalisation.

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 contrôle car Oracle réserve le
nombre d’entrées nécessaires dans les fichiers de contrôle ; mettre des valeurs très grandes,
"pour être tranquille", peut donc conduire à un fichier de contrôle démesurément grand (plus
de 10 Mo, contre moins de 10 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 :

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 32


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

MAXLOGFILES

En général, une base utilise quatre ou cinq groupes, donc, mettre une valeur de l’ordre de
10 serait largement suffisant ; malheureusement, MAXLOGFILES a une valeur minimum égale
à deux fois celle d’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 à 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 contrôle est négligeable. Une autre approche peut consister
à donner une valeur à MAXINSTANCES (1 par exemple) et à mettre MAXLOGFILES à 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 l’ordre de 50 à 100 (éventuellement plus pour les très grosses bases). Classiquement, une
base moyenne utilise 10 à 20 fichiers de données.

8. Finaliser la création du dictionnaire de données

Après l’exécution de l’ordre SQL CREATE DATABASE, la base de données est parfaitement
opérationnelle, mais les vues et les synonymes qui rendent le dictionnaire de données
exploitable ne sont pas créés.

Pour créer ces vues et ces synonymes, vous devez exécuter (sous SYS) des scripts fournis
par Oracle (dans %ORACLE_HOME%\rdbms\admin ou $ORACLE_HOME/rdbms/admin) :

 catalog.sql : vues et synonymes de base ;


 catproc.sql : compléments pour les options procédurales (création d’un grand nombre
de packages fournis par Oracle).

Les scripts catalog.sql et catproc.sql appellent d’autres scripts.

Le passage de catalog et catproc dure environ 10 à 15 minutes.

D’autres fonctions particulières d’Oracle peuvent nécessiter l’exécution de scripts


supplémentaires ; dans ce cas, le script à lancer est clairement indiqué dans la documentation.

En règle générale, les scripts doivent être exécutés dans le schéma SYS (propriétaire du
dictionnaire de données) et donc avec une connexion AS SYSDBA. En cas de doute, ouvrez
le script et regardez son en-tête ; la connexion à utiliser est généralement indiquée.

En complément, vous pouvez exécuter (sous SYSTEM) le script pupbld.sqlsitué dans


%ORACLE_HOME%\sqlplus\admin ou $ORACLE_HOME/sqlplus/admin. Ce script est
exécuté pour créer une table (PRODUCT_USER_PROFILE) dont la présence est testée par
les outils

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 33


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Oracle (SQL*Plus notamment) lors de la connexion d’un utilisateur. Si la table n’existe pas et
que l’utilisateur n’est pas un DBA, un message d’alerte est affiché (mais la connexion est
acceptée).

Exécuter le script pupbld.sql permet d’éviter d’avoir ce message.

La table PRODUCT_USER_PROFILE peut être utilisée pour limiter la nature des ordres SQL
qu’un utilisateur peut exécuter avec les outils (par exemple, interdire l’utilisation de l’ordre
UPDATE dans SQL*Plus). Pour en savoir plus, consulter la documentation SQL*Plus® User’s
Guide and Reference.

9. Configurer Oracle Net pour la nouvelle base de données

À ce stade, vous pouvez configurer Oracle Net pour la nouvelle base de données :

 Modification de la configuration du processus d’écoute (fichier listener.ora) pour avoir


un enregistrement statique de l’instance.
 Création d’un nom de service réseau (fichier tnsnames.ora) pour pouvoir se connecter
à la base de données sans devoir positionner la variable d’environnement
ORACLE_SID.

Ces différentes configurations ont été présentées dans la section Configuration côté serveur
du chapitre Oracle Net et Configuration côté client du chapitre Oracle Net.

10. Enregistrer la nouvelle instance dans le fichier oratab

Sur plate-forme Unix ou Linux, il est intéressant d’enregistrer la nouvelle instance dans le
fichier /etc/oratab, d’une part, pour pouvoir changer facilement d’environnement avec l’utilitaire
oraenv (voir la section Installation du serveur du chapitre Installation), et d’autre part, pour
bénéficier éventuellement du redémarrage automatique (voir la section Automatisation et
scripts du chapitre Démarrage et arrêt).

Exemple :

ASUR:/u01/app/oracle/product/11.1.0/db_1:Y

11. Configurer le Database Control

L’environnement du Database Control (référentiel, arborescence de fichiers dans le répertoire


Oracle Home service sur plate-forme Windows) peut être créé grâce à l’utilitaire ligne de
commande emca (Enterprise Manager Configuration Assistant) Appelé sans option, l’utilitaire
affiche une aide. Cet utilitaire propose un grand nombre d’options qui permettent de configurer,
reconfigurer, mettre à jour ou supprimer le Database Control.

Syntaxe simplifiée :

emca -config dbcontrol db [-repos {create | recreate}]


emca -deconfig dbcontrol db [-repos drop]

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 34


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Le premier appel permet de configurer l’environnement complet. L’option -repos permet de


créer ou recréer le référentiel. Si cette option est absente, le référentiel est supposé déjà
exister.

Le deuxième appel permet de supprimer la configuration. L’option -repos drop permet de


supprimer le référentiel. Si cette option est absente, le référentiel n’est pas supprimé.Pour
reconfigurer le Database Control sans supprimer le référentiel, vous pouvez donc appeler
successivement emca -deconfig puis emca -config en omettant à chaque fois l’option -repos.

Lorsque vous lancez l’utilitaire pour créer l’environnement, ce dernier vous pose une série de
questions.

Exemple :

C:\>emca -config dbcontrol db -repos create


EMCA DEMARRE à 10 mars. 2020 07:49:35
Assistant Configuration d’EM, version 11.1.0.5.0 - Production
Copyright (c) 2003, 2005, Oracle. Tous droits réservés.
Entrez les informations suivantes :
SID de base de données: ASUR
Numéro de port du processus d’écoute:
152
1 Mot de passe de l’utilisateur SYS:
Mot de passe de l’utilisateur DBSNMP:
Mot de passe de l’utilisateur SYSMAN:
Adresse électronique pour les notifications (facultatif):
contact@olivier-heurtel.fr
Serveur de messagerie sortant (SMTP) pour les notifications (facultatif):
smtp.orange.fr
-----------------------------------------------------------------
Vous avez indiqué les paramètres suivants

Répertoire d’origine ORACLE_HOME de la base de données


................ D:\app\oracle\product\11.1.0\db_1

Nom d’hôte local ....................... srvwinora


Numéro de port du processus d’écoute ...................... 1521
SID de base de données .................... ASUR
Adresse électronique pour les notifications
................ contact@olivier-heurtel.fr
Serveur de messagerie sortant (SMTP) pour les notifications
................ smtp.orange.fr

-----------------------------------------------------------------
Voulez-vous continuer ? [oui(Y)/non(N)]: Y
10 mars 2020 07:50:38 oracle.sysman.emcp.EMConfig
perform INFO: Cette opération est en cours de journalisation
dans
D:\app\oracle\cfgtoollogs\emca\ASUR\emca_2020_03_10_07_49_35.log.
...
10 mars. 2020 08:36:34 oracle.sysman.emcp.EMDBPostConfig
perform Configuration

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 35


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

INFO: >>>>>>> URL de Database Control : https://srvwinora:5500/


em <<<<<<<10 mars 2020 08:36:37 oracle.sysman.emcp.EMDBPostConfig invoke

ATTENTION:
************************ WARNING ************************
Le référentiel de gestion a été mis en mode sécurisé : les données
Enterprise Manager seront cryptées. La clé de cryptage a été stockée
dans le fichier D:\app\oracle\product\11.1.0\db_1\srvwinora_ASUR\
sysman\config\emkey.ora. Vérifiez que ce fichier est bien sauvegardé,
car les données cryptées deviendront inutilisables si vous perdez ce
fichier.
*******************************************************
**** Enterprise Manager a été configuré
EMCA ARRETE à 10 mars 2020 08:36:38

Sur l’exemple ci-dessus, les questions posées sont en gras et les réponses en italique. Les
questions posées sont les suivantes :

SID de base de données


Identifiant de l’instance.
Numéro de port du processus d’écoute
Numéro du port sur lequel le processus d’écoute communique (généralement 1521).
Mot de passe de l’utilisateur SYS
Mot de passe du compte SYS (indiquer le mot attribué à SYS lors de la création de la base
de données). La saisie est masquée.
Mot de passe de l’utilisateur DBSNMP
Mot de passe du compte DBSNMP (créé par l’utilitaire). La saisie est masquée.
Mot de passe de l’utilisateur SYSMAN
Mot de passe du compte SYSMAN (créé par l’utilitaire). La saisie est masquée.
Adresse électronique pour les notifications (facultatif)

Adresse électronique à laquelle les notifications seront envoyées (associé au compte


administrateur SYSMAN). Peut être laissé vide et configuré ultérieurement dans le Database
Control.

Serveur de messagerie sortant (SMTP) pour les notifications (facultatif)

Passerelle SMTP utilisée pour l’envoi des notifications par courrier électronique. Peut être
laissé vide et configuré ultérieurement dans le Database Control.

À la fin de l’installation, emca affiche deux messages importants :

 Un message donnant l’URL à utiliser pour se connecter au Database Control.


 Un message invitant à sauvegarder un fichier contenant une clé de chiffrage.

Vous pouvez ensuite vous connecter au Database Control en utilisant l’URL indiquée par
l’utilitaire.

Si besoin, vous pouvez utiliser l’appel emca -reconfig ports pour modifier les ports utilisés par
le Database Control.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 36


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

L’utilitaire emca peut aussi être utilisé dans un mode non interactif, soit en spécifiant les
valeurs dans la ligne de commande, soit en utilisant un fichier de réponse avec l’option -
respFile. Pour plus d’informations sur ces différentes possibilités, vous pouvez consulter la
documentation "Oracle® Database Utilities".

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’automatiser 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


informations sur une base de données.

Les colonnes intéressantes de la vue V$DATABASE 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-à-vis de l’archivage (ARCHIVELOG ou
NOARCHIVELOG). FORCE_LOGGING
YES ou 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é.

Création de la base de données à l’aide de l’assistant graphique


1. Vue d’ensemble

L’assistant Configuration de base de données permet de :

 créer une nouvelle base de données, à partir de modèles pouvant comporter des
fichiers de données prêts à l’emploi ;

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 37


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

 modifier les options installées dans une base de données ;


 supprimer une base de données ;
 créer des modèles ;
 configurer ASM.

L’assistant crée des structures de stockage complémentaires (que nous verrons dans les
chapitres Gestion des tablespaces et des fichiers de données et Gestion des informations
d’annulation).

L’assistant peut être lancé à partir d’une fenêtre du système d’exploitation par la commande
dbca. Sur plate-forme Windows, l’assistant peut aussi être lancé par le menu Démarrer -
Programmes - Oracle -nom_oracle_home - Outils de configuration et de migration - Assistant
Configuration de base de données.

Un écran de bienvenue s’affiche ; cliquez sur le bouton Suivant pour afficher l’écran proposant
les différentes opérations :

Les options sont les suivantes :

Créer une base de données : Permet de créer une nouvelle base de données (voir ci- après).

Configurer les options de base de données : Permet de modifier le mode de connexion par
défaut de la base de données (serveur dédié ou serveur partagé) et d’installer ou de supprimer
des options supplémentaires dans la base de données.

Supprimer une base de données : Permet de supprimer une base de données.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 38


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Gérer les modèles : Permet de créer, modifier et supprimer des modèles (voir ci-après).

Configurer Automatic Storage Management : Permet de configurer une instance pour utiliser
le système de stockage ASM.

Sélectionnez l’option souhaitée et cliquez sur le bouton Suivant.

L’assistant peut être utilisé en mode non interactif en utilisant un fichier de réponse. Pour plus
d’informations, consultez la documentation "Oracle® Database Installation Guide" de votre
plate-forme.

2. Création à partir d’un modèle avec fichiers de données

Les modèles avec fichiers de données permettent de créer une nouvelle base très rapidement.
Par contre, cette dernière inclut un grand nombre d’options pas forcément utiles pour toutes
les applications.

Un modèle avec fichiers de données est en quelque sorte un clone de base de données (une
"sauvegarde") qui peut déjà contenir les objets d’une application, avec éventuellement des
données (données dans des tables de nomenclature par exemple). La base de données créée
avec un modèle de ce genre est prête à l’emploi.

Choix du modèle

En standard, l’assistant propose trois modèles, dont deux incluent des fichiers de données
prêts à l’emploi ; avec ce genre de modèle, l’opération de création d’une nouvelle base

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 39


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

est très rapide car il n’est pas nécessaire de créer les fichiers, d’exécuter les scripts, etc. Le
modèle Data Warehouse permet de créer une base de données plutôt orientée application
décisionnelle. Le modèle Usage général ou traitement transactionnel permet de créer une
base de données pour une activité mixte ou orientée application de saisie; c’est le modèle
choisi pour la suite. Le modèle Base de données personnalisée ne comporte pas de fichiers
de données ; ils devront donc être spécifiés et créés (création de base complète). Nous
verrons l’utilisation d’un tel modèle au point Création à partir d’un modèle sans fichier de
données de cette section.

Le bouton Afficher les détails... permet d’afficher des informations sur les modèles.

Sélectionnez le modèle (Usage général ou traitement transactionnel pour la suite) et cliquez


sur le bouton Suivant.

Identification de la nouvelle base

Sur cet écran, saisissez le Nom global de la base de données (sous la forme
DB_NAME.DB_DOMAIN) et le SID de l’instance, puis cliquez sur le bouton Suivant.

Options de gestion

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 40


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Sur cet écran, indiquez si vous souhaitez que la base de données soit gérée ou non par le
Database Control, saisissez éventuellement les informations demandées pour la notification
et la sauvegarde (peut être fait plus tard dans le Database Control) puis cliquez sur le bouton
Suivant. Si vous choisissez d’administrer la base avec le Database Control, l’assistant
effectuera la configuration nécessaire (référentiel, répertoires, service sur plate-forme
Windows).

Mots de passe

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 41


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Sur cet écran, saisissez les mots de passe des différents comptes puis cliquez sur le bouton
Suivant. Utiliser le même mot de passe pour les différents comptes est pratique dans un
environnement de test mais, déconseillé en production.

Options de stockage et Emplacement des fichiers de la base de données

Sur cet écran, indiquez le système de stockage choisi pour la base de données puis cliquez
sur le bouton Suivant. Dans cet ouvrage, seul le stockage dans un système de fichiers est
étudié. Indiquez aussi l’emplacement des fichiers de la base de données puis cliquez sur le
bouton Suivant. En cliquant sur le bouton Variables d’emplacement de fichier... vous pourrez
définir des variables contenant des chemins d’accès, qui pourront être utilisées dans la
spécification de l’emplacement des fichiers.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 42


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Sur cet écran,

Configuration de la récupération

Sur cet écran, saisissez l’emplacement (paramètre DB_RECOVERY_FILE_DEST) et la taille


(paramètre DB_RECOVERY_FILE_DEST_SIZE) de la zone de récupération rapide, indiquez
si vous souhaitez activer dès le départ l’archivage des fichiers de journalisation, puis cliquez
sur le bouton Suivant. Si vous activez l’archivage des fichiers de journalisation, vous pouvez
cliquer sur le bouton Activer les paramètres du mode d’archivage... pour définir la destination
des archives, le format des noms d’archives, etc. (tous les paramètres LOG_ ARCHIVE_*).

Contenu de la base de données

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 43


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

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
$ORACLE_HOME/demo/ schema).

Paramètres d’initialisation

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 44


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Les quatre onglets de cet écran permettent de spécifier les valeurs de plusieurs paramètres
d’initialisation. Le bouton Tous les paramètres d’initialisation... permet de consulter tous les
paramètres utilisés et si besoin de les modifier. Notez que l’assistant utilise systématiquement
un fichier de paramètres serveur.

L’onglet Mémoire permet de régler les paramètres relatifs à la mémoire. Si l’option Standard
est sélectionnée, vous pouvez modifier la quantité de mémoire allouée à l’instance (SGA et
PGA). Si l’option Utiliser la gestion automatique de la mémoire est cochée, l’assistant active
la gestion automatique de la mémoire (paramètre MEMORY_TARGET) ; sinon, l’assistant
active la gestion automatique de la mémoire partagée et calcule une répartition SGA/PGA en
fonction du type de base de données du modèle (décisionnel ou usage général) : les valeurs
calculées peuvent être visualisées grâce au bouton Afficher la répartition de la mémoire.... Si
l’option Personnalisé est choisie, vous pouvez activer ou non la gestion automatique de la
mémoire partagée (menu déroulant Gestion de la mémoire). Si la gestion automatique de la
mémoire partagée est activée, l’assistant vous demandera juste de saisir la taille de la SGA
(paramètre
<$I[]SGA_TARGET>SGA_TARGET) <et la taille de la PGA (paramètre
PGA_AGGREGATE_TARGET). Si la gestion automatique de la mémoire partagée n’est pas
activée, vous pourrez dimensionner individuellement les différentes structures de la mémoire.

L’onglet Dimensionnement permet de définir le nombre maximum de processus (paramètre


PROCESSES). La taille de bloc (paramètre DB_BLOCK_SIZE) ne peut pas être modifiée car
le modèle inclut les fichiers de données et ceux-ci utilisent déjà une certaine taille de bloc.

L’onglet Jeux de caractères permet de choisir les jeux de caractères (clause CHARACTER
SET et NATIONAL CHARACTER SET de l’ordre SQL CREATE DATABASE), le langage par
défaut (paramètreNLS_LANGUAGE) et le territoire par défaut (paramètre NLS_
TERRITORY).

L’onglet Mode de connexion permet de choisir le mode de connexion par défaut de la base de
données (serveur dédié ou serveur partagé) et éventuellement d’indiquer le nombre de
processus serveurs partagés, à lancer au démarrage de l’instance (paramètre SHARED_
SERVERS).

Après avoir saisi les informations requises sur les différents onglets, vous pouvez cliquer sur
le bouton Suivant.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 45


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Paramètres de sécurité (pour la version 11.1.0)

Sur cet écran, vous pouvez choisir d’utiliser ou pas les nouveaux paramètres de sécurité
apparus en version 11 (notamment les mots de passe sensibles à la casse - paramètre
SEC_CASE_SENSITIVE_LOGON). A priori, il est recommandé d’utiliser ces nouveaux
mécanismes de sécurité (voir le chapitre Gestion des utilisateurs et de leurs droits).

Après avoir sélectionné une des deux options, vous pouvez cliquer sur le bouton Suivant.

Tâches de maintenance automatique (pour la version 11.1.0)

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 46


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Sur cet écran, vous pouvez choisir d’activer ou pas les tâches de maintenance automatiques
prévues en standard (collecte des statistiques, conseil sur le stockage des segments, conseil
sur l’optimisation des requêtes SQL). A priori, il est recommandé d’activer ces tâches
automatiques qui, sont réalisées la nuit et le week-end, avec un faible impact sur les
performances du serveur. Les paramètres de ces tâches de maintenance, notamment la
planification, peuvent être modifiés dans le Database Control (cf. section La documentation
Oracle du chapitre Les outils d’administration).

Après avoir effectué votre choix, vous pouvez cliquer sur le bouton Suivant.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 47


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Stockage de la base de données

L’écran suivant permet de spécifier les fichiers de la base de données : fichier de contrôle,
fichiers de journalisation et fichiers de données.

Le dossier Fichier de contrôle permet de configurer les fichiers de contrôle (paramètre


CONTROL_FILES). L’onglet Options permet de définir la valeur des options MAX*
(MAXDATAFILES, etc.) de l’ordre SQL CREATE DATABASE.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 48


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Le dossier Fichiers de données permet de modifier l’emplacement et le nom des fichiers de


données. Par contre, dans le cas de l’utilisation d’un modèle avec fichiers de données (comme
ici), il n’est pas possible (à ce stade) d’ajouter d’autres tablespaces et fichiers de données, ou
de modifier la taille des fichiers de données existants ; ces opérations pourront être faites
ultérieurement dans le Database Control.

Le dossier Groupes de fichiers de journalisation permet de configurer les fichiers de


journalisation : ajouter/supprimer des groupes, ajouter des membres dans les groupes,
modifier la taille des groupes.

Après avoir saisi les informations requises, vous pouvez cliquer sur le bouton Suivant.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 49


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Options de création

Sur cette page, indiquez si vous souhaitez créer la base immédiatement et/ou enregistrer les
options dans un nouveau modèle et/ou générer les scripts de création de la base de données,
puis cliquez sur le bouton Terminer.

La troisième option est un moyen pratique pour générer des scripts de création de base de
données que vous pourrez ensuite modifier, paramétrer et réutiliser.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 50


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Interface du résume de la base avant installation

Confirmation

Un récapitulatif est affiché lorsque vous cliquez sur le bouton Terminer.


Cliquez sur le bouton OK pour lancer l’opération.
Durant la création de la base de données, une fenêtre affiche un état d’avancement.

Lorsque la création de la base de données est terminée, une fenêtre donnant quelques
informations s’affiche :

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 51


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Cette fenêtre donne notamment l’URL à utiliser pour se connecter au Database Control.

L’assistant crée automatiquement un nom de service réseau pour la nouvelle instance dans
le fichier tnsnames.ora. Par contre, la configuration du processus d’écoute n’est pas modifiée
; l’instance n’est pas enregistrée de manière statique auprès du processus d’écoute.

Sur plate-forme Unix/Linux, l’assistant ajoute automatiquement une entrée pour la nouvelle
instance dans le fichier /etc/oratab ; par contre, l’instance n’est pas positionnée en
redémarrage automatique.

3. Création à partir d’un modèle sans fichier de données

Si vous utilisez un modèle sans fichier de données, vous pourrez contrôler plus finement les
options installées et l’assistant effectue une création complète (CREATE DATABASE, catalog,
catproc, etc.). La création de la base de données est donc plus longue que lors de l’utilisation
d’un modèle avec fichiers de données.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 52


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Dans cette section, nous ne présentons que les écrans supplémentaires ou différents de ceux
présentés précédemment.

Nouvelle étape : contenu de la base de données

Cet écran permet de sélectionner les fonctionnalités à installer dans la base de données ;
chaque option se matérialise par l’exécution d’un script supplémentaire qui rallonge la durée
de création de la base. Ces options peuvent être installées ultérieurement, notamment via
l’option Configurer les options de base de données proposée sur le premier écran de
l’assistant.

L’onglet Scripts personnalisés permet de désigner des scripts complémentaires à exécuter


lors de la création.

Le bouton Composants de base de données standard... affiche un écran qui permet de


désactiver quatre options installées par défaut par Oracle : la machine virtuelle Java, l’option
Multimedia (anciennement interMedia), la fonctionnalité Oracle XML DB et Application
Express (un environnement de développement rapide Web intégré à la base de données).
Oracle conseille de laisser ces quatre options.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 53


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Paramètres d’initialisation (version 11.1.0)

Sur le deuxième onglet, la taille de bloc peut être spécifiée (paramètre DB_BLOCK_SIZE).

Stockage de la base de données

Des tablespaces et des fichiers de données peuvent être ajoutés, supprimés et modifiés
(taille notamment).

4. Gérer les modèles

L’assistant permet de définir des modèles de base de données personnalisés, pouvant


éventuellement inclure des fichiers de données prêts à l’emploi.

Le premier écran de la gestion des modèles permet de choisir l’opération à réaliser, création
ou suppression.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 54


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 55


Classe ASUR INPTIC 2020 Support de Cours ORACLE 11g : présenté par M. MOMBO Levy G.

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).

L’option A partir d’une base de données existante (structure seulement) permet de reprendre
la structure d’une base de données existante, mais sans inclure les fichiers de la base de
données.

L’option A partir d’une base de données existante (structure et données) permet de reprendre
la structure d’une base de données existante avec les fichiers de données (et donc les
données qui sont stockées dedans) : c’est en quelque sorte un clone de la base de données
d’origine qui pourra être utilisé pour créer une nouvelle base de données identique (sauf
modifications de configuration effectuées lors de la création de la base de données : nom,
taille de la SGA, etc.).

Les modèles sont stockés par défaut dans le répertoire %ORACLE_HOME%\assistants\


dbca\templates.

Un modèle avec fichiers de données est composé de trois fichiers : un fichier XML .dbc qui
contient la définition du modèle, un fichier .ctl qui est une copie du fichier de contrôle de la
base de données et un fichier .dfb qui contient les fichiers de données. Un modèle sans fichiers
de données comporte un seul fichier XML .dbt qui contient la définition du modèle. Notez que
les fichiers Seed_Database.ctl et Seed_Database.dfb sont communs aux deux modèles avec
fichiers de données fournis par Oracle.

Pour créer une base de données à partir du modèle sur un autre serveur, il suffit de copier les
fichiers du modèle dans le répertoire templates du serveur, puis de lancer l’assistant.

Un modèle avec fichiers de données créé sur une plate-forme (Windows par exemple) ne peut
pas être utilisé sur une autre plate-forme (Unix par exemple). Il n’en est pas de même pour
les modèles sans fichiers de données.

Institut National de la Poste des Technologies de l’Information et de la Communication -Gabon P a g e 56