• Aucun résultat trouvé

TP Administration Oracle

N/A
N/A
Protected

Academic year: 2022

Partager "TP Administration Oracle"

Copied!
9
0
0

Texte intégral

(1)

1

Ingénieurs 2000 – Informatique et Réseaux

TP

Administration Oracle

DIOP Ngoné

ESSAIDI Abderrahim

Février 2008

(2)

Sommaire

Sommaire ... 2

Introduction ... 3

1. Déploiement d’application ... 4

1.1 Résumé du besoin ... 4

1.2 Notions de tablespaces ... 4

1.3 Notions d’utilisateur ... 4

1.4 Mise en place de l’application... 4

2. Etudes statistiques du serveur ... 6

2.1 A propos des statistiques ... 6

2.2 PerfStat ... 6

2.3 Oracle Entreprise Manager ... 6

2.4 Résolution d’une anomalie sur le serveur ... 7

Conclusion ... 8

Annexe ... 9

(3)

Introduction

L’objectif de ce TP est tout d’abord de nous familiariser avec l’environnement d’Oracle et le langage de requête SQL via l’outil oracle SQL PLUS mais également de découvrir des méthodes de gestion avancées des bases de données sous Oracle.

En effet, ce dernier possède malgré tout certaines restrictions comme le fait d’utiliser une instance du moteur d’Oracle pour chaque base de données, ce qui peut être très gourmand en ressources dès lors que le nombre de bases de données est important.

L’objectif de ce TP va donc consister en d’une part la mise en place d’un canvas de déploiement d’applications indépendantes sur la même base de données Oracle.

D’autre part il va consister à mettre en place un système de monitoring. Ce système va nous permettre, entre autres, de visualiser le trafic et ainsi détecter les problèmes potentiels sur notre base.

(4)

1. Déploiement d’application 1.1 Résumé du besoin

Le but de cette partie du TP est de mettre en place un canvas de déploiement d’applications indépendantes sur la même base de données Oracle.

Nous allons créer un tablespace et un compte utilisateur pour chacune des applications.

Ces dernières étant indépendantes, l’utilisateur n’a accès qu’à son tablespace. Cela permet donc à celui-ci de travailler librement et d’avoir l’impression qu’il est seul sur la même base, alors que d’autres accès concurrent sont admis.

1.2 Notions de tablespaces

Un tablespace est un espace logique qui contient les objets stockés dans la base de données comme les tables ou les indexes. Une base de données contient donc un ensemble de tablespaces

Un tablespace est composé d'au moins un datafile, c'est à dire un fichier de données qui est physiquement présent sur le serveur à l'endroit stipulé lors de sa création. Chaque datafile est constitué de segments d'au moins un extent (ou page) lui-même constitué d'au moins 3 blocs : l'élément le plus petit d'une base de données.

1.3 Notions d’utilisateur

Un utilisateur de base de données va correspondre à un login qui aura reçu certains privilèges. Cet utilisateur sera stocké dans le dictionnaire de données et disposera d'un espace de stockage pour ses objets qui seront alors stockés dans son schéma.

En Oracle on pourra assimiler un utilisateur avec un tablespace comme on aurait associé un utilisateur à un schéma de la base de données.

1.4 Mise en place de l’application

Nous allons utiliser SQL Plus pour la mise en place des tablespaces. Cette interface permet de manipuler aisément la base de données Oracle. Pour se connecter à cette interface, on tape la commande sqlplus / as sysdba.

(5)

1.4.1 Création du tablespace

Le script ci-dessous permet de créer un tablespace qui va par la suite être associé à l’utilisateur qui sera par la suite, créé.

TABLESPACE=mytablespace

$sqlplus / as sysdba

prompt CREATE SMALLFILE TABLESPACE "$TABLESPACE" DATAFILE

'/data/TOPO/$TABLESPACE' SIZE 100M REUSE LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

1.4.2 Création de l’utilisateur

Nous allons créer un utilisateur dont le nom sera le même que le nom du tablesapce qu’on vient de créer un le mot de passe sera « mypass ». Le script ci-dessous permet de réaliser cette tâche.

MOTDEPASSE=myspass TABLESPACE= mytablespace

prompt CREATE USER "$TABLESPACE" PROFILE "DEFAULT" IDENTIFIED BY

"$MOTDEPASSE" DEFAULT TABLESPACE "$TABLESPACE" TEMPORARY TABLESPACE

"TEMP"QUOTA UNLIMITED ON "$TABLESPACE" ACCOUNT UNLOCK;

prompt GRANT "DINIROLE" TO "$TABLESPACE";

GRANT "DINIROLE" TO "$TABLESPACE";

1.4.3 Droits d’accès à la base

Ce script permet de donner les privilèges de connexion à la base de données à notre utilisateur.

TABLESPACE=mytablespace

prompt GRANT "CONNECT" TO "$TABLESPACE";

prompt GRANT "DINIROLE" TO "$TABLESPACE";

1.4.4 Analyse

Lors du TP un script a été utilisé pour faciliter la création d’un tablespace et le compte associé. Les scripts simplifient et sécurisent les tâches fastidieuses d’administration d’une base de données. Celui-ci nous a permis de créer rapidement un tablespace en fournissant uniquement un nom et un mot de passe.

Le script complet est disponible en annexe.

(6)

2. Etudes statistiques du serveur 2.1 A propos des statistiques

Dans cette partie du TP, nous allons avoir l’occasion de mettre en place un système de monitoring. Ce système va nous permettre, entre autres, de visualiser le trafic et ainsi détecter les problèmes potentiels sur notre base.

2.2 PerfStat

PerfStat est un ensemble d’utilitaires (scripts, packages, procédures et fonctions stockées) qui permet de suivre finement les performances des bases Oracle. Il est notamment utilisé pour contrôler les flux entrant et sortant du serveur de base de données.

Il fournit des fonctionnalités supérieures aux outils classiques.

La commande « sprepart.snap » permet de faire une capture de la BDD à un moment spécifique.

Pour l’analyse statistique, il faut lancer la commande « sqlplus perfstat/perfstat ». Un fichier de trace est généré. Il détaille tout l’historique du serveur. Les données suivantes sont mises en évidence :

- moyennes d’exécution des requêtes - accès à la mémoire

- accès au CPU.

2.3 Oracle Entreprise Manager

L’application Oracle Enterprise Manager (OEM or EM) permet de gérer mes applications développées par Oracle notamment sa base de données. Il fournit un outil de monitoring graphique qui permet de suivre la « vie » d’une base de données Oracle depuis une application web.

(7)

2.4 Résolution d’une anomalie sur le serveur

Une analyse statistique a été effectuée sur le serveur de base de données. Au terme de celle-ci, nous avons constaté qu’une ressource utilisait la quasi-totalité du CPU du serveur. L’utilisation excessive de cette ressource était due au fait que le serveur, à chaque requête, fait un scan complet de toutes les tables concernées.

La correction de ce problème a été relativement simple. Des index on été ajoutés à la colonne de la table sur laquelle le serveur faisait le scan.

Par la suite, les requêtes se sont effectuées en utilisant l’index créé. Cette intervention nous a permis de baisser d’optimiser les performances du serveur en baissant le taux d’utilisation du CPU.

(8)

Conclusion

Nous avons vu dans ce TP les forces d’Oracle et comment contourner ses faiblesses. Ce TP nous a également permis de nous familiariser avec son langage de requête SQL, son outil Oracle SQL PLUS et son interface web d’administration. Enfin nous avons pu découvrir les canvas de déploiement d’applications ainsi que le système de monitoring

(9)

Annexe

#! /bin/bash

echo "Choix du nom de la table space : "

read TABLESPACE

TABLESPACE=` echo "$TABLESPACE" | tr [a-z] [A-Z]`

echo "mot de passe : "

read MOTDEPASSE

echo” lancement du script””

echo”creation du tablespace”

sqlplus / as sysdba << !EOD

prompt CREATE SMALLFILE TABLESPACE "$TABLESPACE" DATAFILE

'/data/TOPO/$TABLESPACE' SIZE 100M REUSE LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

CREATE SMALLFILE TABLESPACE "$TABLESPACE" DATAFILE

'/data/TOPO/$TABLESPACE' SIZE 100M REUSE LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

Echo “creation du premier compte utilisateur”

prompt CREATE USER "$TABLESPACE" PROFILE "DEFAULT" IDENTIFIED BY

"$MOTDEPASSE" DEFAULT TABLESPACE "$TABLESPACE" TEMPORARY TABLESPACE

"TEMP"QUOTA UNLIMITED ON "$TABLESPACE" ACCOUNT UNLOCK;

prompt GRANT "DINIROLE" TO "$TABLESPACE";

GRANT "DINIROLE" TO "$TABLESPACE";

!EODCREATE USER "$TABLESPACE" PROFILE "DEFAULT" IDENTIFIED BY

"$MOTDEPASSE" DEFAULT TABLESPACE "$TABLESPACE" TEMPORARY TABLESPACE

"TEMP" QUOTA UNLIMITED ON "$TABLESPACE" ACCOUNT UNLOCK;

Echo “connection sur la base”

prompt GRANT "CONNECT" TO "$TABLESPACE";

GRANT "CONNECT" TO "$TABLESPACE";

prompt GRANT "DINIROLE" TO "$TABLESPACE";

GRANT "DINIROLE" TO "$TABLESPACE";

!EOD

Références

Documents relatifs

Ecrivez-le dans un ´editeur dont vous copierez le contenu dans SQL+. Un script ´ecrit en PL/SQL se termine obliga- toirement par un /, sinon SQL+ ne

Un SGBDR (Système de Gestion de Bases de Données Relationnel) est un logiciel qui permet de :. - stocker, - consulter, - modifier,

– SCHEMA est un param`etre optionnel pour identifier le sch´ema de la base de donn´ee dans laquelle cette table doit ˆetre plac´ee.. Par d´efaut, c’est celui

c Une commande SQLPLUS peut être tapée sur plusieurs lignes, chaque ligne intermédiaire étant terminée par -. SQLPLUS commence la ligne suivante par

Pour cr´eer une table Oracle en SQL, il existe l’instruction CREATE TABLE dans laquelle sont pr´ecis´es pour chaque colonne de la table : son intitul´e, son type de donn´ee et une

Comment afficher dans une requête la date du jour.. Opérations arithmétiques sur Opérations

Donner les caractéristiques (AVNUM, AVNOM, CAPACITE, LOCALISATION) des avions localisés dans la même ville qu’un pilote dont le nom est saisi au

When information is needed by the database, for example, to check whether a table column specified in a query exists, the dictionary tables are read and the data returned is stored