You are on page 1of 15

Oracle 10g Database, administration de base de donne (niveau 1)

ORACLE 10g DATABASE ADMINISTRATION DE BASE DE DONNEES


(Niveau 1)

Sommaire
- Prsentation de Oracle 10g - Installation et configuration de oracle Database 10g - Oracle Enterprise Manager - Oracle Assisant Configuration Database - Gestion de base de donnes

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

I Prsentation de Oracle 10g : Oracle Database est une base de donnes relationnelle objet volutive et facile grer. Larchitecture Oracle comporte plusieurs composants principaux dont : - Serveur Oracle : cest le systme de gestion de base de donnes qui offre une mthode de gestion des informations ouverte, complte et intgre. - Instance Oracle : pour accder aux donnes de la base Oracle, lutilisateur doit se connecter une instance partir dun outil ou une application. Cet outil/application est excut en tant que processus utilisateur. - Base de donnes Oracle : cest lespace de stockage physique des donnes. Elle est compose de trois types de fichiers : fichiers de donnes, fichiers de contrles, fichiers de journalisation. La sortie de Oracle 10g (g pour grid computing) dbut septembre 2003 a apport son lot de nouveauts et damliorations par rapport la version prcdente dOracle 9i. Cette nouvelle mouture combine comme pour les ditions prcdentes le serveur dapplications et le systme de gestion de base de donnes. Lditeur amricain Oracle, a voulu une nouvelle version multi-envionnement supportant : J2EE, les Web Services, et le Grid Computing. Oracle Application Server 10g intgre ainsi une nouvelle console web, Database Control, un moteur dautodiagnostic identifiant tout problme de fonctionnement ou de performance et proposant les actions correctives correspondantes. Mais le gros des nouveauts rside dans la technologie de cluster de base de donnes, Oracle Real Application, qui permet un dploiement sans modifications des progiciels du march tout en ajoutant dynamiquement des serveurs. Pour une entreprise, lintrt du Grid est de pouvoir diminuer fortement le temps, le cot dadministration et de maintenance informatique et permet aux informaticiens de se concentrer sur des problmes oprationnels et non administratifs. Documentation disponible sur mon site : http://dahani.net/telechgmt.htm

La formation portera essentiellement sur ladministration, laccent sera donc mis loutil sur SQL * plus et les languages SQL et PLSQL.

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

II - Installation et configuration de oracle Database 10g Documentation disponible sur mon site : http://dahani.net/telechgmt.htm

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

III -Oracle Enterprise Manager (OEM) Bas sur Oracle Enterprise Manager 10g (OEM), Database Control est un outil graphique (Web) permettant ladministration, la surveillance et la gestion de la base de donnes. Les administrateurs peuvent surveiller la base de donnes, recevoir des alertes et des conseils pour optimiser sa performance et sa fiabilit. Prsentation de OEM. (Database Control)

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

IV Oracle Database Assisant Configuration (ODAC) Outil permettant la cration, la modification ou la suppression de base de donnes. Prsentation de Database Assistant Configuration.

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

V - SQL * Plus Utilitaire permettant ladministration de base de donnes avec des commandes SQL et extentions (PLSQL) Connexion SQL Plus :

Interface de SQL Plus :

Il ya la possibilit de lancer SQL Plus sous MSDOS : Exemple : Sqlplus /nolog connect scott@oradb (Linvite vous demande ensuite dentre le mot de passe)

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

VII GESTION DE BASE DE DONNES (Cette partie sera traite sous forme de TP) 1 - Cration dune base de donnes en ligne de commandes La cration d'une base Oracle est traditionnellement reconnue comme une opration trs complexe. En effet la base peu tre organise de multiples faons, et de nombreux paramtres fournis lors de la cration permettent de spcifier la configuration. Aprs l'installation du Serveur Oracle, les paramtres de notre Serveur Oracle sont les suivants: le mot de pass pour SYSMAN, SYS et SYSTEM est mano OracleHome=F:\ORA10G\product\10.2.0\db_1\ Nous allons crer une base de donne: - son identificateur sera ORCL - elle sera place dans le rpertoire F:\ORA10G\product\10.2.0\oradata\ (Lecteur dfini lors de linstallation du serveur Oracle) Pour crer la base, nous allons - crer une variable d'environnement ORACLE_SID - crer le fichier de paramtres - crer un service - dmarrer l'instance et la base - crer la base

1.1 - Cration d'une variable DOS ORACLE_SID


Nous allons utiliser une instance Oracle, qui sera identifie par son SID (System IDentifier). Ce SID devra tre reconnu au niveau de la ligne de commande DOS, et pour cela nous devons crer une variable d'environnement DOS contenant ce SID. La cration de cette variable est effectue en utilisant la commande DOS SET. Par consquent lancez CMD.EXE crez le SID ORCL en tapant SET ORACLE_SID=ORCL Entre (DOS cr la variable) Nous pouvons vrifier que cette variable a bien t cre en tapant SET: tapez SET Entre

1.2 - Crer le fichier de paramtres


L'instruction de cration de la base utilisera un fichier de paramtres. Ce fichier est un fichier binaire, appel SPFILE. Ce fichier binaire est gnr partir d'un fichier ASCII INIT.ORA que nous devons crer. L'installation d'Oracle place un fichier INIT.ORA type "OracleHome"\admin:

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

Ce fichier de 8K comporte de nombreux commentaires et pour les principaux paramtres plusieurs choix (un choix par dfaut et, en commentaire, d'autres possibilits) En utilisant les valeurs par dfaut du fichier type, des erreurs peuvent survenir. Voici un fichier minimal, que nous allons utiliser. Donc: crez le rpertoire ORCL dans F:\ORA10G\product\10.2.0\oradata\ avec les sous-rpertoires pour placer le fichier d'initialisation, les scripts, les traces, les cho DOS:

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

dmarrez NotePad, tapez le texte du fichier de paramtres: db_name = orcldb db_block_size = 2048 # trace (log) files background_dump_dest = F:\ORA10G\product\10.2.0\oradata\orcl\the_trace user_dump_dest = F:\ORA10G\product\10.2.0\oradata\orcl\the_trace control_files = F:\ORA10G\product\10.2.0\oradata\orcl\the_trace \control01_orcl.ora # add if undo in create database undo_management = auto Sauvegardez ce fichier dans: F:\ORA10G\product\10.2.0\oradata\orcl \the_init\init_orcl.ora

1.3 - Cration d'un Service


Nous devons prsent crer un Service Windows qui grera notre instance. Nous crons ce service en utilisant ORADIM.EXE. Donc: lancez CMD.EXE Aller F:\ORA10G\product\10.2.0\db_1\BIN tapez la commande : oradim -new -sid ORCL -intpwd orcl -startmode manual -pfile F:\ORA10G\product\10.2.0\oradata\orcl\the_init\init_orcl.ora Entre Oracle cre le service: Nous vrifions que le service a bien t cr: tapez: services.msc Entre

De plus, Oracle a cr un fichier de mots de passe pour ce service (dans "OracleHome"\database):

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

1.4 - Dmarrer l'instance


L'instance va tre dmarre en utilisant Sql/Plus. Comme aucune instance n'existe, nous devons utiliser des paramtres spciaux 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 excutons CREATE DATABASE avec les paramtres de cration

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 excuter dans un fichier ASCII construit avec l'diteur de votre choix et sauvegardons le texte dans un fichier ayant n'importe quel nom (par exemple create_database.txt) dans Sql/Plus nous invoquons le script en tapant: @? \ create_database.txt Entre Sous Sql/Plus
o o

@ est une abrviation de START (= lancement de script) ? est une abrviation de "OracleHome" (F:\ORA10G\product\10.2.0\Db_1\ dans notre cas)

Par consquent: lancez votre diteur prfr (NotePad, par exemple) et tapez le script suivant: Set Echo Off Spool ' F:\ORA10G\product\10.2.0\oradata\orcl \echo_create_database.txt' CREATE DATABASE orcldb CHARACTER SET WE8ISO8859P1 LogFile

10

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

group 1 ' F:\ORA10G\product\10.2.0\oradata\orcl\redo1.log' size 10M reuse, group 2 ' F:\ORA10G\product\10.2.0\oradata\orcl\redo2.log' Size 10M reuse DataFile ' F:\ORA10G\product\10.2.0\oradata\orcl\system.dbf' Size 50M autoextend on next 10M maxsize unlimited extent management local sysaux datafile ' F:\ORA10G\product\10.2.0\oradata\orcl\sysaux.dbf' Size 10M autoextend on next 10M maxsize unlimited undo tablespace the_undo datafile ' F:\ORA10G\product\10.2.0\oradata\orcl\the_init\the_undo.dbf' Size 10M default temporary tablespace the_temp tempfile ' F:\ORA10G\product\10.2.0\oradata\orcl\the_init\the_temp.dbf' Size 10M ; Shutdown Spool Off sauvegardez ce texte sous: F:\ORA10G\product\10.2.0\oradata\orcl\the_script\create_database.txt retournez dans la ligne de commande DOS et lancez Sql/Plus en tapant: sqlplus /nolog Entre

connectez-vous en tant que SYS connect sys/passWord as sysdba dmarrez l'instance en tapant: Startup Nomount pFile= F:\ORA10G\product\10.2.0\oradata\orcl\init_orcl.ora lancez le script de cration en tapant F:\ORA10G\product\10.2.0\oradata\orcl\the_script\create_database.txt Entre Sql/Plus cre la base Et le dossier contient les fichiers suivants:

11

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

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 en cas de problme, le fichier de log cr par SPOOL permet de vrifier calmement ce qui s'est pass. De faon similaire, les traces (fichiers .TRC) qui seront dposs dans THE_TRACE peut fournir les codes des erreurs il aurait t possible de placer CONNECT, STARTUP et CREATE TABLE dans le mme script nous avons ferm la base aprs la cration, mais il serait possible de placer dans le mme script les tapes que nous allons prsenter maintenant

NB :
La base cre est vide, et il faut excuter des scripts qui installent des tables et programmes systmes dans la base : excuter catalog.sql cre le dictionnaire de donnes (? \rdbms\admin\catproc.sql) excuter catproc.sql cr les structures pour PL/SQL (? \rdbms\admin\catproc.sql) crer un tablespace s pour les donnes utilisateurs

2 - Cration dune base de donnes laide de lassistant ODAC Nous crerons une autre base de donnes que nous manipulerons pour la suite du TP.

12

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

3 - Tablespaces et fichiers de donnes Oracle stocke les donnes logiquement dans les tablespaces et physiquement dans les fichiers de donnes. Un tablespace : - ne peut appartenir qu une seule base de donnes la fois, - est compos dun ou de plusieurs fichiers de donnes, - est divis en units logiques de stockage. Un fichier de donnes : - ne peut appartenir qu un tablespace et qu une seule base de donnes, - est un rfrentiel pour les donnes dobjet de schma. Types de tablespaces : Les tablespaces SYSTEM et UTILISATEUR. Cration dun tablespace : CREATE TABLESPACE Exemple : CREATE TABLESPACE userdata DATAFILE oracle/oradata/base1/userdata01.dbf SIZE 100 M AUTOEXTEND ON NEXT 5M MAXSIZE 200M ;

4 - Gestion des utilisateurs Ladministrateur de la base de donnes dfinit les noms des utilisateurs autoriss acceder la base de donnes. Un domaine de scurit dfinit les parametres qui s appliquent lutilisateur : - Ouotas de tablespaces - Tablespaces par dfaut - Tablespace temporaire - Verrouillage de compte - Limites relatives aux ressources - Privilges directs - Privilges de rle Cration dun utilisateur CREATE USER Exemple : CREATE USER toto IDENTIFIED BY to44to [ou IDENTIFIED BY EXTERNALY] DEFAUFT TABLESPACE data DEFAULT TEMPORARY TABLESPACE temp QUOTA 15M data PASSWORD EXPIRE ;

13

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

Privilges Systme : exemples Catgorie INDEX Exemples CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE

TABLE

SESSION

TABLESPACE

Ces privilges peuvent tre classs comme suit : privilges autorisant : - lexcution doprations sur lensemble du systme tels que CREATE SESSION, CREATE TABLESPACE. - la gestion dobjets dans un schma propre lutilisateur, tels que CREATE TABLE. - La gestion dobjets de nimporte quel schma, tels que CREATE ANY TABLE. Exemples : GRANT CREATE TABLE TO toto ; GRANT CREATE SESSION TO tata WITH ADMIN OPTION ; REVOKE CREATE TABLE FROM tata ;

Privilges objet : Cest un privilge ou droit autorisant dune action donne sur une table, une vue, une squence, une function ou un package spfique : ALTER, DELETE, EXECUTE, INDEX, INSERT, REFERENCES, SELECT, UPDATE. Exemples : GRANT UPDATE ON etudiant TO toto WITH GRANT OPTION ; WITH ADMIN OPTION / WITH GRANT OPTION Autorise le bnficiaire accorder ses privilges systme/objet dautres utilisateurs. Gestion simplifie et dynamique des privilges : les rles

14

Prpar par DAHANI Herman, www.dahani.net

Oracle 10g Database, administration de base de donne (niveau 1)

Au lieu daccorder les mmes privilges plusieurs utilisateurs, vous pouvez accorder les privilges un rle et associer ce rle chaque utilisateur. Exemples : CREATE ROLE analyste ; GRANT analyste TO etu1;

5 - Cration dune table. CREATE TABLE. Vous devez disposez du privilge system CREATE TABLE pour crer une table dans votre propre schma et du privilge CREATE ANY TABLE pour en crer dans le schma dun autre utilisateur. Exemple de scripts de cration : CREATE TABLE etudiant( etud_id NUMBER(6), etud_nom VARCHAR2(20), etud_prenom VARCHAR2(20), etud_classe VARCHAR2(10), B etud_moy NUMBER(2,2) ) PL/SQL STORAGE ( INITIAL 200K NEXT 200K PCTINCREASE 0 Oracle PL/SQL 1 MAXEXTENTS Ci-joint Introduction MINEEXTENTS, Guide (12 pages) 5 ) TABLES SPACES data ; TP :

6. PL/SQL Voir Documentation en annexe.

15

Prpar par DAHANI Herman, www.dahani.net

You might also like