Création d'une base de données Oracle



Documents pareils
Gestion des utilisateurs et de leurs droits

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Administration des Bases de Données Oracle

420-PK6-SL Banques de données Avancées. UTILISATEURS (suite)

Bases de données et sites WEB

Oracle Database HOWTO

TP Administration Oracle

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

Cours Bases de données 2ème année IUT

Bases de Données Avancées

Master Exploration Informatique des données DataWareHouse

PREPARATION AU PTI SGBD

TP11 - Administration/Tuning

Création d'une nouvelle base de données

420-PK6-SL Banques de données Avancées UTILISATEURS

Développement d une base de données relationnelle. Exploitation des statistiques de pêche au thon tropical

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Présentation de l'outil RMAN d'oracle

1. Qu'est qu'un tablespace?

Auto-évaluation Oracle: cours de base

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Module n 2 CREER UNE BASE DE DONNEES 1Z0-001

Notion de base de données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Administration des bases de données sous Oracle. 10g. Fabien De Marchi, Jean-Marc Petit. Université de Lyon. November 22, /96

FILE MANAGEMENT. TABLESPACES TEMPORAIRES Temporaire par défaut autre que system

Oracle 11g - Dataguard

Administration de Base de Données Notes de cours

ADMINISTRATION D'UNE BASE DE DONNEES

Olivier Mondet

TP Contraintes - Triggers

Notes de cours : bases de données distribuées et repliquées

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Architecture de la plateforme SBC

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Administration des bases de données relationnelles Part I

3. La SGA ou System global Area

Installation des moteurs SQL Pour Micro-SESAME

TP Bases de données réparties

Installation d'un serveur FTP géré par une base de données MySQL

Nœud Suisse du Projet International GBIF (Global Biodiversity Information Facility)

Devoir Data WareHouse

Configurer la supervision pour une base MS SQL Server Viadéis Services

Mysql. Les requêtes préparées Prepared statements

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Module 25 : Correction des exercices

CHAPITRE 1 ARCHITECTURE

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Oracle : Administration

Fascicule des Travaux Pratiques Oracle

Chapitre III Architecture de Base de Données Oracle

Cours Bases de données 2ème année IUT

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Procédure serveur : gestion des environnements X3 et bases de données ORACLE

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer

Gestion de base de données

Bases de Données relationnelles et leurs systèmes de Gestion

Guide de Préconisations Techniques SOMMAIRE PLATEFORME SAFE SOLUTION SAGE SOLUTION SAGE 1000 ET SAGE COMMUNICATION BANCAIRE 33

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

WDpStats Procédure d installation

//////////////////////////////////////////////////////////////////// Administration bases de données

Procédure technique. René de Beauregard Landaile Consulting

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Pratique et administration des systèmes

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

Introduction aux SGBDR

Administration des bases de données. Jean-Yves Antoine

Partie II Cours 3 (suite) : Sécurité de bases de données

Guide de Préconisation Technique. Solutions Sage FRP Version Guide de Préconisation Technique Release 1.

Synchronisation Mysql (Replication)

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Présentation du SC101

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

RECOVERY MANAGER G. Mopolo-Moké prof. MBDS UNSA 2005/ 2006

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Cours de SQL SERVER 2005 SQL SERVER 2005

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Petit guide pour l installation de CVW sous Linux

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

CREATION WEB DYNAMIQUE

Rootkits sous Oracle

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Bases de Données Réparties

et Groupe Eyrolles, 2006, ISBN :

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Guide d installation de SugarCRM Open Source version 4.5.1

Le Langage De Description De Données(LDD)

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Guide Installation Serveur Extensive Testing

Administration d'une base de données

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64

Transcription:

TP1 Création d'une base de données Oracle MASTER INFORMATIQUE I2A Année universitaire 2006-2007 RAPPORT DE PROJET (Document de 15 pages) Encadrant : Rosaire Amore Participants : Erik Allais Abdel Rafrafi Résumé : Le but de ce TP est de créer une nouvelle base de données sous oracle et de l'administrer. Centre de Mathématique et d'informatique Technopôle de Chateau Gombert 39, rue F. Jolliot Curie 13453 Marseille CEDEX 13

Contacts Nom Prénom mél fonction/statut autre information Allais Erik erik.allais@free.fr Étudiant M2 info BDA Rafrafi Abdel rafhalim@free.fr Étudiant M2 info BDA Année universitaire 2006-2007 Page 2/15

Suivi du document Nom, prénom Date Version Commentaires Validation Nom, prénom Signature - - - - - - Année universitaire 2006-2007 Page 3/15

Table des matières 1. Création d'une nouvelle base de données......5 1.1. Créer le fichier d'initialisation...5 1.2. Configuration du.bashrc...5 1.3. Création du script pour l'installation de la base de données...6 1.4. Exécution du script pour l'installation de la base de données...7 1.5. Description de l'application...7 2. Création de nouveaux utilisateurs...8 2.1. Création du propriétaire de l'application...8 2.2. Création des autres utilisateurs de l'application...10 3. Infrastructure physique de l'application...12 Année universitaire 2006-2007 Page 4/15

1. Création d'une nouvelle base de données Une fois le serveur oracle installé, nous devons créer une base de données pour tester l'application. 1.1. Créer le fichier d'initialisation Il faut en tout premier lieu copier $ORACLE_HOME/dbs/initwg81.ora vers $ORACLE_HOME/dbs/initmvt.ora $ cd $ORACLE_HOME/dbs $ cp initwg81.ora initmvt.ora Et modifier ce fichier en y ajoutant les lignes suivantes : db_name = mvt instance_name = mvt control_files = ( "/ext/apps/oracle/oradata/oraweb/controlmvt01.ctl", "/ext/apps/oracle/oradata/oraweb/controlmvt02.ctl", "/ext/apps/oracle/oradata/oraweb/controlmvt03.ctl") db_block_size = 8192 Sans oublier de commenter les lignes suivantes : remote_login_passwordfile = exclusive mts_dispatchers = "(PROTOCOL=TCP)(SER=MODOSE)" mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)" 1.2. Configuration du.bashrc Il faut ajouter les lignes suivantes dans le.bashrc pour faire fonctionner correctement l'application. export ORACLE_BASE=/ext/apps/oracle export ORACLE_HOME=$ORACLE_BASE/817 export ORACLE_SID=mvt PATH=$PATH:$ORACLE_HOME/bin Année universitaire 2006-2007 Page 5/15

1.3. Création du script pour l'installation de la base de données Avant de créer ce script pour l'installation de la base de données, il est important de créer plusieurs répertoires dans $ORACLE_HOME qui serviront à stocker les différents objets de la base. $ mkdir DISK_A DISK_B DISK_C DISK_D DISK_E DISK_F DISK_G DISK_H Il faut ensuite créer un script nommé par exemple makedb.sql dans le répertoire $ORACLE_HOME/dbs avec les lignes suivantes : connect internal startup pfile= '$ORACLE_HOME/dbs/initmvt.ora' nomount set echo on spool makedb.log Création de la database mvt (fichier initial 50M) create database mvt maxinstances 1 maxlogfiles 2 datafile '$ORACLE_HOME/dbs/mvt_syst_01.dbf' size 50M autoextend on next 10M maxsize unlimited logfile Group 1 ('$ORACLE_HOME/DISK_A/mvt_redo_01.dbf', '$ORACLE_HOME/DISK_A/mvt_redo_02.dbf') size 1M reuse, Group 2 ('$ORACLE_HOME/DISK_B/mvt_redo_01.dbf', '$ORACLE_HOME/DISK_B/mvt_redo_02.dbf') size 1M reuse; Création des tables systèmes @$ORACLE_HOME/rdbms/admin/catalog.sql @$ORACLE_HOME/rdbms/admin/catproc.sql @$ORACLE_HOME/rdbms/admin/utlsampl.sql Création du rollback segment dans le tablespace system create rollback segment r1 tablespace system storage ( optimal 5M ); alter rollback segment r1 online; Création des rollback segment dans le tablespace réservé mvt_rollback create tablespace mvt_rollback datafile '$ORACLE_HOME/DISK_D/mvt_roll_01.dbf' size 10M reuse; create rollback segment r2 tablespace mvt_rollback storage ( optimal 5M ); alter rollback segment r2 online; create rollback segment r3 tablespace mvt_rollback storage ( optimal 5M ); alter rollback segment r2 online; Création du tablespace des utilisateurs de la database create tablespace users datafile '$ORACLE_HOME/DISK_D/mvt_user_01.dbf' size 10M reuse; Création du tablespace des objets temporaires create tablespace temp datafile '$ORACLE_HOME/DISK_D/orcl_temp_01.dbf' size 5M reuse temporary; Année universitaire 2006-2007 Page 6/15

spool off exit 1.4. Exécution du script pour l'installation de la base de données Il faut pour cela démarrer svrmgrl et exécuter le script. Oracle Server Manager Release 3.1.7.0.0 Production Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved. Oracle8i Enterprise Edition Release 8.1.7.0.1 Production With the Partitioning option JServer Release 8.1.7.0.1 Production SVRMGR> connect internal Connected. SVRMGR> startup nomount ORACLE instance started. Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers SVRMGR> @makedb... SVRMGR> exit Server Manager complete. 72704160 bytes 73888 bytes 55681024 bytes 16777216 bytes 172032 bytes 1.5. Description de l'application On prévoit que cette instance servira pour la mise en place d'une application qu'on nommera compta. La table principale de cette application sera nommée mouvements. Année universitaire 2006-2007 Page 7/15

2. Création de nouveaux utilisateurs La base de données, telle qu'elle a été créée, a deux utilisateurs spéciaux qui sont créés automatiquement. Username SYSTEM SYS Password MANAGER change_on_install Ces utilisateurs sont typiquement utilisés pour maintenir les informations sur le dictionnaire standard de données pour la base de données. Comme l'utilisateur system/manager est similaire à l'utilisateur root sur une machine UNIX, nous devons créer un utilisateur avec moins de pouvoir. Il faut donc se connecter à SQL*Plus et créer les différents utilisateurs. ~$ sqlplus system/manager SQL*Plus: Release 8.1.7.0.0 Production on Thu Jan 11 22:45:41 2007 (c) Copyright 2000 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.1 Production With the Partitioning option JServer Release 8.1.7.0.1 Production 2.1. Création du propriétaire de l'application Une fois connecté avec le compte system, il faudra créer l'utilisateur propriétaire avec comme profil : Un temps CPU limité Une connexion unique Une durée maximale d'inactivité lors d'une connexion : 8 minutes Ce qui donne pour la création du profil : SQL> CREATE PROFILE profil_proprietaire LIMIT SESSIONS_PER_USER 1 CPU_PER_SESSION 3000 IDLE_TIME 8 ; profile created. Et pour la création de l'utilisateur : SQL> CREATE USER proprietaire IDENTIFIED BY password DEFAULT tablespace users TEMPORARY tablespace temp PROFILE profil_proprietaire ; User created. Ses privilèges dans la base sont les mêmes que ceux du rôle connect + ressource, Année universitaire 2006-2007 Page 8/15

d'où l'on aura retranché les droits de création de clusters et de séquences. Il faut donc en tout premier lieu regarder les privilèges qu'octroie les rôles connect et resource. SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT' ; GRANTEE PRIVILEGE ADM CONNECT ALTER SESSION NO CONNECT CREATE CLUSTER NO CONNECT CREATE DATABASE LINK NO CONNECT CREATE SEQUENCE NO CONNECT CREATE SESSION NO CONNECT CREATE SYNONYM NO CONNECT CREATE TABLE NO CONNECT CREATE VIEW NO 8 rows selected. SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'RESOURCE' ; GRANTEE PRIVILEGE ADM RESOURCE CREATE CLUSTER NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE PROCEDURE NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE TABLE NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE TYPE NO 8 rows selected. Et ensuite créer un nouveau rôle qui dispose des même privilèges hormis la création de cluster et de sequence. Ce qui donne : SQL> CREATE ROLE role_proprietaire ; Role created. SQL> GRANT CREATE VIEW, CREATE TABLE, ALTER SESSION, CREATE SESSION, CREATE SYNONYM, CREATE DATABASE LINK, CREATE TYPE, CREATE TRIGGER, CREATE OPERATOR, CREATE INDEXTYPE, CREATE PROCEDURE TO role_proprietaire; SQL> GRANT role_proprietaire TO proprietaire; Il est possible de vérifier si le rôle a bien été affecté au propriétaire avec la requête SQL suivante: Année universitaire 2006-2007 Page 9/15

SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'PROPRIETAIRE' ; GRANTEE GRANTED_ROLE ADM DEF PROPRIETAIRE ROLE_PROPRIETAIRE NO YES Et également vérifier si le rôle contient bien les privilèges précédemment assignés avec la requête SQL : SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'ROLE_PROPRIETAIRE' ; GRANTEE PRIVILEGE ADM ROLE_PROPRIETAIRE ALTER SESSION NO ROLE_PROPRIETAIRE CREATE DATABASE LINK NO ROLE_PROPRIETAIRE CREATE INDEXTYPE NO ROLE_PROPRIETAIRE CREATE OPERATOR NO ROLE_PROPRIETAIRE CREATE PROCEDURE NO ROLE_PROPRIETAIRE CREATE SESSION NO ROLE_PROPRIETAIRE CREATE SYNONYM NO ROLE_PROPRIETAIRE CREATE TABLE NO ROLE_PROPRIETAIRE CREATE TRIGGER NO ROLE_PROPRIETAIRE CREATE TYPE NO ROLE_PROPRIETAIRE CREATE VIEW NO 11 rows selected. 2.2. Création des autres utilisateurs de l'application Ces nouveaux utilisateurs sont au nombre de trois et peuvent accéder à l'application pour son utilisation normale (SELECT + LMD). Il faut dans un premier temps créer un nouveau rôle qui va contenir les privilèges précédemment cités. SQL> CREATE ROLE role_utilisateur ; Role created. SQL> GRANT CONNECT TO role_utilisateur ; SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON mouvements TO role_utilisateur ; Il est également possible de créer un nouveau profil pour ces nouveaux utilisateurs. SQL> CREATE PROFILE profil_utilisateur LIMIT SESSIONS_PER_USER 1 CPU_PER_SESSION 1500 IDLE_TIME 4 ; Profile created. Année universitaire 2006-2007 Page 10/15

La création des différents utilisateurs se fait comme suit: SQL> CREATE USER utilisateur_1 IDENTIFIED BY password DEFAULT tablespace users TEMPORARY tablespace temp PROFILE profil_utilisateur ; User created. SQL> GRANT role_utilisateur to utilisateur_1 ; SQL> CREATE USER utilisateur_2 IDENTIFIED BY password DEFAULT tablespace users TEMPORARY tablespace temp PROFILE profil_utilisateur ; User created. SQL> GRANT role_utilisateur to utilisateur_2 ; SQL> CREATE USER utilisateur_3 IDENTIFIED BY password DEFAULT tablespace users TEMPORARY tablespace temp PROFILE profil_utilisateur ; User created. SQL> GRANT role_utilisateur to utilisateur_3 ; Le troisième utilisateur a également le droits de modifier la structure des tables de l'application, et pourra même créer des tables dans son propre schéma ayant comme clé étrangère la table mouvements. Ce qui donne : SQL> GRANT ALTER ANY TABLE TO utilisateur_3 WITH ADMIN OPTION ; SQL> GRANT CREATE TABLE TO utilisateur_3 WITH ADMIN OPTION ; SQL> GRANT REFERENCES on mouvements TO utilisateur_3 ; Année universitaire 2006-2007 Page 11/15

3. Infrastructure physique de l'application On dispose de trois disques destinés au stockage physique des données (/disk_e, /disk_f) et des index (/disk_g). Ce qui donne : CREATE TABLESPACE mvt_ts datafile '$ORACLE_HOME/DISK_E/mvt_ts_01.dbf' size 10M reuse, '$ORACLE_HOME/DISK_F/mvt_ts_02.dbf' size 10M reuse ONLINE ; Statement processed. CREATE TABLESPACE mvt_ts_index datafile '$ORACLE_HOME/DISK_G/mvt_ts_01.dbf' size 10M ONLINE ; Statement processed. Un disque monté en /disk_h sera affecté au tablespace dédié aux segments temporaires. SQL> CREATE TEMPORARY TABLESPACE mvt_temp_ts tempfile '$ORACLE_HOME/DISK_H/mvt_temp_ts.dbf' size 10M reuse ; Tablespace created. On prévoit une très forte sollicitation de la table mouvements. On souhaite la faire fonctionner en "data stripping". CREATE TABLE mouvements (id_mvt number CONSTRAINT pk_mvt PRIMARY KEY USING INDEX TABLESPACE mvt_ts_index ) TABLESPACE mvt_ts STORAGE ( INITIAL 5M NEXT 5M MINEXTENTS 1 MAXEXTENTS 5 ); Année universitaire 2006-2007 Page 12/15

Bibliographie et liens Année universitaire 2006-2007 Page 13/15

Index alphabétique Année universitaire 2006-2007 Page 14/15

Index des illustrations Année universitaire 2006-2007 Page 15/15