Download - Creation Bd Oracle 10g
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 1/15
Create Database Oracle 10g - John COLIBRI.
• résumé : création pas à pas d'un base de données ORACLE
• mots clé : Oracle 10g - create database - SID - connect nolog - startup - Sql/Plus -create database script
• logiciel utilisé : Windows XP personnel, 32 bits
• matériel utilisé : Pentium 1.400 Mhz, 256 Meg memoire, 140 G disque
• champ d'application : Windows
• niveau : développeur base de données
• plan :
o Introduction
o Création de la Base
o Automatisation
1 - Introduction
Nous allons détailler ici comment créer une base de donnée Oracle 10g.
La création d'une base Oracle est traditionnellement reconnue comme une opération très
complexe. En effet la base peu être organisée de multiples façons, et de nombreux paramètres
fournis lors de la création permettent de spécifier la configuration. Une parfait maîtrise de la
création nécessite donc avant tout une bonne compréhension de l'architecture du serveur
Oracle.
N'ayant pas pour but de reproduire les 700 pages du manuel d'architecture Oracle, nous allons
utiliser une autre approche plus directe, en décrivant les étapes précises que nous avons
utilisées pour créer notre base.
Rappelons que nous utilisons la configuration suivante:
• Windows XP personnel, 32 bits
Après l'installation du Serveur Oracle, les paramètres de notre Serveur Oracle sont les suivants:
• le mot de pass pour SYSMAN, SYS et SYSTEM est the_pass
Nous allons créer une base de donnée:
• son identificateur sera the_sid
• elle sera placée dans le répertoire c:\oracle\the_path
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 2/15
Pour créer la base, nous allons
• créer une variable d'environnement ORACLE_SID
• créer un service
• créer le fichier de paramètres
• démarrer l'instance et la base
• créer la base
• créer les tables système
• créer une TableSpace
•
vérifier la création d'une table
1 - Création de la Base
1.1 - Création d'une variable DOS ORACLE_SID
Nous allons utiliser une instance Oracle, qui sera identifiée par son SID (System IDentifier). CeSID devra être reconnu au niveau de la ligne de commande DOS, et pour cela nous devons
créer une variable d'environnement DOS contenant ce SID. La création de cette variable est
effectuée en utilisant la commande DOS SET.
Par conséquent
lancez CMD.EXE
la ligne de commande attend vos instructions
créez le SID the_sid en tapant
SET ORACLE_SID=the_sid Entrée
DOS créé la variable:
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 3/15
Nous pouvons vérifier que cette variable a bien été créée en tapant SET:
tapez
SET Entrée
DOS présente toutes les variables d'environnement, parmi lesquelles the_sid:
1.2 - Création d'un Service
Nous devons à présent créer un Service Windows qui gèrera notre instance. Nous créons ce
service en utilisant ORADIM.EXE.
Donc:
tapez la commande
oradim -new -sid the_sid -intpwd mypass -startmode manual Entrée
Oracle crée le service:
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 4/15
Nous vérifions que le service a bien été créé:
tapez:
services.msc Entrée
(ou utilisez "démarrer | paramètres | panneau de configuration | outils d'administration | services" )
Windows affiche les services utilisés par notre système, dont OracleServicethe_sid:
De plus, Oracle a créé un fichier de mots de passe pour ce service (dans
"OracleHome"\database):
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 5/15
1.3 - Créer le fichier de paramètres
L'instruction de création de la base utilisera un fichier de paramètres. Ce fichier est un fichier binaire, appelé SPFILE. Ce fichier binaire est généré à partir d'un fichier ASCII INIT.ORA que
nous devons créer.
L'installation d'Oracle place un fichier INIT.ORA type "OracleHome"\admin:
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 6/15
Ce fichier de 8K comporte de nombreux commentaires:
# Use the following table to approximate theSGA size needed for the
# three scenarious provided in this file:
#
#
-------Installation/Database Size------
# SMALL MEDIUM
LARGE
# Block 2K 4500K 6800K
17000K
# Size 4K 5500K 8800K
21000K
et pour les principaux paramètres plusieurs choix (un choix par défaut et, en commentaire,
d'autres possibilités)
db_files = 80 # INITIAL
# db_files = 80 # SMALL
# db_files = 400 # MEDIUM# db_files = 1500 # LARGE
En utilisant les valeurs par défaut du fichier type, nous avons eu quelques erreurs. Après
quelques tâtonnements, nous avons finalement réussi en utilisant un fichier minimal, que nous
allons utiliser.
Donc:
créez le répertoire c:\Oracle\the_path avec les sous-répertoires pour placer le fichier d'initialisation, les
scripts, les traces, les écho DOS:
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 7/15
démarrez NotePad, tapez le texte du fichier de paramètres:
db_name = the_base
db_block_size = 2048
# trace (log) files
background_dump_dest = C:\ORACLE\the_path\the_trace
user_dump_dest = C:\ORACLE\the_path\the_trace
control_files = C:\ORACLE\the_path\control01_the_sid.ora
# add if undo in create database
undo_management = auto
Sauvegardez ce fichier dans:
c:\Oracle\the_path\the_init\init_the_sid.ora
1.4 - Démarer l'instanceL'instance va être démarée en utilisant Sql/Plus. Comme aucune instance n'existe, nous devons
utiliser des paramètres spéciaux pour que Sql/Plus accepte nos commandes:
• il faut lancer Sql/Plus avec l'option /nolog (nolog= NO LOGin= lancement sans fournir
User/password)
• une fois sous Sql/Plus
o nous nous connectons en tant que SYS/mon_mot_de_passe AS SYSDBA
o nous exécutons CREATE DATABASE avec les paramètres de création
o nous créons les fichiers système, puis éventuellement nos tables
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 8/15
Le lancement de Sql/Plus doit être manuel. Mais une fois que nous sommes dans Sql/Plus, dont
l'éditeur est à peine plus malin que celui de DOS, le plus efficace est d'utiliser des scripts:
• nous tapons les commandes à exécuter dans un fichier ASCII construit avec l'éditeur de
votre choix (Delphi pour nous, mais Notepad ou autre fonctionne aussi) et
sauvegardons le texte dans un fichier ayant n'importe quel nom (par exemple
the_script.txt)
• dans Sql/Plus nous invoquons le script en tapant:
@? \the_script.txt Entrée
Sous Sql/Plus
o @ est une abréviation de START (= lancement de script)
o ? est une abréviation de "OracleHome" (c:\oracle\product\10.1.0\Db_1\ dans
notre cas)
Par conséquent:
lancez votre éditeur préféré (NotePad, par exemple) et tapez le script suivant:
Set Echo Off
Spool 'c:\oracle\the_path\the_echo\echo_create_database.txt'
CREATE DATABASE the_base
CHARACTER SET WE8ISO8859P1 LogFile
group 1 'c:\oracle\the_path\redo1.log' size 10M reuse,
group 2 'c:\oracle\the_path\redo2.log' Size 10M reuse
DataFile 'c:\oracle\the_path\system.dbf' Size 50M
autoextend on
next 10M maxsize unlimited
extent management local
sysaux datafile 'c:\oracle\the_path\sysaux.dbf' Size 10M autoextend on
next 10M
maxsize unlimited
undo tablespace the_undo
datafile 'c:\oracle\the_path\the_undo.dbf'
Size 10M
default temporary tablespace the_temp
tempfile 'c:\oracle\the_path\the_temp.dbf'
Size 10M
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 9/15
;
Shutdown
Spool Off
sauvegardez ce texte sous:
c:\Oracle\the_path\the_script\create_database.txt
retournez dans la ligne de commande DOS et lancez Sql/Plus en tapant:
sqlplus /nolog Entrée
Sql/Plus affiche son invite:
connectez-vous en tant que SYS
connect sys/ the_pass as sysdba
Sql/Plus effectue la connexion:
démarrez l'instance en tapant:
Startup Nomount pFile= c:\oracle\the_path\the_init\init_the_sid.ora
Sql/Plus démarre l'instance:
lancez le script de création en tapant
@ c:\oracle\the_path\the_script\create_database.txt Entrée
Sql/Plus crée la base
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 10/15
Et le dossier contient les fichiers suivants:
Notez que
• l'utilisation d'un script pour la connexion, le chargement et CREATE TABLE n'est pas
obligatoire. Vous pouvez taper les commandes à la main
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 11/15
• en cas de problème, le fichier de log créé par SPOOL permet de vérifier calmement ce
qui s'est passé. De façon similaire, les traces (fichiers .TRC) qui seront déposés dans
THE_TRACE peut fournir les codes des erreurs
• il aurait été possible de placer CONNECT, STARTUP et CREATE TABLE dans le
même script
• nous avons fermé la base après la création, mais il serait possible de placer dans le
même script les étapes que nous allons présenter maintenant
1.5 - Création des tables système
La base créée est vide, et il faut exécuter des scripts qui installent des tables et programmes
systèmes dans la base:
• catalog.sql crée le dictionnaire de données
• catproc.sql créé les structures pour PL/SQL.
Catalog.sql fait 820 K (sic). Il vaut donc mieux lancer ce script en mode ECHO OFF.
L'exécution dure une bonne vingtaine de minutes.
Donc:
lancez Notepad et tapez le script suivant:
Set Echo Off
Spool 'c:\oracle\the_path\the_echo\echo_catalogs.txt'
connect sys/ the_pass as sysdba
Startup pFile= c:\oracle\the_path\the_init\init_the_sid.ora
@? \rdbms\admin\catalog.sql
@? \rdbms\admin\catproc.sql
Shutdown
Spool Off
sauvegardez ce texte sous:
c:\Oracle\the_path\the_script\create_catalogs.txt
retournez dans Sql/Plus et lancez ce script:
@ c:\oracle\the_path\the_script\create_catalogs.txt Entrée
Sql/Plus lance ces deux scripts (20 minutes)
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 12/15
1.6 - Création de TableSpace
Nous créons à présent un fichier pour nos données (TableSpace):
lancez Notepad et tapez le script suivant:
Set Echo Off Spool 'c:\oracle\the_path\the_echo\echo_tablespace.txt'
connect sys/ the_pass as sysdba
Startup pFile= c:\oracle\the_path\the_init\init_the_sid.ora
grant connect to system identified by the_manager;
connect system/ the_manager
create tablespace the_tables datafile 'c:\oracle\the_path\the_tables.dbf'
size 10m extent management local uniform size 128k;
-- si nous souhaitons bloquer Sql Plus
-- @?\sqlplus\admin\pupbld
Shutdown
Spool Off
sauvegardez ce texte sous:
c:\Oracle\the_path\the_script\create_tablespace.txt
retournez dans Sql/Plus et lancez ce script:
@ c:\oracle\the_path\the_script\create_tablespace.txt Entrée
Sql/Plus crée le fichier de données
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 13/15
1.7 - Creation de Table de Démonstration
A titre de vérification, nous allons créer une table utilisateur, et vérifier son fonctionnement.
Pour cela, nous utilisons le script demobld qu'Oracle a fourni pour créer une table DEPT et
EMP
lancez Notepad et tapez le script suivant:
Set Echo Off
Spool 'c:\oracle\the_path\the_echo\echo_demo_table.txt'
connect sys/ the_pass as sysdba
grant connect, resource to my_user
identified by my_pass;
alter user my_user
default tablespace the_tables;
connect my_user/my_pass
@? \ODP.NET\samples\DataSet\RelationalData\Setup\demobld
select * from dept;
Spool Off
sauvegardez ce texte sous:
c:\Oracle\the_path\the_script\create_demo_tables.txt
retournez dans Sql/Plus et lancez ce script:
@ c:\oracle\the_path\the_script\create_demo_tables.txt Entrée
Sql/Plus crée le fichier de données
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 14/15
2 - Automatisation
Au cours de la création de la base, nous avons rencontré quelques problèmes. Mentionnons les
rapidement:
• la création de la variable d'environnement ORACLE_SID ne semble pas obligatoire. En
certaines circonstances, le chargement de la base a provoqué des erreurs TNS-12580.
La suppression de SET a alors supprimé cette erreur
• après des tentatives infructueuses, il se peut que le serveur considère qu'une base est
ouverte ou montée (ORA-01081). L'exécution brutale de SHUTDOWN ABORT résoud
le problème.
De façon générale, la nécessité de recommencer plusieurs essais nous a poussé à utiliser:
• un fichier ASCII contenant les commandes à taper dans CMD.EXE. Au lieu de taper les
lignes, il suffit alors de couper la commande désirée de ce fichier ASCII et les coller
(clic droit souris | coller) après le ">" de CMD.EXE
• pour les commandes Sql/Plus complexes (CREATE TABLE), nous avons placé cette
suite de commandes dans un fichier de script, et le script a été lancé
• pour les traitements impliquant plusieurs commandes DOS (suppression de service et
effacement de fichier de mot de passe), nous avons utilisé des fichiers .BAT
Nous avons placé ces textes ASCII dans un fichier .ZIP que vous pouvez télécharger:
•
.BAT, clipboard, scripts : .ZIP contenant les commandes, les .BAT et les scripts .TXT(3 K)
Nous proposons aussi:
• Installation Oracle : comment installer le Serveur et le Client
• Oracle Tutorial : comment créer des application Client (comptabilité, facturation, pages
Web, gestion de production etc)
• Formations Oracle : réalisation d'applications Oracle (création de table, d'index,
écriture / lecture / modification, transactions, états), en tenant compte des spécificitésOracle (types de données, séquences, procédures cataloguées, transactions).
• nous avons aussi compilé une liste de liens Oracle destinée tout particulièrement aux
dévelopeurs.
Comme d'habitude:
• nous vous remercions de nous signaler toute erreur, inexactitude ou problème de
téléchargement en envoyant un e-mail à [email protected]. Les corrections qui en
résulteront pourront aider les prochains lecteurs
5/14/2018 Creation Bd Oracle 10g - slidepdf.com
http://slidepdf.com/reader/full/creation-bd-oracle-10g 15/15
• tous vos commentaires, remarques, questions, critiques, suggestion d'article, ou
mentions d'autres sources sur le même sujet seront de même les bienvenus à
• plus simplement, vous pouvez taper (anonymement ou non) vos commentaires ci-
dessus et nous les envoyer en cliquant "envoyer" :