Vous êtes sur la page 1sur 4

Administration de Bases de Donn´ees — TP 2

A.M. Bouchet & I. Mougenot & T. Libourel

1. Retour sur d´emarrage et arrˆet d’une instance

Pour rendre une base accessible, il faut d´emarrer une instance et ouvrir la base de donn´ees avec cette instance. Il y a trois grandes phases dans le processus de d´emarrage :

1. d´emarrage de l’instance, (´etat NOMOUNT)

2. montage de la base de donn´ees, (´etat MOUNT)

3. ouverture de la base de donn´ees (´etat OPEN).

De mˆeme il y a trois grandes phases dans le processus d’arrˆet :

1. fermeture de la base de donn´ees.

2. d´emontage de la base de donn´ees,

3. arrˆet de l’instance.

1.1 D´emarrage

Commande SQL*Plus

STARTUP

[NOMOUNT/

MOUNT

nombase

[RESTRICT]

[PFILE=nomfichier]

/

OPEN

nombase]

--

RESTRICT

restreint

l’acc`es

de

la

base

aux

utilisateurs

ayant

le

droit

Restricted

Session

--

PFILE

nom

du

fichier

de

param`etres

`a

utiliser

 

Tester la

commande STARTUP MOUNT D´emarrer l’instance et monter la base de donn´ees (`a des fins d’administration) Tester la

commande STARTUP D´emarrer l’instance et ouvrir la base aux utilisateurs On peut modifier l’´etat de disponibilit´e d’une base par la commande ALTER DATABASE

Tester la commande STARTUP NOMOUNT D´emarrage l’instance mais sans associer une base de donn´ees

1.2 Arrˆet

Commande SQL*Plus

SHUTDOWN

[NORMAL/

IMMEDIATE

/

TRANSACTIONAL

/

ABORT]

ALTER DABATASE [nombase] MOUNT ; passage de NOMOUNT

`a MOUNT ALTER DABATASE [nombase] OPEN ; passage de MOUNT `a OPEN Rque : on ne peut que ”monter” le niveau pas ”abaisser” V´erifier les informations sur le dictionnaire de donn´ees : Dans l’´etat NOMOUNT V$Instance, V$parameter, V$SGA,

V$Version, V$Option

Dans V$instance, les colonnes STATUS donne l’´etat de l’instance et la colonne LOGINS pr´ecise si les connexions sont autoris´ees ou restreintes. Dans l’´etat MOUNT V$DATABASE Dans l’´etat OPEN V$session, PRODUCT COMPONENT VERSION

Tester les modifications de niveau de disponibilit´e

La supervision des utilisateurs connect´es est faite avec V$session

Rque : vous pouvez connaitre l’ordre SQL ex´ecut´e en r´ealisant une jointure avec V$SQLAREA (sur l’attribut SQL ID)

consulter chaque attribut.

1

Master IFPRU - 2007-2008

2

Tester la commande SHUTDOWN (avec les diff´erentes options possibles) Rque : dans des scripts par exemple de sauve- garde utiliser SHUTDOWN IMMEDIATE

2. Automatisation

Les fichiers de parametres sont situ´es dans le r´epertoire $ORACLE HOME/dbs on voit en particulier : spfile< SID >.ora et init.ora r´epertoire pfile dans /oracle/admin/< SID >. Les bases de donn´ees peuvent ˆetre d´emarr´ees ou arr´et´ees automatiquement grˆace `a des scripts. (Ces scripts appellent les scripts fournis par Oracle dbstart et dbshut)

3. Cr´eation d’une nouvelle base de donn´ees

Le processus complet de cr´eation d’une base de donn´ees pour un contexte donn´e comporte les grandes ´etapes suivantes :

1. Conception

Il faut r´efl´echir aux types d’utilisation pr´evus (et bien sˆur aux types d’utilisateurs qui vonst se connecter). Etudier le sch´ema et la volum´etrie de l’application (nombre d’utilisateurs, nombre de tables, nombre de n-uplets pr´evus , nombre

de proc´edures, triggers

En g´en´eral une base Oracle comporte quatre types de compte :

)

(a)

administrateur Compte b´en´eficiant des privil`eges syst`eme et acc`es complet au dictionnaire de donn´ees ( `a g´erer `a partir de rˆole DBA)

(b)

cr´eateur de sch´ema Compte b´en´eficiant de privil`eges syst`emes pour la cr´eation des divers types d’objets n´ecessaires et poss`edant des quota sur au moins un tablespace (`a g´erer par rˆoles)

(c)

d´eveloppeur Pr´evoir un tablespace d´edi´e et d´einir des quota sur ce tablespace.

(d)

utilisateur final Peu de privil`eges syst`eme n´ecessaires : CREATE SESSION (obligatoire), ALTER SESSION peuvent suffire. Privil`eges objet sur les objets du sch´ema applicatif (`a l’aide de rˆole). Utilisation des profils pour contrˆoler l’utilisation des ressources et mettre en œuvre une politique de gestion de mots de passe.

2. Cr´eation de la base Cette ´etape comporte :

(a)

Cr´eer une nouvelle instance

(b)

Cr´eer la base (fichiers de contrˆole, de journalisation, de donn´ees et tablesspaces sp´ecifiques Oracle) fait l’enveloppe ”vide” de la base

on cr´ee en

(c)

Rendre le dictionnaire de donn´ees exploitable

3. Cr´eer les structures de stockage (tablespaces et fichiers associ´es)

4. Cr´eer les comptes Oracle n´ecessaires

5. Cr´eer les objets

6. Sauvegarde de la base

Vous devrez r´efl´echir au cas suivant.

On souhaite r´ealiser une application correspondant `a la mise en place du syst`eme d’information re- latif `a un laboratoire de recherche. Celui-ci est pilot´e par une ´equipe de direction et comporte plusieurs d´epartements : d´epartement administratif, d´epartement technique syst`eme-r´eseaux, d´epartements de re- cherche. Chaque d´epartement a un responsable. Chaque d´epartement de recherche comporte des ´equipes. Une ´equipe comporte un responsable et des membres. Les personnels comportent des chercheurs, des enseignants-chercheurs, des personnels techniques et administratifs. Le syst`eme d’information a un directeur op´erationnel qui coordonne la gestion globale des informations. Ce directeur a donc la responsabilit´e de cr´eer le sch´ema global (en accord avec les dievrs responsables) et les services d’exploitation de celui-ci. Les informations sont collect´ees au niveau de chaque responsable qui peuvent transmettre une partie de leur privil`ege `a des membres cibl´es. (Nombre de d´epartements 3, nombre d’´equipes par d´epartement de recherche : 10, nombre de membres total du laboratoire 150, les informations recens´ees comportent les renseignements sur les membres du laboratoire, la description des d´epartements, des ´equipes, de leurs th`emes).

Master IFPRU - 2007-2008

3

3.1 La cr´eation de la base pourra ˆetre effectu´ee `a la main :

1. cr´eer les r´epertoires sur le disque Penser `a cr´eer un r´epertoire d’administration admin (qui contient en g´en´eral des sous r´epertoires adhoc (pour les scripts d’adminsitration),create (scripts de cr´eation), pfile (fichiers de param`etre texte) bdump, cdump, udump , et un r´epertoire de donn´ees oradata dans $ORACLE BASE

2. Pr´eparer un fichier de param`etres texte inet.ora (dans pfile) Consulter une exemple Attention le nombre de param`etres est ´elev´e (> 250) Les principaux : DB NAME DB DOMAIN

COMPATIBLE CONTROL FILES (en g´en´eral 2) DB BLOCK SIZE (4,8,16,32) SGA MAX SIZE (en K, M ou G) SGA TARGET (en K, M ou G) SHARED POOL SIZE (en K, M ou G) JAVA POOL SIZE (en K, M ou G) DB CACHE SIZE (defaut 64 M) LOG BUFFER (defaut 512 K) PGA AGGREGATE TARGET (en K, M ou G) OPEN CURSORS (defaut 50)

PROCESSES (nbre maximum de processus connect´es simultan´ement `a l’instance) SESSIONS (en g´en´eral d´eriv´ee du PROCESSES*1.1) NLS LANGUAGE (langage par d´efaut de l’instance) NLS TERRITORY (territoire format de date, s´eparateurs en d´ependent) UNDO MANAGEMENT ( AUTO ou MANUAL) UNDO TABLESPACE (nom du tablespace d’annulation par d´efaut) BACKGROUND DUMP DEST (r´epertoire des traces de processus d’arri`ere plan

USER DUMP DEST (r´epertoire des traces des processus utilisateurs

LOG ARCHIVE DEST (destination fichiers de journalisation) REMOTE LOGIN PASSWORDFILE (selon la strat´egie adopt´ee pour l’identifications SYSDBA ou SYSOPER - valeurs possibles NONE, EXCLUSIVE, SHARED)

3. Cr´eer le service associ´e `a l’instance (Windows) ou cr´eer le fichier mot de passe (Unix,Linux) Sous Windows utiliser

bdump)

udump)

ORADIM

-NEW

-SID

<sid>

[-INTPWD

<motdepasse>

ou

SYSPWD

<motdepasse>]

 

[-MAXUSERS

<nombre>]

 
 

[-STARTMODE

<auto/manual>]

[-SRVCSTART

<system/demand]

[-PFILE

<nomfichier]

[-SPFILE]

 

[SHUTMODE

<normal/immediate/abort>]

[-TIMEOUT

<duree>]

exemple

 

ORADIM

NEW

-SID

Mabase

-SYSPWD

wx#12

-STARTMODE

a

-SRVCSTART

s

-SPFILE

Sous Unix, Linux cr´eer le fichier de mot de passe avec l’utilitaire ORAPWD

ORAPWD FILE=<nomfichier> PASSWORD=<motdepasse> ENTRIES=<nombre> FORCE=<Y/N>

exemple

ORAPWD

FILE=$PWFILE

PASSWORD=wx#12

ENTRIES=4

FORCE=Y

4. Lancer SQL*PLUS et se connecter AS SYSDBA SQLPLUS /nolog CONNECT sys/wx12 AS SYSDBA

5. Cr´eer le fichier de param`etre serveur

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

exemple

CREATE

SPFILE

FROM

PFILE

=

’d:\oracle\admin\Mabase\pfile\init.ora’

;

6. D´emarrer l’instance La base n’existant pas encore d´emarrer l’instance par STARTUP NOMOUNT.

Master IFPRU - 2007-2008

4

7. Cr´eer la base Ordre SQL

CREATE

DATABASE

[nombase]

[USER

SYS

IDENTIFIED

BY

<motdepasse>]

[USER

SYSTEM

IDENTIFIED

BY

<motdepasse>]

[CONTROLFILE

REUSE]

[SET

DEFAULT

{BIGFILE/SMALLFILE}

TABLESPACE}]

[DATAFILE

<nom

fichier]

[EXTEND

[SYSAUX

DATAFILE

<nomfichier>

[DEFAULT

TABLESPACE

<nom>

[DATAFILE

<nom

fichier]

[MAXINSTANCES

<nombre>]

;

8. Configurer Oracle Net pour la nouvelle base de donn´ees Modifier la configuration du processus d’´ecoute (fichier listener.ora) Cr´eation d’un nom de service r´eseau (fichier tsnames.ora) Rques : - sous Unix/linux, enregistrer la nouvelle instance dans le fichier oratab - retrouver les informations avec v$DATABASE et DATABASE PROPERTIES

3.2 La cr´eation de la base pourra ˆetre effectu´ee `a l’aide de l’assistant graphique

D´emarrer l’application et suivre