Vous êtes sur la page 1sur 6

TP : Création manuelle d’une

Année Enseignant
EMSI@ base de données
Administration Oracle 2020/2021 Pr Rachid Dehbi

Etape1: Créer les répertoires sur les disques, si possible en respectant les
recommandations du standard OFA

 Recommandations du standard OFA :


 Répertoire d’administration, portant le nom de la base de données,
situé dans le répertoire %ORACLE_BASE%\admin (Windows)
 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.
 ORACLE_BASE = D:\Oracle\Product\10.2.0

 Le répertoire d’administration doit contenir les répertoires suivants :


 adump : répertoire pour les scripts d’administration
 bdump : répertoire du fichier d’alerte de l’instance et des fichiers de
trace des processus d’arrière-plan
 cdump : répertoire pour les dumps du noyau
 dpdump : répertoire pour les fichiers d’export
 pfile : répertoire pour les fichiers de paramètre texte
 udump : répertoire des traces utilisateurs
Etape2: Préparer un fichier de paramètre texte, généralement par copie d’un
ancien.

##################################################
############################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##################################################
############################

###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
db_cache_size=25165824

###########################################
# File Configuration
###########################################
control_files=("C:\oracle\product\10.2.0\oradata\emsiDb\control01.ctl",
"C:\oracle\product\10.2.0\oradata\emsiDb\control02.ctl")
db_recovery_file_dest=C:\oracle\product\10.2.0\flash_recovery_area
db_recovery_file_dest_size=2147483648
log_archive_dest=C:\oracle\product\10.2.0\oradata\arch\emsiDb

###########################################
# Cursors and Library Cache
###########################################
open_cursors=300

###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=C:\oracle\product\10.2.0\admin\emsiDb\bdump
core_dump_dest=C:\oracle\product\10.2.0\admin\emsiDb\cdump
user_dump_dest=C:\oracle\product\10.2.0\admin\emsiDb\udump

###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0

###########################################
# Job Queues
###########################################
job_queue_processes=10

###########################################
# Database Identification
###########################################
db_domain=""
db_name=emsiDb
instance_name = emsiDB
###########################################
# SGA Memory
###########################################
sga_target=167772160

###########################################
# Processes and Sessions
###########################################
processes=150

###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1

###########################################
# Security and Auditing
###########################################
audit_file_dest=C:\oracle\product\10.2.0\admin\emsiDb\adump
remote_login_passwordfile=EXCLUSIVE

###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=16777216

Etape3: Création de l'instance avec redémarrage automatique, un fichier de


mot de passe est utilisé et une authentification par le système d'exploitation et le
fichier de mot de passe est possible.

C:\>oradim -new -sid emsiDb -syspwd emsiDb -startmode a -srvcstart s -spfile

Etape4: lancer SQL*PLus et se connecter AS SYSDBA

Pour cela :

 Positionner la variable d’environnement ORACLE_SID au niveau du


système :

set ORACLE_SID=emsiDb

 Démarrer SQL*Plus sans se connecter :

sqlplus /nolog
 Se connecter AS SYSDBA :

o Authentifié par le système d’exploitation (Authentification Windows) :

connect / as sysdba

o Authentifié par un fichier de mot de passe :

connect sys/emsiDb as sysdba

étape5: création d’un fichier de paramètre 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’]

Exemple :

SQL> CREATE SPFILE FROM


PFILE='C:\oracle\product\10.2.0\admin\emsiDb\pfile\init.ora';

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

Resultat :
Instance ORACLE lancée.

Total System Global Area 167772160 bytes


Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes

Etape7: Création de la base de données : le script de création de la base est le


suivant :

CREATE DATABASE emsiDb


-- changer les mots de passe de SYS et SYSTEM
USER SYS IDENTIFIED BY emsi
USER SYSTEM IDENTIFIED BY emsi
-- type de tablespace par défaut
SET DEFAULT SMALLFILE TABLESPACE
-- tablespace SYSTEM de 200 Mo, auto-extensible, géré localement
DATAFILE 'C:\oracle\product\10.2.0\oradata\emsiDb\system01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M
EXTENT MANAGEMENT LOCAL
-- tablespace SYSAUX de 100 Mo, auto-extensible
SYSAUX DATAFILE 'C:\oracle\product\10.2.0\oradata\emsiDb\sysaux01.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 10M
-- 3 groupes de fichiers de journalisation, avec 2 membres de 50M
LOGFILE
GROUP 1 ('C:\oracle\product\10.2.0\oradata\emsiDb\redo01a.log',
'C:\oracle\product\10.2.0\oradata\emsiDb\redo01b.log') SIZE 50M,
GROUP 2 ('C:\oracle\product\10.2.0\oradata\emsiDb\redo02a.log',
'C:\oracle\product\10.2.0\oradata\emsiDb\redo02b.log') SIZE 50M,
GROUP 3 ('C:\oracle\product\10.2.0\oradata\emsiDb\redo03a.log',
'C:\oracle\product\10.2.0\oradata\emsiDb\redo03b.log') SIZE 50M
-- tablespace d'annulation de 100 Mo, auto-extensible
SMALLFILE UNDO TABLESPACE UNDOTBS1
DATAFILE 'C:\oracle\product\10.2.0\oradata\emsiDb\undotbs01.dbf' SIZE
100M
AUTOEXTEND ON NEXT 10M MAXSIZE 1024M
-- tablespace temporaire par défaut de 100 Mo, auto-extensible
SMALLFILE DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE 'C:\oracle\product\10.2.0\oradata\emsiDb\temp01.dbf' SIZE
100M
AUTOEXTEND ON NEXT 10M MAXSIZE 1024M
-- tablespace permanent par défaut de 10 Mo, auto-extensible,
-- géré localement
DEFAULT TABLESPACE deftbs
DATAFILE 'C:\oracle\product\10.2.0\oradata\emsiDb\deftbs01.dbf' SIZE
10M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
NOARCHIVELOG -- pas d'archivage pour l'instant
CHARACTER SET WE8ISO8859P15 -- jeu de caractères principal
NATIONAL CHARACTER SET AL16UTF16 -- jeu de caractères secondaire
SET TIME_ZONE = 'Europe/Paris' -- fuseau horaire de la base
MAXINSTANCES 1 -- une seule instance (pas RAC)
MAXLOGFILES 16 -- jusqu'à 16 groupes de journaux
MAXLOGMEMBERS 4 -- jusqu'à 4 membres par groupe
MAXDATAFILES 128 -- jusqu'à 128 fichiers de données
/
Etape8: 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) :
- 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.

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 et généralement indiquée.

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


dans %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 Oracle
(SQL*Plus) 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 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).

SQL> connect / as sysdba

SQL> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql

SQL> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql

SQL> connect system/emsi

SQL> @C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql

Vous aimerez peut-être aussi