Module 6 Bizoi
Module 6 Bizoi
Administration
Razvan Bizoï
CREATE DATABASE
6 La création d’une
base de données
Objectifs
À la fin de ce module, vous serez à même d’effectuer les tâches suivantes :
Décrire les étapes de création de la base de données.
Préparer le système d’exploitation pour l’installation de la base de données.
Créer une base de données manuellement.
Changer le nom de l’instance d’une base de données.
Décrire les fichiers nécessaires pour effectuer une sauvegarde.
Contenu
La base de données 6-2 La sauvegarde 6-19
La base de données
La base de données
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Comme nous avons pu le voir précédemment, la base de données est l’ensemble des
trois types de fichiers obligatoires : les fichiers de contrôle, les fichiers de données et
les fichiers des journaux.
Les fichiers de la base de données sont des fichiers binaires ne pouvant être lus ou
écrits directement.
Les fichiers de données contiennent toutes les informations de votre base dans un
format spécifique à Oracle. Il n’est pas possible d’en visualiser le contenu avec un
éditeur de texte.
Les fichiers de contrôle sont des fichiers binaires contenant des informations sur tous
les autres fichiers constitutifs d’Oracle. Ils décrivent leur nom, leur emplacement et
leur taille.
Les fichiers journaux sont des fichiers conservant toutes les modifications successives
de votre base de données. L’activité des sessions qui interagissent avec Oracle est
consignée en détail dans les fichiers journaux. Il s’agit en quelque sorte des journaux
de transactions de la base, une transaction étant une unité de travail soumise au
système pour traitement.
Le fichier des paramètres contient les paramètres de démarrage de la base et d’autres
valeurs qui déterminent l’environnement dans lequel la base s’exécute. Lorsqu’elle est
démarrée, le fichier des paramètres est lu et plusieurs structures mémoire sont allouées
en fonction de son contenu.
Le fichier de mots de passe est utilisé pour établir l’authenticité des utilisateurs
privilégiés de la base de données.
Vous pouvez utiliser deux modalités de création de la base de données :
Manuellement à l’aide de l’instruction SQL « ALTER DATABASE ».
Avec l’assistant de configuration de base des données (DBCA DataBase
Configuration Assistant).
La création manuelle
La création manuelle
La création manuelle
Le nom de la base
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Le nom du domaine
Le nom du domaine « DB_DOMAIN » spécifie le domaine de réseau où la base de
données est créée. Si la base de données que vous vous apprêtez à créer devait faire
partie d’un système de bases de données distribuées, accordez une attention
particulière à ce paramètre d’initialisation de la base de données avant la création. Il
permet de définir avec un nom unique de la base de données dans votre domaine qui
est :
« DB_NAME ».« DB_DOMAIN »
Le nom de l'instance
Le nom de l’instance est stocké dans le paramètre « INSTANCE_NAME », un
paramètre facultatif depuis la version Oracle 10g.
Il est préférable de choisir un nom d’instance et un nom de base de données
identiques.
Attention
Pour vous connecter à la base de données à l’aide de SQL*Plus, vous avez deux
solutions :
- La connexion à l’aide du réseau Oracle Net décrit dans le module 10.
- La deuxième solution est possible uniquement si vous vous connectez directement
à partir du serveur. Il s’agit d’une connexion à l’instance par défaut du serveur.
L’instance par défaut du serveur est définie par la variable d’environnement
« ORACLE_SID ».
Par conséquent, il est impératif de définir cette variable avant de se connecter à
SQL*Plus pour pouvoir créer la base de données.
Dans l’environnement Windows, la variable est configurée au sein de la base de
registres dans « HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_* ». Vous
pouvez la modifier directement ou utiliser une variable d’environnement dans votre
environnement de commandes.
La configuration du système
La configuration du système
L'arborescence de répertoires
La méthode d'authentification
La variable d’environnement « ORACLE_SID »
La création du service
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
L'arborescence de répertoires
Rappelez-vous que, pour chaque base de données, vous devez créer une arborescence
de répertoires pour les fichiers d’administration et une deuxième arborescence de
répertoires pour l’ensemble des fichiers de la base de données.
Le répertoire pour stocker les fichiers d’administration se trouve dans le répertoire
suivant :
$ORACLE_BASE/admin/DB_NAME ou %ORACLE_BASE%\admin\DB_NAME
La méthode d'authentification
Vous devez choisir la méthode que vous souhaitez utiliser pour l’authentification de
l’utilisateur administrateur de votre base de données. Il doit disposer de la totalité des
privilèges relatifs au système d’exploitation ou utiliser l’authentification par fichier
mot de passe. Pour plus d’informations voir le module 9.
La création du service
Dans l’environnement Windows, l’instance ne peut fonctionner que s’il existe un
environnement pour faire tourner les processus d’arrière-plan et partager les hommes
mémoire.
L’environnement nécessaire est un service Windows. Oracle fournit un utilitaire pour
la gestion des différents services Windows.
C:\>sqlplus /nolog
SQL>connect / as sysdba
ERROR: ORA-12560: TNS : erreur d'adaptateur de protocole
SQL>exit
Instance créée.
C:\>sqlplus / AS SYSDBA
Connecté à une instance inactive.
SQL> $ dir
C:\app\oracle\product\11.2.0\db_home\database\[Link]
...
Répertoire de C:\app\oracle\product\11.2.0\db_home\database
C:\>sqlplus /nolog
SQL>connect / as sysdba
ERROR: ORA-12560: TNS : erreur d'adaptateur de protocole
Chaque fois que vous créez un service, quatre clés sont créées qui déterminent le
mode de fonctionnement de ce service :
ORA_*_AUTOSTART L’argument détermine si au démarrage du service
Windows l’instance est démarrée automatiquement.
ORA_*_SHUTDOWN L’argument détermine si à l’arrêt du service Windows
l’instance est arrêtée automatiquement.
ORA_*_SHUTDOWN_TIMEOUT L’argument définit le temps d’attente maximum
en secondes avant que le service ne s’arrête.
ORA_*_SHUTDOWNTYPE L’argument définit le type d’arrêt de l’instance.
Le fichier paramètres
Le fichier paramètres
compatible=[Link].0
db_name=tpdba
db_block_size=8192
memory_target=857735168
open_cursors=300
processes=150
undo_tablespace=UNDOTBS1
db_create_file_dest=C:\app\oracle\oradata
db_create_online_log_dest_1=C:\app\oracle\oradata
db_recovery_file_dest=C:\app\oracle\flash_recovery_area
db_recovery_file_dest_size=21474836480
diagnostic_dest=C:\app\oracle
audit_file_dest=C:\app\oracle\admin\tpdba\adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
nls_language='FRENCH'
nls_territory='France'
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Nous allons créer le fichier paramètres utilisant les différents paramètres nécessaires
pour le démarrage et le bon fonctionnement de votre base de données.
C:\>sqlplus / as sysdba
Fichier créé.
La création de la base
La création de la base
Les fichiers de la base de données sont des fichiers binaires qui ne peuvent pas être lus
par d’autres programmes que ceux des processus d’arrière-plan de l’instance.
La création de ces fichiers respecte la même règle, à savoir que l’on a besoin de
l’instance pour pouvoir travailler avec les fichiers de données.
La création des fichiers de la base de données est effectuée à partir du SQL*Plus
utilisant la commande suivante :
CREATE DATABASE nom
MAXLOGFILES val_int
MAXLOGMEMBERS val_int
MAXLOGHISTORY val_int
MAXDATAFILES valr_int
MAXINSTANCES val_int
CONTROLFILE REUSE
LOGFILE GROUP nom_groupe [fichier] [,...]
{ ARCHIVELOG | NOARCHIVELOG }
DATAFILE [fichier
[AUTOEXTEND
{
OFF |
ON [NEXT val_int [{K|M|G}]]
[MAXSIZE{UNLIMITED | val_int [{K|M|G}]}
}
]
] [,...]
SYSAUX DATAFILE
[fichier
[AUTOEXTEND
{
OFF |
ON [NEXT val_int [{K|M|G}]]
[MAXSIZE{UNLIMITED | val_int [{K|M|G}]}
}
]
] [,...]
UNDO TABLESPACE nom_tablespace
[DATAFILE
[fichier
[AUTOEXTEND
{
OFF |
ON [NEXT val_int [{K|M|G}]]
[MAXSIZE{UNLIMITED | val_int [{K|M|G}]}
}
]
] [,...]
]
DEFAULT TEMPORARY TABLESPACE nom_tablespace
[TEMPFILE
[fichier
[EXTENT MANAGEMENT LOCAL]
[UNIFORM [SIZE val_int [{K|M|G}]]]
] [,...]
]
CHARACTER SET val_charset
NATIONAL CHARACTER SET val_charset
SET TIME_ZONE = time_zone
SET DEFAULT [BIGFILE | SMALLFILE] TABLESPACE;
Fichier créé.
NAME OPEN_MODE
--------- ----------
TPDBA READ WRITE
Tablespace créé.
La création du dictionnaire
La création du dictionnaire
Scripts :
[Link]
[Link]
[Link]
cat*.sql
Répertoire :
dbms*.sql
$ORACLE_HOME/rdbms
… ou
%ORACLE_HOME%\rdbms
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Les deux premiers scripts sont les scripts de création du catalogue obligatoire, mais,
comme vous pouvez le remarquer, les autres scripts sont également très utiles pour le
fonctionnement de la base de données. Dans le tableau précédent, seule a été présentée
une sélection des scripts nécessaires pour la création de la base de données.
Tous les scripts de création du catalogue ainsi que les scripts utilisés pour
l’administration étendue se retrouvent dans le répertoire :
$ORACLE_HOME/rdbms
ou
%ORACLE_HOME%\rdbms
Pour gérer une base, il peut être nécessaire au DBA de créer des structures
supplémentaires, telles que des tables, des vues et des paquetages. Les scripts
administratifs sont séparés en quatre catégories de fichiers se trouvant dans ce
répertoire.
Convention Description
utl*.sql Ils créent des vues et des tables additionnelles pour les
utilitaires de la base de données.
NAME OPEN_MODE
--------- ----------
TPDBA READ WRITE
SQL> @ ?\rdbms\admin\[Link];
...
SQL> @ ?\rdbms\admin\[Link];
...
Dans l’exemple précédent on commence par la connexion à la base de données,
connexion avec les privilèges étendus « SYSDBA ».
Les scripts de création du dictionnaire de données sont relativement longs ; il faut par
conséquent prendre la précaution que toutes les informations affichées puissent être
lues par la suite. C’est pourquoi on ouvre un fichier spool dans le répertoire
correspondant à l’architecture OFA. Sans le fichier spool il n’est pas possible de
vérifier l’exécution de ces scripts.
Les scripts peuvent retourner des messages d’erreur dus aux effacements des objets
qui n’existent pas.
À la fin du script, il ne faut pas oublier de fermer le fichier spool.
La sauvegarde
La sauvegarde
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Fichier créé.
SQL> startup
Instance ORACLE lancée.
INSTANCE_NAME
----------------
tpdbanew
NAME OPEN_MODE
--------- ----------
TPDBA READ WRITE
L’outil « ORADIM » nous permet d’effacer le service « tpdba » et de créer un
nouveau service « tpdbanew ». La création du service comporte également
l’argument pour créer le fichier des mots de passe.
On se connecte à l’instance, authentifiée par le système d’exploitation, avec l’outil
SQL*Plus. Comme vous pouvez le remarquer, l’instance n’a pas été démarrée, et
l’ordre des créations du service définit le mode de démarrage manuel de l’instance.
On crée un nouveau fichier de paramètres serveur en utilisant le fichier paramètre de
l’instance précédente. En effet le fichier paramètre de l’instance précédente ne
contient aucune référence au nom de l’instance.
Le démarrage du serveur de base de données s’est effectué sans encombre. Vous
pouvez remarquer que le nom de l’instance a été changé, mais que le nom de la base
de données est resté le même.
Il faut avoir à l’esprit que toutes les informations du réseau Oracle Net prenant en
compte le nom ancien de l’instance « SID » sont inutilisables.
Astuce
Fichier Nom
-------- -----------------------------------------------------------
Données C:\APP\ORACLE\ORADATA\TPDBA\DATAFILE\O1_MF_SYSTEM_55WW518S_.DBF
Données C:\APP\ORACLE\ORADATA\TPDBA\DATAFILE\O1_MF_SYSAUX_55WW61N0_.DBF
Données C:\APP\ORACLE\ORADATA\TPDBA\DATAFILE\O1_MF_UNDOTBS1_55WW69QX_.DBF
Données C:\APP\ORACLE\ORADATA\TPDBA\DATAFILE\O1_MF_USERS_55WWFOD6_.DBF
Contrôle C:\APP\ORACLE\ORADATA\TPDBA\CONTROLFILE\O1_MF_55WW4JB8_.CTL
Journal C:\APP\ORACLE\ORADATA\TPDBA\ONLINELOG\O1_MF_1_55WW4KMJ_.LOG
Journal C:\APP\ORACLE\ORADATA\TPDBA\ONLINELOG\O1_MF_2_55WW4QNZ_.LOG
Journal C:\APP\ORACLE\ORADATA\TPDBA\ONLINELOG\O1_MF_3_55WW4VNJ_.LOG
Les quatre premières réponses sont des fichiers de données, la suivante un fichier de
contrôle et ensuite trois fichiers journaux.
La création manuelle de la base de données vous a permis de voir quelles sont les
étapes de création d’une base de données et les différents composants qu’il faut créer.
Dans les exemples utilisés, on a travaillé dans l’environnement Windows parce que la
création de la base de données comporte une étape de plus, à savoir la création du
service Windows. Dans l’environnement Unix/Linux, tous les exemples peuvent être
exécutés avec des modifications minimes concernant les noms des fichiers et leur
emplacement.
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Le fichier paramètres
Le premier fichier à examiner est le fichier paramètres « [Link] » contenant
tous les paramètres que vous avez sélectionnés dans DBCA. Pour plus d’informations
sur les paramètres et la gestion du fichier de paramètres voir le module « La gestion
d’une instance ».
log_archive_dest_1='LOCATION=/u02/app/oracle/oradata'
log_archive_format=%t_%s_%[Link]
db_block_size=8192
db_create_file_dest=/u01/app/oracle/oradata
db_create_online_log_dest_1=/u01/app/oracle/oradata
db_create_online_log_dest_2=/u02/app/oracle/oradata
db_recovery_file_dest=/u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=21474836480
open_cursors=300
compatible=[Link].0
diagnostic_dest=/u01/app/oracle
memory_target=1429209088
db_domain=[Link]
db_name=agate
nls_language="FRENCH"
nls_territory="FRANCE"
processes=150
undo_tablespace=UNDOTBS1
dispatchers="(PROTOCOL=TCP) (SERVICE=agateXDB)"
audit_file_dest=/u01/app/oracle/admin/agate/adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
Le démarrage
Le démarrage
Le script de commande
« db_name.sh » ou « db_name.bat »
Le script SQL de création
« db_name.sql »
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
Le script de commande
Le fichier de commande qui a le nom de l’instance « [Link] » est le point
unique pour le lancement de création de la base de données.
mkdir -p $ORACLE_BASE/admin/agate/adump
mkdir -p $ORACLE_BASE/admin/agate/dpdump
mkdir -p $ORACLE_BASE/admin/agate/pfile
mkdir -p $ORACLE_BASE/admin/agate/scripts/logs
mkdir -p $ORACLE_BASE/cfgtoollogs/dbca/agate
mkdir -p $ORACLE_BASE/flash_recovery_area
mkdir -p $ORACLE_BASE/oradata
mkdir -p $ORACLE_HOME/dbs
mkdir -p /u02/app/oracle/oradata
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/xdb_protocol.sql
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
@$AGATE_SCRIPTS/[Link]
exit;
Au début du script il y a des invites pour les mots de passe des quatre comptes
« sys », « system », « sysman » et « dbsnmp ». Ces valeurs sont
utilisées à travers tous les scripts pour renseigner les mots de passe pour ces
utilisateurs. Le mot de passe de l’utilisateur « sys » est utilisé pour créer un fichier
de mots de passe, nécessaire pour la gestion de l’instance. Pour plus d’informations
sur le fichier de mots de passe, reportez-vous au module « La gestion d’une instance ».
Le script lance plusieurs autres scripts nécessaires pour la création de toutes les
options que vous avez choisies dans DBCA. Les seuls scripts présentés ici sont les
scripts obligatoires pour la création de la base de données et pour la console
d’administration.
La création de la base
La création de la base
« [Link] »
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
CreateDB
Le script crée le fichier des paramètres serveur et lance l’instance pour pouvoir créer
la base de données par la suite.
connect / as SYSDBA
set echo on
spool $AGATE_SCRIPTS/logs/[Link]
STARTUP NOMOUNT
spool off
Il est impératif de créer le fichier paramètre avant de créer la base de données ; ainsi,
si vous utilisez la gestion automatique des fichiers, les noms des fichiers de contrôle
sont mis à jour également dans le fichier paramètre. Voir le module « Le fichier de
contrôle » pour plus d’information.
CreateDBFiles
Le script est d’importance mineure ; il crée un petit tablespace « USERS » utilisé
comme emplacement par défaut pour les objets créés par les utilisateurs.
connect / as SYSDBA
set echo on
spool $AGATE_SCRIPTS/logs/[Link]
spool off
La création du dictionnaire
La création du dictionnaire
« [Link] »
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
CreateDBCatalog
Le script exécute tous les scripts nécessaires pour la création du dictionnaire de
données. Attention, ces scripts sont relativement longs ; il faut par conséquent prendre
la précaution que toutes les informations affichées puissent être lues par la suite. C’est
pourquoi on ouvre un fichier spool pour pouvoir vérifier l’exécution de ces scripts.
Les scripts peuvent retourner des messages d’erreurs dus à l’effacement d’objets qui
n’existent pas.
connect / as SYSDBA
set echo on
spool $AGATE_SCRIPTS/logs/[Link]
@ ?/rdbms/admin/[Link];
@ ?/rdbms/admin/[Link];
@ ?/rdbms/admin/[Link];
@ ?/rdbms/admin/[Link];
@ ?/rdbms/admin/[Link];
spool off
connect SYSTEM/&&systemPassword
@ ?/sqlplus/admin/[Link];
connect SYSTEM/&&systemPassword
set echo on
spool $AGATE_SCRIPTS/logs/[Link]
@ ?/sqlplus/admin/help/[Link] [Link];
spool off
La configuration finale
La configuration finale
« [Link] »
« [Link] »
TSOFT – Oracle11g Administration de la base de données Module 6 : La création d’une base de données
emRepository
Le script permet de créer le référentiel des objets nécessaires à la console
d’administration. Voir le module 11 pour plus d’informations sur la console
d’administration.
connect / as SYSDBA
set echo off
spool $AGATE_SCRIPTS/logs/[Link]
spool off
postDBCreation
Le script permet de déverrouiller les utilisateurs « DBSNMP » et « SYSMAN »,
comptes utilisés par la console d’administration. Il génère également la console
d’administration pour cette instance. Voir le module 9 pour plus d’informations sur la
console et sur les utilisateurs « DBSNMP » et « SYSMAN ».
Il est possible d’effectuer dans ce script les opérations de maintenance de la base de
données comme, par exemple, l’activation du mode « ARCHIVELOG » ou
« FLASHBACK ».
connect / as SYSDBA
set echo on
spool $AGATE_SCRIPTS/logs/[Link]
shutdown immediate
connect / as SYSDBA
startup mount
spool off
Il suffit à présent de lancer le script de commande Shell pour créer une base de
données « [Link] ».
Atelier 6
Questions
6-1 Quelles sont les privilèges que vous devez avoir pour pouvoir créer une base de
données ?
A. DBA
B. SYSDBA
C. SYSOPER
D. RESOURCE
6-2 Quels sont les trois composants qui constituent la base de données ?
A. Table
B. Extent
C. Fichier de données
D. Fichier journaux
E. Segment
F. Tablespace
G. Fichier de contrôle
6-3 Vous voulez créer une nouvelle base de données. Vous ne voulez pas utiliser
l’authentification par le système d’exploitation. Quels sont les deux fichiers que
vous devez créer avant la création de la base de données ?
A. Fichier de contrôle
B. Fichier de mots de passe
C. Fichier journaux
D. Fichier d’alerte
E. Fichier de paramètres
6-4 Quelles sont les deux variables d’environnement qui doivent être initialisées
avant la création de la base de données ?
A. DB_NAME
B. ORACLE_SID
C. ORACLE_HOME
D. SERVICE_NAME
E. INSTANCE_NAME
6-5 Quel est le mode de démarrage de l’instance pour pouvoir créer une base de
données ?
A. STARTUP
B. STARTUP NOMOUNT
C. STARTUP MOUNT
D. STARTUP OPEN