creation bd oracle 10g

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

Upload: alphonse-habyarimana

Post on 17-Jul-2015

75 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Page 2: Creation Bd Oracle 10g

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:

Page 3: Creation Bd Oracle 10g

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:

Page 4: Creation Bd Oracle 10g

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

Page 5: Creation Bd Oracle 10g

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:

Page 6: Creation Bd Oracle 10g

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:

Page 7: Creation Bd Oracle 10g

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

Page 8: Creation Bd Oracle 10g

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

Page 9: Creation Bd Oracle 10g

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

Page 10: Creation Bd Oracle 10g

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

Page 11: Creation Bd Oracle 10g

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)

Page 12: Creation Bd Oracle 10g

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

Page 13: Creation Bd Oracle 10g

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

Page 14: Creation Bd Oracle 10g

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

Page 15: Creation Bd Oracle 10g

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 à

 [email protected].

•  plus simplement, vous pouvez taper (anonymement ou non) vos commentaires ci-

dessus et nous les envoyer en cliquant "envoyer" :