Administration Oracle - 1 / 78 - I. Installation... 3

Documents pareils
Gestion des utilisateurs et de leurs droits

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.

Bases de données et sites WEB

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

Chapitre III Architecture de Base de Données Oracle

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

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

Bases de Données Avancées

TP11 - Administration/Tuning

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

1. Qu'est qu'un tablespace?

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

Auto-évaluation Oracle: cours de base

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

Administration des Bases de Données Oracle

TP Contraintes - Triggers

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

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

Du 10 Fév. au 14 Mars 2014

TP Administration Oracle

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

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

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

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

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

PREPARATION AU PTI SGBD

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

Administration des bases de données relationnelles Part I

Administration de Base de Données Notes de cours

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

Oracle : Administration

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

et Groupe Eyrolles, 2006, ISBN :

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

Oracle 10g Administration +

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

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

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

Le Langage De Description De Données(LDD)

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

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

Introduction aux SGBDR

et Groupe Eyrolles, 2006, ISBN :

Master Exploration Informatique des données DataWareHouse

Département Informatique de l Institut Universitaire de Technologie de l Université Bordeaux 1 Bases de Données Oracle : administration (cours)

Olivier Mondet

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

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

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

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Oracle Maximum Availability Architecture

3. La SGA ou System global Area

Installation FollowMe Q server

Installation des moteurs SQL Pour Micro-SESAME

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

Proce dure Installation Cluster de basculement SQL Server 2005

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

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

WDpStats Procédure d installation

Préparer la synchronisation d'annuaires

Symantec Backup Exec Remote Media Agent for Linux Servers

CHAPITRE 1 ARCHITECTURE

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

Oracle Database 11g: Administration Workshop I Release 2

Tutorial sur SQL Server 2000

Description de SQL SERVER. historique

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Bases de données et sites WEB Licence d informatique LI345

Guide de déploiement

Veeam Backup and Replication

STATISTICA Version 12 : Instructions d'installation

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

Oracle 11g - Dataguard

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

Présentation du SC101

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

Fascicule des Travaux Pratiques Oracle

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

Création et Gestion des tables

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

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

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

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

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

Mise en oeuvre TSM 6.1

Cours de SQL SERVER 2005 SQL SERVER 2005

Guide de démarrage rapide Express

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

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

Présentation de l'outil RMAN d'oracle

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

Assistance à distance sous Windows

Oracle Database SQL Developer Guide D'Installation Release 4.0 E

Rootkits sous Oracle

I. MySQL : Serveur et SGBD

Data Tier Application avec SQL Server 2008 R2

Transcription:

Administration Oracle - 1 / 78 - Sommaire I. Installation... 3 A. Nouveautés de la version 9.2... 3 B. Problème lié à l'installation de la version 8i sur les processeurs Intel P4.... 3 C. Traces ( Logs) liées à l'installation... 3 D. Installation de la version XE 10g... 3 E. Installation de la version 9.2... 6 II. La console d'administration Enterprise Manager... 15 A. Les comptes...15 B. Connexion...15 III. Gestion de l'instance... 17 A. Les fichiers de configuration...17 B. Configuration de l'instance...17 C. Gestion du listener...17 D. Les paramètres de l'instance dans la console d'administration...17 E. L'organisation de la mémoire...19 F. Les sessions...20 G. Les plans de ressources...21 H. Les services...23 I. Le gestionnaire de tâches...24 J. L'observateur d'événements...25 K. L'analyseur de performances...26 IV. Dictionnaire de données... 28 A. Principe...28 B. Principales vues du dictionnaire de données...28 C. Exercices...32 V. Le stockage... 33 A. Les niveaux...33 B. Le niveau physique...34 C. Bloc de données ou page...36 D. Extension (ou extent) et segment...36 E. Tablespace...38 F. Statistiques...41 G. Exercices...41 VI. Gestion des utilisateurs et des droits... 42 A. Vue d'ensemble...42 B. Les profils...42 C. Les privilèges...44 D. Création, modification et suppression d'un rôle...48 E. Création d'un utilisateur de la base...51 F. Création d'un utilisateur et affectation des privilèges en mode graphique...52 G. Exercices...56 Les verrous... 58 H. Les transactions...58 I. Le besoin d'intégrité...58 J. Les contraintes d'intégrité...58 K. Illustration des verrous...58 L. Séquence de verrouillage...58 M. Les dead-locks ou les verrous de famine...58 N. Contrôle de verrouillage...58

Administration Oracle - 2 / 78 - O. Verrouillage explicite et implicite...59 P. Les types de verrouillage...59 Q. Les modes de verrouillage...59 R. Compatibilité entre les modes de verrouillage...59 VII. Index et clusters... 60 A. Les types de structure...60 B. La création des index...60 C. Les clusters...60 D. Exercices...60 VIII. La sauvegarde... 61 A. L'export avec EXP...61 B. L'import avec IMP...61 IX. Console d'administration de la version XE 10g... 62 A. Accès à l'interface d'administration...62 B. L'authentification...62 C. Information sur les tablespaces...63 D. Gestion de la mémoire : SGA et PGA...65 E. La gestion des utilisateurs...66 F. État de l'instance...68 G. Création des tables et autres objets...71 H. Interpréteur SQL...71 I. Import / Export...72 X. Annexe 1 : le fichier init.ora... 74 A. Version 9.2...74 B. Version Xe 10g...75 XI. Annexe 2 : Oracle pour Netware... 77 A. Démarrer le service...77 B. Console d'administration...77 XII. Documentation... 78

Administration Oracle - 3 / 78 - I. Installation A. Nouveautés de la version 9.2 Prise en charge de la gestion mémoire VLM (Very Large Memory) qui permet d'adresser plus de 8 Go de Ram pour les versions Windows Advanced Server et plus de 64 Go pour les versions Windows DataCenter Server. Prise en charge des plates-formes Windows XP. Toutefois, bon nombre de composants ne sont pas pris en charge sur cette plate-forme (Oracle 9i - Database Installation Guide - p 2.9 / 59) Mémoire physique minimale : 128 Mo Mémoire physique recommandée : 256 Mo Place disque occupée : 2.85 Go pour la version Enterprise B. Problème lié à l'installation de la version 8i sur les processeurs Intel P4. Sur les plates-formes Intel P4, pensez à renommer le fichier symcjit.dll en symcjit.dll.old. C. Traces ( Logs) liées à l'installation Les traces sont stockées dans le répertoire c:\program Files\Oracle\Inventory\logs\installActionsxxx.log, où xxx représente la date de l'installation. D. Installation de la version XE 10g Beaucoup moins lourde, cette version est un ersatz. Elle dispose des principales fonctionnalités sans se comporter pour autant comme un véritable moteur, tel qu'il peut être déployé en entreprise.

Administration Oracle - 4 / 78 - L'installation prend 10 à 20 minutes. Il faut, à l'instar de sa grande soeur, choisir le répertoire où seront stockées les données. Un peu plus de 1 Go. Contrairement à la version "complète", le même mot de passe s'applique aux deux comptes "Administrateur".

Administration Oracle - 5 / 78 - Le résumé... Vous pouvez toujours Revenir En arrière (Back). C'est parti mon kiki! A la fin de l'installation, vous pouvez charger la base de données.

Administration Oracle - 6 / 78 - E. Installation de la version 9.2 A partir du Cd1, double-cliquez sur le programme setup.exe. Vous devez entrer un nom qui représente votre instance (installation Oracle). Il faut disposer de 3 Go de place disponible pour l'ensemble des programmes et des bases d'exemple. Ajoutez 140 Mo pour les fichiers liés à l'installeur.

Administration Oracle - 7 / 78 - Cette installation nous permet de disposer d'une copie d'oracle. Vous pouvez visualiser toutes les différences entre les versions sur le site Internet d'oracle.

Administration Oracle - 8 / 78 - Le choix de la configuration en mode "universel" offre le plus large spectre d'utilisation. Le service DTC fournit par Microsoft doit s'exécuter.

Administration Oracle - 9 / 78 - Le service Oracle MTS Recovery Service permet de gérer les transactions. Notez bien le SID (l'identificateur de la base de données).

Administration Oracle - 10 / 78 - Vous devez indiquer l'emplacement de stockage des fichiers. Le jeu de caractères est celui de la plate-forme utilisée.

Administration Oracle - 11 / 78 - Le résumé... L'installation peut Commencer. Vous en avez entre 20 et 50 minutes selon la puissance de votre machine.

Administration Oracle - 12 / 78 - Différence avec les version précédentes : vous devez fournir les mots de passe des utilisateurs SYS et SYSTEM. L'utilisateur INTERNAL n'existe plus. Le serveur Apache est installé et automatiquement lancé.

Administration Oracle - 13 / 78 - Sur mon P4, l'installation a bien mis 50 minutes. La variable PATH de votre environnement Windows est modifiée. Neuf services, au total, ont été installés.

Administration Oracle - 14 / 78 - La mémoire consommée par l'instance Oracle représente une quantité inférieure à 120 Mo.

Administration Oracle - 15 / 78 - II. La console d'administration Enterprise Manager A. Les comptes INTERNAL internal (version antérieure à 9.0.1) SYS change_on_install (le mot de passe est à saisir depuis la version 9.2) SYSTEM manager (le mot de passe est à saisir depuis la version 9.2) SCOTT tiger cn=orcladmin welcome (services Internet Directory) B. Connexion Pour accéder à la console d'administration, choisissez Programmes Òracle - OraHome92 Enterprise Manager Console. Choisissez Lancer en mode autonome pour vous connecter en mode local. Entrez votre compte utilisateur et le mot de passe associé. Pour vous disposer de tous les droits, connectezvous en SYSDBA. La console d'administration vous présente une vue hiérarchique.

Administration Oracle - 16 / 78 -

Administration Oracle - 17 / 78 - III. Gestion de l'instance A. Les fichiers de configuration Ils sont stockés dans le répertoire ORACLE_BASE\ORACLE_HOME\network\admin. listener.ora Configuration du service d'écoute (listener) sqlnet.ora Détermine le mode d'authentification tnsnames.ora Configuration des technologies clientes (Tns : Transparent Network Substrate) B. Configuration de l'instance Le fichier de configuration de l'instance est stocké dans ORACLE_BASE\admin\SID\pfile\init.ora.mmaaaahhmmss. Vous trouverez en annexe un exemple de contenu de ce fichier. C. Gestion du listener Le gestionnaire du service d'écoute est la commande lsnrctl. A l'aide de la commande HELP, vous pouvez démarrer (start), arrêter (stop) ou recharger (reload). Vous pouvez aussi passer par la console Windows services.msc. D. Les paramètres de l'instance dans la console d'administration Le mode restreint est un mode qui permet la connexion uniquement aux utilisateurs possédant le privilège système RESTRICTED SESSION. Il ne s'applique pas aux utilisateurs déjà connectés. Le mode Archivelog permet la sauvegarde continue de la base.

Administration Oracle - 18 / 78 - Vous pouvez visualiser la valeur des paramètres de l'instance à partir du bouton Tous les paramètres d'initialisation. Ainsi que ceux initialisés dans le fichier SPFILE.

Administration Oracle - 19 / 78 - Lorsque vous activez le mode ARCHIVELOG, vous pouvez configurer le répertoire d'archivage ainsi que le mode "récupération automatique". A partir de l'onglet Annuler, vous pouvez déterminer la durée de conservation de l'ensemble des segments d'annulation. E. L'organisation de la mémoire Code applicatif Outils Oracle Sql*Plus,... SGA ou System Global Aera Zone Pool partagée Database Buffer Cache

Administration Oracle - 20 / 78 - Redo Log Buffer Informations liées au verrouillage Informations liées au dictionnaire de données PGA ou Program Global Aera Processus SGBD : background process Processus Utilisateurs L'onglet Mémoire vous permet de visualiser la mémoire consommée par le système (SGA System Global Area) et par les applications (PGA Programmes Global Area). F. Les sessions 1. Suppression d'une session utilisateur a) La commande ALTER SYSTEM ALTER SYSTEM KILL SESSION 'sid,n série' sid: numéro de session utilisateur n série:numéro de série de la session sont contenus dans la vue V$SESSION b) Exemple: SELECT sid,serial#,username FROM v$session WHERE username = denis ; Si la commande précédente donne la combinaison 34,56, alors vous pouvez détruire la session de la manière suivante : ALTER SYSTEM KILL SESSION `12,97' La déconnexion est immédiate. Mais la liste est mise à jour dès que l'utilisateur tente d'exécuter une commande SQL ou PL/SQL dans son environnement de session.

Administration Oracle - 21 / 78-2. En mode graphique L'ensemble des utilisateurs connectés est visible à partir de Instance Sessions. G. Les plans de ressources Pour créer un groupe de consommateurs de ressources, allez dans Instance Groupes de consommateurs de ressources.

Administration Oracle - 22 / 78 - Afin d'évaluer les ressources utilisées par un groupe d'utilisateur et/ou un utilisateur, vous pouvez activer un plan de ressources. Cochez la case Active le plan en bas à gauche de l'onglet Général. Vous pouvez aussi planifier l'exécution du plan de ressources afin de ne pas pénaliser le fonctionnement de l'instance.

Administration Oracle - 23 / 78 - Pour surveiller les ressources utilisées par le Groupe et/ou l'utilisateur, allez dans Surveillance des ressources. H. Les services

Administration Oracle - 24 / 78 - I. Le gestionnaire de tâches

Administration Oracle - 25 / 78 - J. L'observateur d'événements

Administration Oracle - 26 / 78 - K. L'analyseur de performances

Administration Oracle - 27 / 78 -

Administration Oracle - 28 / 78 - IV. Dictionnaire de données A. Principe Le dictionnaire de données est un ensemble de vues stockées dans le tablespace system. Elles sont produites en temps réel dès que des modifications sont apportées sur les schémas de la base. B. Principales vues du dictionnaire de données 1. Quelques vues liées aux objets appartenant à l'utilisateur USER_AUDIT_OBJECT USER_AUDIT_SESSION USER_AUDIT_STATEMENT USER_CATALOG USER_CLUSTERS USER_CLU_COLUMNS USER_COL_COMMENTS USER_COL_GRANTS USER_COL_GRANTS_MADE USER_CONSTRAINTS USRER_CONS_COLOMNS USER_DB_LINKS USER_DEPENDENCIES USER_ERRORS USER_EXTENTS USER_FREE_SPACE USER_IND_COLUMNS trace des commandes exécutées sur des objets appartenant à l'utilisateur (nom d'utilisateur, nom de l'objet manipulé, nom de la commande, heure, résultat de la commande, etc.). trace des connexions et déconnexions de l'utilisateur (nom d'utilisateur, heure de connexion, heure de déconnexion, numéro de session, code retour, etc.). trace d'exécution des commandes suivantes : GRANT, REVOKE, AUDIT, NOAUDIT et ALTER SYSTEM (informations similaires à celles de la vue précédente). liste des tables, vues, synonymes et séquences appartenant à l'utilisateur (nom et type d'objet). Synonyme=CAT liste des clusters de l'utilisateur (nom et type du cluster et paramètres de stockage). Synonyme=CLU description de la correspondance entre colonnes d'une table et colonnes d'un cluster (nom du cluster, nom de la colonne du cluster, nom de la table, nom de la colonne de la table). liste des commentaires relatifs aux colonnes des tables et vues de l'utilisateur (nom de table, nom de colonne, commentaires). liste d'autorisations sur les colonnes pour lesquelles l'utilisateur est le propriétaire ou ayant donné ou reçu l'autorisation (nom de table, nom de colonne, propriétaire de la colonne, type d'autorisation, nom d'utilisateur ayant attribué l'autorisation,...). liste des autorisations attribuées par cet utilisateur sur les colonnes des tables ou vues lui appartenant (nom de table ou vue, nom de colonne, nom d'utilisateur autorisé, type d'autorisation, possibilité de transmission de l'autorisation). liste des contraintes définies sur les tables de l'utilisateur. liste des colonnes intervenant dans la définition des contraintes sur les tables de l'utilisateur. liste des liens de base de données créés par l'utilisateur. liste des dépendances entre tables ou vues et procédures, packages, fonctions ou corps de packages. liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de packages. liste des extensions des segments appartenant à l'utilisateur. description des extensions libres dans les tablespaces accessibles à l'utilisateur. liste des colonnes des index définis sur les tables de l'utilisateur.

Administration Oracle - 29 / 78 - USER_INDEXES USER_OBJECTS USER_RESOURCE_LIMITS USER_ROLE_PRIVS USER_SEGMENTS USER_SEQUENCES USER_SOURCE USER_SNAPSHOTS USER_SNAPSHOT LOGS USER_SYNONYMS USER_SYS_PRIVS USER_TAB_COLUMNS USER_TAB_COMMENTS USER_TAB_GRANTS USER_TAB_GRANTS MADE USER_TAB_GRANTS_RECD USER_TABLES USER_TABLESPACES USER_TRIGGERS USER_TS_QUOTAS USER_USERS USER_VIEWS DICTIONARY DICT_COLUMNS CONSTRAINT_DEFS CONSTRAINT_COLUMNS AUDIT_ACTIONS DUAL liste des index créés par l'utilisateur. Synonyme=IND liste des objets appartenant à l'utilisateur (nom, identifiant, type, date de création, date de dent modification de l'objet). Synonyme=OBJ description des valeurs limites des ressources pour cet utilisateur. liste des râles attribués à cet utilisateur. description des paramètres de stockage des segments. liste des séquences créées par l'utilisateur. Synonyme=SEQ texte du source des procédures, packages, fonctions ou corps de packages créés par l'utilisateur liste des snapshots (copies de tables) créés par l'utilisateur. liste des snapshots logs créés par l'utilisateur. liste des synonymes privés de l'utilisateur. Synonyme=SYN liste des privilèges système attribués à cet utilisateur. liste des colonnes des tables, vues ou clusters créés par l'utilisateur. Synonyme=COLS liste des commentaires relatifs aux tables et vues de l'utilisateur. liste d'autorisations sur les tables et vues pour lesquelles l'utilisateur est le propriétaire ou ayant donné ou reçu l'autorisation. liste des autorisations sur les objets appartenant à l'utilisateur. liste des objets pour lesquels l'utilisateur a reçu une autorisation. liste des tables créées par l'utilisateur. Synonyme=TABS liste des tablespaces accessibles à cet utilisateur. liste des triggers créés par l'utilisateur. description des quotas de l'espace des tablespaces attribués à l'utilisateur. informations générales relatives à cet utilisateur. liste des vues créées par l'utilisateur. liste de toutes les tables, vues et synonymes du dictionnaire. description des colonnes des objets du dictionnaire qui sont accessibles à l'utilisateur. liste des définitions de contraintes relatives aux tables accessibles à l'utilisateur. liste des colonnes référencées dans les contraintes relatives aux tables accessibles à l'utilisateur. liste des opérations pouvant être auditées. c'est une table vide ayant une seule colonne qui peut être utilisée pour certains besoins de programmation (de moins en moins). 2. Les vues relatives aux objets sur lesquels l'utilisateur est un ayant-droit ALL_CATALOG ALL_COL_COMMENTS ALL_COL_GRANTS ALL_COL_GRANTS_MADE liste de toutes les tables, vues, synonymes et séquences accessibles à l'utilisateur. liste des commentaires relatifs aux colonnes des tables et vues accessibles à l'utilisateur. liste des colonnes pour lesquelles l'utilisateur est autorisé à accéder. liste des autorisations sur les colonnes pour lesquelles l'utilisateur est propriétaire ou ayant attribué l'autorisation.

Administration Oracle - 30 / 78 - ALL_CONSTRAINTS ALL_CONS_COLOMNS ALL_DB_LINKS ALL_DEPENDENCIES ALL_ERRORS ALL_IND COLUMNS ALL_INDEXES ALL_OBJECTS ALL_SEQUENCES ALL_SOURCE ALL_SNAPSHOTS ALL_SYNONYMS ALL_TAB COLUMNS ALL_TAB COMMENTS ALL_TAB_GRANTS ALL_TAB GRANTS MADE ALL_TAB_GRANTS_RECD ALL_TABLES ALL_TRIGGERS ALL_USERS liste des contraintes définies sur les tables accessibles à l'utilisateur. liste des colonnes intervenant dans la définition des contraintes sur les tables accessibles à l'utilisateur. liste des liens de base de données accessibles à l'utilisateur. liste des dépendances entre tables ou vues et procédures, packages, fonctions ou corps de packages. liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de packages. liste des colonnes des index définies sur les tables accessibles à l'utilisateur. liste des index sur les tables accessibles à l'utilisateur. liste des objets accessibles à l'utilisateur (nom, identifiant, type, date de création, date de dernière modification de l'objet). liste des séquences accessibles à l'utilisateur. texte du source de toutes les procédures, packages, fonctions ou corps de packages. Liste des snapshots (copies de tables) accessibles à l'utilisateur. liste des synonymes accessibles à l'utilisateur. liste des colonnes des tables, vues ou clusters accessibles à l'utilisateur. liste des commentaires relatifs aux tables et vues accessibles à l'utilisateur. liste d'autorisations sur les tables et vues pour lesquelles l'utilisateur est autorisé (explicitement ou à travers PUBLIC). liste des autorisations attribuées ou reçues par l'utilisateur. liste des objets pour lesquels l'utilisateur a reçu une autorisation. liste des tables accessibles à l'utilisateur. liste des triggers accessibles à l'utilisateur. informations générales relatives à tous les utilisateurs. ALL_VIEWS liste des vues accessibles à l'utilisateur. 3. Les vues accessibles aux administrateurs DBA_2PC_PENDING DBA_2PC_NEIGHBORS DBA_AUDIT_EXISTS DBA_AUDIT_OBJECT DBA_AUDIT_SESSION DBA_CATALOG DBA_CLUSTERS DBA_CLU_COLUMNS DBA_COL_COMMENTS DBA_COL_GRANTS DBA_CONSTRAINTS liste des transactions réparties ayant échoué lors de la phase de préparation. informations sur les connexions vers ou à partir de bases distantes pour les traitements des transactions réparties. trace de la commande AUDIT EXISTS. trace des commandes exécutées sur tous les objets de la base. trace des connexions et déconnexions de tous les utilisateurs. liste des tables, vues synonymes et séquences de la base. liste des clusters de la base. description de la correspondance entre colonnes d'une table et colonnes d'un cluster (nom du cluster, nom de la colonne du cluster, nom de la table, nom de la colonne de la table). liste des commentaires relatifs aux colonnes des tables et vues de la base (nom de table, nom de colonne, commentaires). liste des autorisations sur toutes les colonnes de la base. liste de toutes les contraintes définies sur les tables.

Administration Oracle - 31 / 78 - DBA_CONS_COLOMNS DBA_DATA_FILES DBA_DB_LINKS DBA_DEPENDENCIES DBA_ERRORS DBA_EXP_FILES DBA_EXP_OBJECTS DBA_EXP_VERSION DBA_EXTENTS DBA_FREE_SPACE DBA_IND_COLUMNS DBA_INDEXES DBA_OBJ AUDIT_OPTS DBA_OBJETS DBA_PROFILES DBA_ROLE GRANTS DBA_ROLES DBA_ROLLBACK_SEGS DBA_SEGMENTS DBA_SEQUENCE DBA_SOURCE DBA_SNAPSHOT DBA_SNAPSHOT_LOGS DBA_SYNOMYMS DBA_SYS_GRANTS DBA_TAB_COLUMNS DBA_TAB_COMMENTS DBA_TAB GRANTS DBA_TABLES DBA_TABLESPACES DBA_TRIGGERS DBA_TS_QUOTAS DBA_USERS DBA_VIEWS 4. Les vues liées au suivi des performances V$ACCESS V$BGPROCESS V$DATABASE liste des colonnes intervenant dans la définition de toutes les contraintes de la base. liste de tous les fichiers de données de la base. liste de tous les liens de base de données. liste des dépendances entre toutes les tables ou vues et les procédures, packages, fonctions ou corps de package de la base. liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de package de la base. description des fichiers d'exportation. description des objets ayant été exportés d'une façon incrémentale. numéro de version de la dernière session d'exportation. liste des extensions de tous les segments de la base. description des extensions libres dans tous les tablespaces de la base. liste des colonnes de tous les index définis sur les tables de la base. liste de tous les index dans la base. liste des options d'audit pour toutes les tables et vues de la base. liste de tous les objets contenus dans la base. liste des profils attribués aux utilisateurs. liste des rôles attribués aux utilisateurs et à d'autres rôles. liste de tous les rôles dans la base. liste des segments d'annulation de la base. description des paramètres de stockage de tous les segments de la base. liste de toutes les séquences contenues dans la base. texte du source des procédures, packages, fonctions ou corps de package dans la base. liste de tous les snapshots (copies de tables) dans la base. liste de tous les snapshots logs dans la base. liste de tous le synonymes dans la base. liste des privilèges système attribués aux utilisateurs et aux rôles. liste des colonnes des tables, vues ou clusters dans la base. liste des commentaires relatifs à toutes les tables et vues de la base. liste d'autorisations sur tous les objets de la base. liste de toutes les tables de la base. liste de tous les tablespaces de la base. liste de tous les triggers de la base. description des quotas de l'espace des tablespaces attribués aux utilisateurs. informations générales relatives à tous les utilisateurs. description (texte) de toutes les vues de la base. liste des objets verrouillés actuellement. description de l'activité des processus d'arrière plan. description de la base de données à partir du fichier de contrôle.

Administration Oracle - 32 / 78 - V$DATAFILE V$DISPATCHERS C. Exercices description des fichiers de données à partir du fichier de contrôle. description de l'activité des processus dispatchers. 1. Question 1 SELECT * FROM TAB; SELECT * FROM SYS.TAB; SELECT TNAME FROM SYS.CATALOG WHERE CREATOR='SCOTT'; SELECT * FROM CAT; SELECT * FROM USER_CATALOG; 2. Question 2 SELECT COLUMN_NAME,TABLE_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME IN ( SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS GROUP BY COLUMN_NAME HAVING count(column_name)>1 ); 3. Question 3 SELECT USERNAME FROM ALL_USERS WHERE USERNAME NOT IN (SELECT DISTINCT OWNER FROM ALL_OBJECTS) SELECT USERNAME FROM ALL_USERS MINUS SELECT DISTINCT OWNER FROM ALL_OBJECTS

Administration Oracle - 33 / 78 - V. Le stockage A. Les niveaux Le niveau physique (les fichiers) Le niveau logique (tablespaces, segments d'annulation, extensions et pages) Le niveau externe (les tables)

Administration Oracle - 34 / 78 - B. Le niveau physique 1. Les fichiers de Données Ils contiennent tous les objets utilisateurs ainsi que le dictionnaire de données.

Administration Oracle - 35 / 78-2. Les fichiers de reprise Ils contiennent toutes les mises à jour les plus récentes : c'est le flux. Ce sont des fichiers qui consignent les modifications effectuées dans les bases et les fichiers de contrôle. 3. Les fichiers de contrôle Ils consignent tous la structure des fichiers utilisés au niveau de l'instance. Par défaut, ces fichiers sont au nombre de trois

Administration Oracle - 36 / 78 - C. Bloc de données ou page 1. Définition C'est la plus petite unité logique d'e/s. Elle est déterminée par la directive DB BLOCK SIZE dans le fichier d'initialisation (INIT.ORA). Ce paramètre est fixé à la création de la base. 2. Les paramètres de gestion des blocs PCTFREE pourcentage d'espace réservé pour de futures modifications (10% par défaut) PCTUSED pourcentage d'espace à partir duquel le bloc est de nouveau candidat pour l'insertion (40% par défaut) Remarque;PCTFREE +PCTUSED<=100% INITRANS nombre d'entrée de transactions initialement alloués dans l'entête du bloc. MAXTRANS nombre maximum de transactions pouvant accéder simultanément au bloc. 3. Blocs et statistiques ANALYZE type_objet [schéma].objet COMPUTE STATISTICS /ESTIMATE [ SAMPLE entier ROWS/PERCENT] STATISTICS /DELETE STATISTICS /LIST CHAINED ROWS [INTO [schéma].table] Le type_objet ou l'objet peut être : table, index ou cluster D. Extension (ou extent) et segment a) Spécifier la taille des tables CREATE TABLE dept (deptno NUMBER(2),

Administration Oracle - 37 / 78 - dname VARCHAR2(14), loc VARCHAR2(13) ) STORAGE ( INITIAL 40K NEXT 40K MINEXTENTS 1 MAXEXTENTS 50 PCTINCREASE 5 ); b) Libérer la place inoccupée ALTER TABLE department deallocate unused; SELECT * from dba_free_space where tablespace_name='users' 2. Extension Elle désigne une unité logique d'allocation d'espace composée d'un ensemble contigu de blocs de données ou pages alloué à un segment. 3. Segment C'est l'ensemble d'une ou de plusieurs extensions contenant les données d'un objet; il ne peut pas s'étendre, de façon générale, sur plus d'un tablespace sauf dans le cas d'un objet partitionné. 4. Gestion des extensions et segments Une extension est allouée quand le segment est créé (INITIAL EXTENT) ou quand le segment croît (NEXT EXTENT). Une extension est libérée quand le segment est supprimé ou la commande TRUNCATE est utilisée. 5. Paramètres de gestion des extensions Ces paramètres peuvent être positionnés sur les tables, clusters, indexes, rollback segments et tablespaces; quand ils ne sont pas spécifiés les valeurs par défaut du serveur sont utilisées. INITIAL: taille en octets de la 1ère extension allouée à un bloc; la valeur par défaut équivaut à 5 blocs. NEXT: taille en octets de l'extension suivante allouée à un bloc; la équivaut à 5 blocs. MAXEXTENTS; valeur par défaut: 121 MINEXTENTS ; valeur par défaut: 1 PCTINCREASE: la valeur par défaut est de 50% 6. Types de segments a) Les segments de données Ils contiennent les données des tables et des clusters. b) Les segments d'index Ils contiennent les données relatives aux index. c) Les segments temporaires Ils sont utilisées lors des opérations de jointures, distinct, group by, Le tablespace utilisé en l'absence du tablespace temp est le table Space system. d) Les segments d'amorçage (bootstrap) Ils contiennent les définitions du dictionnaire de données.

Administration Oracle - 38 / 78 - e) Les segments d'annulation Le segment d'annulation (ou rollback segment) contient les données avant qu'elles soient modifiées par la transaction qui les manipule (images avant); à une transaction correspond un seul rollback segment. C'est une partie du tablespace. Pour créer un segment d'annulation : CREATE ROLLBACK segment rollback_segment1 tablespace users / alter rollback segment rollback_segment1 online / set transaction use rollback segment rollback_segment1 / E. Tablespace 1. Définition C'est l'ensemble d'unités logiques composant la base. Il regroupe un ensemble d'objets logiques. Chaque objet logique est associé à un et un seul tablespace ). Pour plus d'efficacité, il permet de regrouper les objets logiques d'une même application. Il peut être constitué d'un ou de plusieurs fichiers. Il Peut être activé (on line) ou désactivé (off line) 2. Les tablepsaces Le tablespace désigne la représentation interne à Oracle du système de stockage. Dans l'installation en mode

Administration Oracle - 39 / 78 - universel, un certain nombre de tablespace préexiste. Certains sont nécessaires : TEMP, SYSTEM, UNDOTBS. D'autres liés à des modules. CWMLITE CWMLITE01.DBF Tablepsace relatif au système OLAP DRSYS Drsys01.dbf Objets relatifs au module Oracle Text EXAMPLE EXAMPLE01.DBF Exemple INDX indx01.dbf Stockage des index associés aux tables du tablepsace USERS ODM ODM01.DBF Espace lié aux objets ODM et ODM_MTR TEMP Temp01.dbf Espace utilisé pour le stockage des index et tables générés par l'exécution d'ordres SQL utilisant les clauses GROUP BY, ORDER BY ou DISTINCT TOOLS Tools01.dbf Utilisé en cas d'installation d'outils et de composants Supplémentaires Oracle. SYSTEM System01.dbf Espace utilisé par le dictionnaire de données UNDOTBS UNDOTBS01.DBF Espace dédié au stockage des données lorsque la base s'exécute en mode "automatic undo management mode" USERS Users01.dbf Espace de stockage pour les tables des utilisateurs XDB xdb01.dbf Stockage des métadata et data liées à Oracle XML DB Lorsque que le tablespace est "hors ligne", les objets stockés dans ce tablespace ne sont plus accessible. Le mode "Journalisation" permet rapidement de récupérer les données automatiquement.

Administration Oracle - 40 / 78 - La mise hors ligne du fichier a les mêmes conséquences que celle relative au tablespace. Vous pouvez déplacer ou renommer les fichiers qui composent l'espace logique de stockage. Par défaut, les fichiers sont en mode de croissance automatique 3. Création d'un tablespace a) Syntaxe CREATE TABLESPACE nom_tablespace DATAFILE spécif fichier {, spécif fichier} [DEFAULT STORAGE (spécif stockage)] [ONLINE / OFFLINE] [PERMANENT / TEMPORARY] spécif fichier: `nom_de_fichier' [SIZE entier] [REUSE] spécif stockage: INITIAL entier [KIM] /*taille du ter extent devant être alloué pour l'objet */ NEXT entier [KIM] /*taille du prochain extent */ MINEXTENTS /* nombre total d'extents alloués quand le segment est créé; défaut:1 */ MAXEXTENTS /* nombre total d'extents que le serveur peut allouer pour l'objet; défaut:121 */ PCTINCREASE /* pourcentage d'accroissement d'un nouvel extent; défaut:50% */ b) Exemple CREATE TABLESPACE paie DATAFILE "d:\paie.dbf" SIZE 2M ; 4. Modification ALTER TABLESPACE nom tablespace ADD DATAFILE spécif fichier {, spécif fichier} /RENAME nom_de_fichier[s] TO nom_de_fichier[s] [DEFAULT STORAGE (spécif stockage)] /* nouveau paramètre pour les nouveaux objets */ [ONLINE / OFFLINE] [PERMANENT / TEMPORARY]

Administration Oracle - 41 / 78-5. Suppression DROP TABLESPACE nom tablespace [1NCLUDING CONTENTS] /* supprime tout le contenu du tablespace; clause obligatoire si le tablespace contient encore des données */ [CASCADE CONSTRAINTS] /* supprime toutes les contraintes d'intégrité référentielle */ 6. Redimensionnement manuel de la base de données ALTER DATABASE DATAFILE `nom de fichier' RESIZE entier [K M] F. Statistiques Les statistiques sur les champs apparaissent dans les vues du dictionnaire de données suivantes : USER_TAB_COLUMNS, ALL_TAB_COLUMNS, DBA_TAB_COLUMNS. Les histogrammes apparaissent dans les vues du dictionnaire de données suivantes : USER_HISTOGRAMS, DBA_HISTOGRAMS, ALL_HISTOGRAMS. SELECT * FROM INDEX_STATS; ANALYZE TABLE DEPARTMENT COMPUTE STATISTICS; ANALYSE table DEPARTMENT validate structure CASCADE L'exécution de la commande alimente la vue INDEX_STATS. G. Exercices 1. Question 1 grant select any table to login_utilisateur select tablespace_name from sys.dba_tablespaces / 2. Question 2 select FILE_name,tablespace_name from sys.dba_data_files 3. Question 3 CREATE TABLESPACE tbs_test datafile 'c:\oracle\oradata\ora\data.dbf' size 2M autoextend on / 4. Question 4 alter tablespace tbs_test add datafile 'c:\oracle\oradata\ora\test.dbf' size 1M autoextend on / alter tablespace tbs_test online / 5. Question 5 create table matable (texte varchar(500)) pctused 20 pctfree 80 storage(pctincrease 0) TABLESPACE tbs_test / 6. Question 6 select table_name,pct_free,pct_used from tabs where table_name not like '%$%' / 7. Question 7 select table_name,index_name from user_indexes where table_name='department' / alter index i_department$department_id rebuild tablespace tbs_test / 8. Question 8 # Take the non-system tablespace that contains the datafiles offline. # Copy the datafiles to the new location or new names using the operating system. # Make sure that the new, fully specified filenames are different from the old filenames. # Use the SQL command ALTER TABLESPACE with the RENAME DATAFILE option to change the filenames within the database.alter tablespace tbs_test offline / alter tablespace tbs_test rename datafile 'c:\oracle\oradata\ora\data.dbf' to 'c:\oracle\oradata\ora\data1.dbf' /

Administration Oracle - 42 / 78 - VI. Gestion des utilisateurs et des droits A. Vue d'ensemble B. Les profils 1. Définition Les profils déterminent les caractéristiques des sessions. 2. Syntaxe ALTER SYSTEM SET RESOURCE LIMIT = TRUE / FALSE 3. Ressources Ressource SESSIONS PER USER CPU PER SESSION CPU PER CALL CONNECT TIME IDLE TIME LOGICAL READ PER SESSION LOGICAL READ PER CALL COMPOSITE LIMIT PRIVATE SGA Description nombre maximal de sessions concurrentes autorisées temps CPU maximal par session en centième de sec. temps CPU maximal pour un appel noyau temps de connexion écoulé exprimé en minutes temps d'inactivité continue exprimé en minutes nombre maximal de blocs de données lus par session nombre maximal de blocs de données lus par appel coût total des ressources pour une session taille maximale (en K ou M) allouée à la SGA (MTS) 4. Création et modification d'un profil: CREATE / ALTER PROFILE n o m d u p r o f i l LIMIT { r e s s o u r c e e n t i e r / UNLIMITED / DEFAULT}

Administration Oracle - 43 / 78-5. Suppression d'un profil: DROP PROFILE nom_du_profil [CASCADE] CASCADE permet de supprimer le profil pour tous les utilisateurs concernés et de leur affecter le profil DEFAULT. 6. Exemple d'utilisation d'un profil a) Création CREATE PROFILE "DBA" LIMIT CPU_PER_SESSION UNLIMITED CPU_PER_CALL UNLIMITED CONNECT_TIME UNLIMITED IDLE_TIME UNLIMITED SESSIONS_PER_USER UNLIMITED LOGICAL_READS_PER_SESSION UNLIMITED LOGICAL_READS_PER_CALL UNLIMITED PRIVATE_SGA UNLIMITED COMPOSITE_LIMIT UNLIMITED FAILED_LOGIN_ATTEMPTS UNLIMITED PASSWORD_LOCK_TIME UNLIMITED PASSWORD_GRACE_TIME UNLIMITED PASSWORD_LIFE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED PASSWORD_REUSE_TIME UNLIMITED PASSWORD_VERIFY_FUNCTION NULL b) Modification ALTER PROFILE "DEFAULT" LIMIT SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS 3; c) Affectation CREATE USER "ANPROG" PROFILE "DEFAULT" IDENTIFIED BY "anprog" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT "CONNECT" TO "ANPROG"; 7. Utilisation du mode graphique Le profil DEFAULT s'applique par défaut à tous les utilisateurs.

Administration Oracle - 44 / 78 - Ce profil peut être modifié. Vous pouvez régler les stratégies de mot de passe. Le bouton Afficher SQL vous permet de voir l'ordre SQL correspondant. C. Les privilèges 1. Les privilèges système System Privilege ALTER ANY CLUSTER ALTER ANY INDEX ALTER ANY PROCEDURE ALTER ANY ROLE Allows grantee to... alter any cluster in any schema alter any index in any schema alter any stored procedure, function, or package in any schema alter any role in the database

Administration Oracle - 45 / 78 - System Privilege ALTER ANY SEQUENCE ALTER ANY SNAPSHOT ALTER ANY TABLE ALTER ANY TYPE ALTER ANY TRIGGER ALTER DATABASE ALTER PROFILE ALTER RESOURCE COST ALTER ROLLBACK SEGMENT ALTER SESSION ALTER SYSTEM ALTER TABLESPACE ALTER USER ANALYZE ANY AUDIT ANY AUDIT SYSTEM BACKUP ANY TABLE BECOME USER COMMENT ANY TABLE CREATE ANY CLUSTER CREATE ANY DIRECTORY CREATE ANY INDEX CREATE ANY LIBRARY CREATE ANY PROCEDURE CREATE ANY SEQUENCE CREATE ANY SNAPSHOT CREATE ANY SYNONYM CREATE ANY TABLE CREATE ANY TRIGGER CREATE ANY TYPE CREATE ANY VIEW CREATE CLUSTER CREATE DATABASE LINK CREATE ANY LIBRARY CREATE PROCEDURE CREATE PROFILE CREATE PUBLIC DATABASE LINK CREATE PUBLIC SYNONYM CREATE ROLE CREATE ROLLBACK SEGMENT CREATE SEQUENCE Allows grantee to... alter any sequence in the database alter any snapshot in the database alter any table or view in the schema alter any type in any schema enable, disable, or compile any database trigger in any schema alter the database alter profiles set costs for session resources alter rollback segments issue ALTER SESSION statements issue ALTER SYSTEM statements alter tablespaces alter any user. This privilege authorizes the grantee to * change another user's password or authentication method, * assign quotas on any tablespace, * set default and temporary tablespaces, and * assign a profile and default roles analyze any table, cluster, or index in any schema audit any object in any schema using AUDIT (Schema Objects) statements issue AUDIT (SQL Statements) statements use the Export utility to incrementally export objects from the schema of other users become another user. (Required by any user performing a full database import.) Comment on any table, view, or column in any schema create a cluster in any schema. Behaves similarly to CREATE ANY TABLE. create a directory database object in any schema create an index in any schema on any table in any schema create external procedure/function libraries in any schema create stored procedures, functions, and packages in any schema create a sequence in any schema create snapshots in any schema create private synonyms in any schema create tables in any schema. The owner of the schema containing the table must have space quota on the tablespace to contain the table. create a database trigger in any schema associated with a table in any schema create types and type bodies in any schema create views in any schema create clusters in grantee's schema create private database links in grantee's schema create external procedure/function libraries in grantee's schema create stored procedures, functions, and packages in grantee's schema create profiles create public database links create public synonyms create roles create rollback segments create sequences in grantee's schema

Administration Oracle - 46 / 78 - System Privilege CREATE SESSION CREATE SNAPSHOT CREATE SYNONYM CREATE TABLE CREATE TABLESPACE CREATE TRIGGER CREATE TYPE CREATE USER CREATE VIEW DELETE ANY TABLE DROP ANY CLUSTER DROP ANY DIRECTORY DROP ANY INDEX DROP ANY LIBRARY DROP ANY PROCEDURE DROP ANY ROLE DROP ANY SEQUENCE DROP ANY SNAPSHOT DROP ANY SYNONYM DROP ANY TABLE DROP ANY TRIGGER DROP ANY TYPE DROP ANY VIEW DROP LIBRARY DROP PROFILE DROP PUBLIC DATABASE LINK DROP PUBLIC SYNONYM DROP ROLLBACK SEGMENT DROP TABLESPACE DROP USER EXECUTE ANY PROCEDURE EXECUTE ANY TYPE FORCE ANY TRANSACTION FORCE TRANSACTION GRANT ANY PRIVILEGE GRANT ANY ROLE INSERT ANY TABLE LOCK ANY TABLE MANAGE TABLESPACE RESTRICTED SESSION SELECT ANY SEQUENCE Allows grantee to... connect to the database create snapshots in grantee's schema create synonyms in grantee's schema create tables in grantee's schema. To create a table, the grantee must also have space quota on the tablespace to contain the table. create tablespaces create a database trigger in grantee's schema create types and type bodies in grantee's schema create users. This privilege also allows the creator to * assign quotas on any tablespace, * set default and temporary tablespaces, and * assign a profile as part of a CREATE USER statement. create views in grantee's schema * delete rows from tables or views in any schema * truncate tables in any schema drop clusters in any schema drop directory database objects drop indexes in any schema drop external procedure/function libraries in any schema drop stored procedures, functions, or packages in any schema drop roles drop sequences in any schema drop snapshots in any schema drop private synonyms in any schema drop tables in any schema drop database triggers in any schema drop object types and object type bodies in any schema drop views in any schema drop external procedure/function libraries drop profiles drop public database links drop public synonyms drop rollback segments drop tablespaces drop users * execute procedures or functions (standalone or packaged) * reference public package variables in any schema use and reference object types, and invoke methods of any type in any schema. You must grant EXECUTE ANY TYPE to a specific user. You cannot grant EXECUTE ANY TYPE to a role. * force the commit or rollback of any in-doubt distributed transaction in the local database. * induce the failure of a distributed transaction. force the commit or rollback of grantee's in-doubt distributed transactions in the local database grant any system privilege. grant any role in the database insert rows into tables and views in any schema lock tables and views in any schema take tablespaces offline and online and begin and end tablespace backups logon after the instance is started using the Server Manager STARTUP RESTRICT command reference sequences in any schema

Administration Oracle - 47 / 78 - System Privilege SELECT ANY TABLE SYSDBA SYSOPER UNLIMITED TABLESPACE UPDATE ANY TABLE Allows grantee to... query tables, views, or snapshots in any schema * perform Server Manager STARTUP and SHUTDOWN commands, * ALTER DATABASE OPEN/MOUNT/BACKUP, * CREATE DATABASE, * ARCHIVELOG and RECOVERY and * includes the RESTRICTED SESSION privilege. * perform Server Manager STARTUP and SHUTDOWN commands, * ALTER DATABASE OPEN/MOUNT/BACKUP, * ARCHIVELOG and RECOVERY * includes the RESTRICTED SESSION privilege. use an unlimited amount of any tablespace. This privilege overrides any specific quotas assigned. If you revoke this privilege from a user, the grantee's schema objects remain but further tablespace allocation is denied unless authorized by specific tablespace quotas. You cannot grant this system privilege to roles. update rows in tables and views in any schema 2. Attribution de privilèges système a) Syntaxe GRANT priv.syst. / rôle {, priv._syst. / rôle} TO user / rôle / PUBLIC {,user/ rôle /PUBLIC} [WITH ADMIN OPTION] WITH ADMIN OPTION permet aux destinataires de transmettre les privilèges ou les rôles à d'autres utilisateurs ou à d'autres rôles. Retirer les privilèges système à. un utilisateur ne se répercute pas sur les autres utilisateurs b) exemple GRANT CREATE SESSION, CREATE TABLE, EXECUTE ANY PROCEDURE TO denis; 3. Révocation de privilèges système REVOKE priv._syst. / rôle {, priv._syst. / rôle} FROM user/rôle/public {,user/rôle /PUBLIC} 4. Tableau des privilèges objets Privilèges Objet Commentaires SELECT,DELETE INSERT,UPDATE spécifications de colonnes possibles EXECUTE procédure, fonction ALTER table, séquence INDEX table REFERENCES Clé étrangère 5. Attribution de privilèges objet GRANT priv.obj. [(liste_ de_ colonnes )] {,priv.obj. [(liste_de colonnes )] } / ALL ON [schéma.]objet TO user / rôle /PUBLIC {,user/ rôle /PUBLIC} WITH GRANT OPTION WITH GRANT OPTION permet aux bénéficiaires des privilèges de transmettre tout ou partie de ces privilèges à d'autres utilisateurs; retirer des privilèges à un utilisateur qui les a reçus avec la clause WITH GRANT OPTION retire en cascade ces privilèges à tous les utilisateurs auxquels il les a transmis. 6. Exemples: GRANT SELECT, UPDATE(adresse,ville) ON clients TO PUBLIC; GRANT ALL ON clients TO denis,polo;

Administration Oracle - 48 / 78-7. Révocation de privilèges objet REVOKE priv.obj. {, priv._syst. } / ALL ON [schéma] objet FROM user/rôle {,user/rôle} /PUBLIC [CASCADE CONSTRAINTS] CASCADE CONSTRAINTS permet de supprimer toutes les contraintes d'intégrité référentielle définies sur les objets pour lesquels on demande le retrait de privilèges. D. Création, modification et suppression d'un rôle 1. Un rôle C'est l'équivalent d'un groupe. Par transitivité, les privilèges du rôles sont transmis aux utilisateurs. Autrement dit, c'est une manière plus rapide de gérer les droits. 2. Création et modification d'un rôle: CREATE / ALTER ROLE rôle [NOT IDENTIFIED I IDENTIFIED BY mot de _passe l EXTERNALLY] 3. Suppression d'un rôle: DROP ROLE rôle Activation d'un rôle SET ROLE rôle [IDENTIFIED BY mot_de_passe] {,rôle [IDENTIFIED BY mot de passe] } /ALL [EXCEPT rôle {, rôle } ] /NONE NONE: désactive tous les rôles de la session courante 4. Utilisation du mode graphique Dans l'arborescence, choisissez Sécurité Rôles. Par un clic droit, prenez Créez.

Administration Oracle - 49 / 78 - Entrez le nom d'un rôle. Vous pouvez affecter des privilèges système.

Administration Oracle - 50 / 78 - Mais aussi, des privilèges sur les objets. Sur les objets XML.

Administration Oracle - 51 / 78 - Le rôle peut intégrer un groupe de consommateurs de ressources. Vous pouvez voir l'ensemble des commandes en cliquant sur Afficher SQL. E. Création d'un utilisateur de la base 1. Notion de Schéma L'ensemble des objets créés par l'utilisateur définit un schéma. 2. syntaxe CREATE USER utilisateur

Administration Oracle - 52 / 78 - IDENTIFIED BY mot de passe /EXTERNALLY [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace] [PROFIL profil] {QUOTA entier UNLIMITED ON tablespace} 3. exemple CREATE USER denis IDENTIFIED BY denis DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 22M ON users F. Création d'un utilisateur et affectation des privilèges en mode graphique A partir de la Console Enterprise Manager, allez dans Sécurité Utilisateurs. Par un clic droit, choisissez Créer.

Administration Oracle - 53 / 78 - Au niveau de l'onglet général, entrez le nom de l'utilisateur, ainsi que son mot de passe et les espaces de disque logiques. Vous pouvez lui assigner un rôle.

Administration Oracle - 54 / 78 - Ainsi que des privilèges système. Les privilèges objets définissent des droits tels que l'ouverture de session, la création de tables.

Administration Oracle - 55 / 78 - N'oubliez pas de définir un quota. Par défaut, il est à 0, ce qui signifie que l'utilisateur n'a pas le croit de créer des tables. Les utilisateurs proxy fournissent des équivalences de droit. Cela évite des coûts d'administration très élevés et permet temporairement de donner des droits sans modifier le système dans son ensemble.

Administration Oracle - 56 / 78 - Vous pouvez visualiser l'ordre SQL, à tout moment, en cliquant sur le bouton Afficher SQL. G. Exercices 1. Question 1 ALTER USER SYSTEM IDENTIFIED BY manager 2. Question 2 CREATE USER vincent IDENTIFIED BY vinc temporary tablespace temp Le tablespace par défaut de Vincent est SYSTEM 3. Question 3 GRANT CREATE SESSION TO vincent 4. Question 4 create user theo identified by theo default tablespace users temporary tablespace temp QUOTA 3 M ON USERS 5. Question 5 SELECT sid,serial# from sys.v_$session where username='system' / ALTER SYSTEM SESSION KILL SESSION 'sid,serial#' 6. Question 6 CREATE PROFILE UNE_DEUX LIMIT IDLE_TIME 2 SESSIONS_PER_USER 1 / ALTER USER THEO PROFILE UNE_DEUX / 7. Question 7 connect vincent/vinc @ORA1

Administration Oracle - 57 / 78-8. Question 8 GRANT CREATE_SESSION,CREATE_TABLE to theo 9. Question 9 grant SELECT ON DEPARTMENT to theo / 10. Question 10 grant SELECT ON DEPARTMENT to vincent / CONNECT vincent/vinc @sid / CREATE TABLE DEPARTMENT as SELECT * FROM DEPARTMENT; / select * from user_tab_privs where grantee='vincent' / 11. Question 11 grant update(name) on department to vincent; update system.department set name='research' where department_id=20; rollback; 12. Question 12 create role developpeur; grant create table,create view,create sequence,create synonym to developpeur; set role developpeur; GRANT DEVELOPPEUR to vincent; ALTER USER vincent default role developpeur; CREATE synonym service for department; create sequence seq_fournisseur increment by 1 start with 1; create table essai ( id integer, texte varchar(255), constraint key pk_essai primary key (id) ); insert into essai values (seq_fournisseur.nextval,'essai')

Administration Oracle - 58 / 78 - Les verrous H. Les transactions Une transaction est issue de la connexion et de l'exécution d'un ordre SQL. Elle est liée à la notion de session de l'utilisateur. Par défaut, sur Oracle 9.2, vous êtes en mode autocommit. 1. Le mode autocommit dans SQL/Plus Pour visualiser les variables d'environnement : SHOW ALL Pour forcer l'autocommit : SET AUTOCOMMIT ON 2. Les points de sauvegarde SAVEPOINT nom_point_de_sauvegarde 3. Validation et invalidation Invalidation : ROLLBACK [TO nom_point_de_sauvegarde] Validation :COMMIT I. Le besoin d'intégrité Une contrainte d'intégrité est une assertion qui doit être vérifiée à tout moment au niveau des données de la base. Le respect des contraintes d'intégrité assure la cohérence des données et de la base. Contraintes de domaine ou de valeur : Code postal [1000 et 95999 Contraintes de dépendances fonctionnelles : l'identifiant du produit détermine la description du produit Contraintes de dépendances multivaluées : l'identifiant du produit détermine le nom du fournisseur dans la table des prix. Contraintes de dépendances référentielles (ou contraintes d'intégrité référentielle) : tout référence dans la table prix relative au produit doit exister préalablement dans la table produit Contraintes arithmétiques : la quantité en stock doit toujours pouvoir vérifier quelle est la différence entre la somme des quantités vendues et la somme des quantités achetées. J. Les contraintes d'intégrité 1. Les contraintes sur champ alter table product add check (product_id is not null) alter table price add check (product_id is not null) add check (start_date is not null) alter table price add constraint chk_list_price check (list_price>0 ) add constraint chk_min_price check (min_price>0) 2. Les clés primaires alter table product add constraint pk_product primary key (product_id) 3. Les clés étrangères ALTER TABLE PRICE ADD CONSTRAINT fk_product FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT 4. Visualiser les contraintes select constraint_name,table_name from user_constraints create unique index idx_product on product(description) 5. Les index Créer un index : create unique index idx_price on price(product_id,start_date) Renommer un index : alter index idx_product rename to ix_product Visualiser les index : select index_name,table_name,column_name from user_ind_columns K. Illustration des verrous select * from scott.product where description like '%YELLOW%' for update L. Séquence de verrouillage Verrouillage des granules ou des tables Lecture ou écriture (peut modifier le type de verrou) Reprise de l'étape 1 Fin de la transaction M. Les dead-locks ou les verrous de famine Ordonnanceur interne qui permet au dernier demandeur de reprendre la transaction en cas de verrou mortel. N. Contrôle de verrouillage Demande de ne pas poser de verrous (édition de rapports)

Administration Oracle - 59 / 78 - Pose de timeout pour gérer les temps d'attente Quand un utilisateur veut que d'autres accèdent aux informations tant qu'il n'a pas fini. Changer le nombre de pages à verrouiller O. Verrouillage explicite et implicite 1. Le verrou exclusif Personne d'autre ne peut alors poser de verrous sur la page ou la table. Exemple : opérations d'ajouts, de mises à jour et de suppressions. Les transactions concurrentes sont mises en attente. 2. Le verrou partagé Les utilisateurs peuvent poser de tels verrous simultanément. Ils autorisent les lectures concurrentes. On parle de read lock ou de shared lock. P. Les types de verrouillage 1. Verrouillage implicite LOCK TABLE nom_table IN mode-verrouillage MODE; 2. Verrouillage explicite SELECT liste_champs FROM nom_table WHERE condition FOR UPDATE; Q. Les modes de verrouillage 1 1. Le mode Row Share (lignes partagées) a) Explicite LOCK TABLE PRODUCT IN ROW SHARE MODE b) Implicite SELECT * FROM PRODUCT WHERE FOR UPDATE; 2. Le mode Row Exclusive a) Explicite LOCK TABLE PRODUCT IN ROW EXCLUSIVE MODE b) Implicite INSERT, UPDATE, DELETE 3. Le mode SHARE a) Explicite LOCK TABLE PRODUCT IN SHARE MODE b) Implicite SELECT c) Le mode Share Row Exclusive LOCK TABLE nom-table IN SHARE ROW EXCLUSIVE MODE; d) Le mode Exclusive LOCK TABLE nom-table IN EXCLUSIVE MODE; R. Compatibilité entre les modes de verrouillage

Administration Oracle - 60 / 78 - VII. Index et clusters A. Les types de structure 1. Les structures séquentielles Inadaptée pour les tables de grand volume. Ajout en fin de table Pas d'utilisation des clés Les effacements laissent des trous Très adaptées aux petites tables qui sont amenées à peu changer dans le temps 2. Les structures de type hash A la création de la table, un algorithme définit le nombre de pages en fonction du nombre de lignes. Très rapide pour des recherches sur la valeur exacte de la clé. 3. Les structures isam Les pages principales et les pages d'index sont créées lors de la création de la table. Elles sont statiques. Reconstruction des pages d'index de façon dynamique L'index pointe sur les données 4. Les structures b-tree Les index pointent sur des feuilles et les feuilles sur les données. Les données de la clé sont stockées deux fois B. La création des index Elle accélère la recherche sur le champ indexé. CREATE INDEX nom_index ON TABLE nom_table(nom_champ) CLUSTER NOM_cluster TABLESPACE nom_tablespace C. Les clusters Un cluster est un regroupement physique de une ou plusieurs tables autour d'une ou plusieurs colonnes. L'intérêt est d'accélérer les opérations de jointures. DROP CLUSTER nom_cluster including tables; D. Exercices 1. Question 1 select vsize(department_id)+vsize(location_id)+vsize(name) "bytes" from department / CREATE CLUSTER personnel ( department_id NUMBER(2) ) SIZE 512 STORAGE (INITIAL 100K NEXT 50K PCTINCREASE 10); CREATE TABLE emp CLUSTER personnel (department_id); CREATE TABLE department CLUSTER personnel (department_id); CREATE INDEX idx_personnel ON CLUSTER personnel;

Administration Oracle - 61 / 78 - VIII. La sauvegarde A. L'export avec EXP B. L'import avec IMP

Administration Oracle - 62 / 78 - IX. Console d'administration de la version XE 10g A. Accès à l'interface d'administration La version gratuite d'oracle dispose d'une interface Web disponible sur le port 8080. vous pouvez aussi accéder à la console par le biais du menu Démarrer. B. L'authentification Vous devez vous identifier préalablement avec le mot de passe que vous entrez lors de l'installation du logiciel.

Administration Oracle - 63 / 78 - C. Information sur les tablespaces Pour accéder à ces informations, choisissez Administration Storage

Administration Oracle - 64 / 78 - Vous visualisez les statistiques relatives aux tablespaces.

Administration Oracle - 65 / 78 - D. Gestion de la mémoire : SGA et PGA Vous pouvez visualiser la décomposition du SGA (définie au niveau du fichier de configuration spfilexe.ora). Le PGA est composé de l'ensemble des programmes liés à l'environnement de l'utilisateur.

Administration Oracle - 66 / 78 - E. La gestion des utilisateurs Choisissez Administration Create Users.

Administration Oracle - 67 / 78 - Pas beaucoup de choix par rapport aux autres versions d'oracle et à Enterprise Manager. Vous pouvez toujours taper l'ordre SQL.

Administration Oracle - 68 / 78 - F. État de l'instance Un menu vous permet d'accéder aux paramètres de l'instance (accès en lecture). Vous pouvez visualiser l'ensemble des sessions.

Administration Oracle - 69 / 78 - Également les statistiques... Plus fort... les paramètres liés à l'exécution des ordres SQL.

Administration Oracle - 70 / 78 - Mention spéciale pour les requêtes qui s'éterniseraient!

Administration Oracle - 71 / 78 - G. Création des tables et autres objets Allez dans Object Browser Create. Pour les visualiser, choisissez Browse. H. Interpréteur SQL Vous disposez même d'un requêteur.

Administration Oracle - 72 / 78 - I. Import / Export On aimerait une interface aussi simple dans les versions Enterprise.

Administration Oracle - 73 / 78 -

Administration Oracle - 74 / 78 - X. Annexe 1 : le fichier init.ora A. Version 9.2 ############################################################################## # Copyright (c) 1991, 2001, 2002 by Oracle Corporation ############################################################################## ########################################### # Cache and I/O ########################################### db_block_size=8192 db_cache_size=25165824 db_file_multiblock_read_count=16 ########################################### # File Configuration ########################################### control_files=("f:\oracle\oradata\ora\control01.ctl", "F:\oracle\oradata\ora\CONTROL02.CTL", "F:\oracle\oradata\ora\CONTROL03.CTL") ########################################### # Cursors and Library Cache ########################################### open_cursors=300 ########################################### # Diagnostics and Statistics ########################################### background_dump_dest=f:\oracle\admin\ora\bdump core_dump_dest=f:\oracle\admin\ora\cdump timed_statistics=true user_dump_dest=f:\oracle\admin\ora\udump ########################################### # Miscellaneous ########################################### aq_tm_processes=1 compatible=9.2.0.0.0 ########################################### # Redo Log and Recovery ########################################### fast_start_mttr_target=300 ########################################### # Job Queues ########################################### job_queue_processes=10 ########################################### # Instance Identification ########################################### instance_name=ora ########################################### # Database Identification ###########################################

Administration Oracle - 75 / 78 - db_domain="" db_name=ora ########################################### # Optimizer ########################################### hash_join_enabled=true query_rewrite_enabled=false star_transformation_enabled=false ########################################### # Pools ########################################### java_pool_size=33554432 large_pool_size=8388608 shared_pool_size=50331648 ########################################### # Processes and Sessions ########################################### processes=150 ########################################### # System Managed Undo and Rollback Segments ########################################### undo_management=auto undo_retention=10800 undo_tablespace=undotbs1 ########################################### # MTS ########################################### dispatchers="(protocol=tcp) (SERVICE=oraXDB)" ########################################### # Security and Auditing ########################################### remote_login_passwordfile=exclusive ########################################### # Sort, Hash Joins, Bitmap Indexes ########################################### pga_aggregate_target=25165824 sort_area_size=524288 B. Version Xe 10g 1. initxe.ora SPFILE='F:\oraclexe\app\oracle\product\10.2.0\server\dbs/spfileXE.ora' 2. spfilexe.ora xe. db_cache_size=62914560 xe. java_pool_size=4194304 xe. large_pool_size=8388608 xe. shared_pool_size=67108864 xe. streams_pool_size=0 *.audit_file_dest='f:\oraclexe\app\oracle\admin\xe\adump' *.background_dump_dest='f:\oraclexe\app\oracle\admin\xe\bdump' *.compatible='10.2.0.1.0' *.control_files='f:\oraclexe\oradata\xe\control.dbf' *.core_dump_dest='f:\oraclexe\app\oracle\admin\xe\cdump'

Administration Oracle - 76 / 78 - *.db_name='xe' *.dispatchers='(protocol=tcp) (SERVICE=XEXDB)' *.job_queue_processes=4 *.local_listener='(address=(protocol=tcp)(host=azerty.neuro1.net)(port=1521))' *.open_cursors=300 *.pga_aggregate_target=31457280 *.remote_login_passwordfile='exclusive' *.sessions=20 *.sga_target=146800640 *.shared_servers=4 *.undo_management='auto' *.undo_tablespace='undo' *.user_dump_dest='f:\oraclexe\app\oracle\admin\xe\udump'

Administration Oracle - 77 / 78 - XI. Annexe 2 : Oracle pour Netware A. Démarrer le service Oraload Orastart B. Console d'administration Load svrmgr30

Administration Oracle - 78 / 78 - XII. Documentation http://www.oracle.com/ http://www.oracle.com/technology/documentation/index.html. http://platforms.oracle.com/linux/index_lin.htm http://www.devparadise.com/ http://callista.free.fr/php_oracle/php_oracle.php3 http://phporacleadmin.org/ http://sgbd.developpez.com/cours/ http://www.packmanagers.fr/ http://technet.oracle.com/ http://didier.deleglise.free.fr/ http://dszalkowski.free.fr/ http://www.dsfc.net/ http://www.builder.fr/ http://www.freesql.org/ http://www.zdnet.fr/builder/