78
Administration Oracle - 1 / 78 - Denis Szalkowski Formateur Consultant janvier 2006 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

Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Embed Size (px)

Citation preview

Page 1: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 1 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 2: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 2 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 3: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 3 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 4: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 4 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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".

Page 5: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 5 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 6: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 6 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 7: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 7 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 8: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 8 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 9: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 9 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Le service Oracle MTS Recovery Service permet de gérer les transactions.

Notez bien le SID (l'identificateur de la base de données).

Page 10: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 10 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Vous devez indiquer l'emplacement de stockage des fichiers.

Le jeu de caractères est celui de la plate-forme utilisée.

Page 11: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 11 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Le résumé...

L'installation peut Commencer. Vous en avez entre 20 et 50 minutes selon la puissance de votre machine.

Page 12: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 12 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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é.

Page 13: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 13 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 14: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 14 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 15: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 15 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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, connectez-vous en SYSDBA.

La console d'administration vous présente une vue hiérarchique.

Page 16: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 16 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Page 17: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 17 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 18: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 18 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 19: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 19 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 20: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 20 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 21: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 21 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 22: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 22 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 23: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 23 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Pour surveiller les ressources utilisées par le Groupe et/ou l'utilisateur, allez dans Surveillance des ressources.

H. Les services

Page 24: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 24 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

I. Le gestionnaire de tâches

Page 25: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 25 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

J. L'observateur d'événements

Page 26: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 26 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

K. L'analyseur de performances

Page 27: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 27 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Page 28: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 28 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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 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.).

USER_AUDIT_SESSION 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.).

USER_AUDIT_STATEMENT trace d'exécution des commandes suivantes : GRANT, REVOKE, AUDIT, NOAUDIT et ALTER SYSTEM (informations similaires à celles de la vue précédente).

USER_CATALOG liste des tables, vues, synonymes et séquences appartenant à l'utilisateur (nom et type d'objet). Synonyme=CAT

USER_CLUSTERS liste des clusters de l'utilisateur (nom et type du cluster et paramètres de stockage). Synonyme=CLU

USER_CLU_COLUMNS 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).

USER_COL_COMMENTS liste des commentaires relatifs aux colonnes des tables et vues de l'utilisateur (nom de table, nom de colonne, commentaires).

USER_COL_GRANTS 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, ...).

USER_COL_GRANTS_MADE 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).

USER_CONSTRAINTS liste des contraintes définies sur les tables de l'utilisateur.

USRER_CONS_COLOMNS liste des colonnes intervenant dans la définition des contraintes sur les tables de l'utilisateur.

USER_DB_LINKS liste des liens de base de données créés par l'utilisateur.

USER_DEPENDENCIES liste des dépendances entre tables ou vues et procédures, packages, fonctions ou corps de packages.

USER_ERRORS liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de packages.

USER_EXTENTS liste des extensions des segments appartenant à l'utilisateur.

USER_FREE_SPACE description des extensions libres dans les tablespaces accessibles à l'utilisateur.

USER_IND_COLUMNS liste des colonnes des index définis sur les tables de l'utilisateur.

Page 29: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 29 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

USER_INDEXES liste des index créés par l'utilisateur. Synonyme=IND

USER_OBJECTS liste des objets appartenant à l'utilisateur (nom, identifiant, type, date de création, date de dent modification de l'objet). Synonyme=OBJ

USER_RESOURCE_LIMITS description des valeurs limites des ressources pour cet utilisateur.

USER_ROLE_PRIVS liste des râles attribués à cet utilisateur.

USER_SEGMENTS description des paramètres de stockage des segments.

USER_SEQUENCES liste des séquences créées par l'utilisateur. Synonyme=SEQ

USER_SOURCE texte du source des procédures, packages, fonctions ou corps de packages créés par l'utilisateur

USER_SNAPSHOTS liste des snapshots (copies de tables) créés par l'utilisateur.

USER_SNAPSHOT LOGS liste des snapshots logs créés par l'utilisateur.

USER_SYNONYMS liste des synonymes privés de l'utilisateur. Synonyme=SYN

USER_SYS_PRIVS liste des privilèges système attribués à cet utilisateur.

USER_TAB_COLUMNS liste des colonnes des tables, vues ou clusters créés par l'utilisateur. Synonyme=COLS

USER_TAB_COMMENTS liste des commentaires relatifs aux tables et vues de l'utilisateur.

USER_TAB_GRANTS liste d'autorisations sur les tables et vues pour lesquelles l'utilisateur est le propriétaire ou ayant donné ou reçu l'autorisation.

USER_TAB_GRANTS MADE liste des autorisations sur les objets appartenant à l'utilisateur.

USER_TAB_GRANTS_RECD liste des objets pour lesquels l'utilisateur a reçu une autorisation.

USER_TABLES liste des tables créées par l'utilisateur. Synonyme=TABS

USER_TABLESPACES liste des tablespaces accessibles à cet utilisateur.

USER_TRIGGERS liste des triggers créés par l'utilisateur.

USER_TS_QUOTAS description des quotas de l'espace des tablespaces attribués à l'utilisateur.

USER_USERS informations générales relatives à cet utilisateur.

USER_VIEWS liste des vues créées par l'utilisateur.

DICTIONARY liste de toutes les tables, vues et synonymes du dictionnaire.

DICT_COLUMNS description des colonnes des objets du dictionnaire qui sont accessibles à l'utilisateur.

CONSTRAINT_DEFS liste des définitions de contraintes relatives aux tables accessibles à l'utilisateur.

CONSTRAINT_COLUMNS liste des colonnes référencées dans les contraintes relatives aux tables accessibles à l'utilisateur.

AUDIT_ACTIONS liste des opérations pouvant être auditées.

DUAL 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 liste de toutes les tables, vues, synonymes et séquences accessibles à l'utilisateur.

ALL_COL_COMMENTS liste des commentaires relatifs aux colonnes des tables et vues accessibles à l'utilisateur.

ALL_COL_GRANTS liste des colonnes pour lesquelles l'utilisateur est autorisé à accéder.

ALL_COL_GRANTS_MADE liste des autorisations sur les colonnes pour lesquelles l'utilisateur est propriétaire ou ayant attribué l'autorisation.

Page 30: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 30 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

ALL_CONSTRAINTS liste des contraintes définies sur les tables accessibles à l'utilisateur.

ALL_CONS_COLOMNS liste des colonnes intervenant dans la définition des contraintes sur les tables accessibles à l'utilisateur.

ALL_DB_LINKS liste des liens de base de données accessibles à l'utilisateur.

ALL_DEPENDENCIES liste des dépendances entre tables ou vues et procédures, packages, fonctions ou corps de packages.

ALL_ERRORS liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de packages.

ALL_IND COLUMNS liste des colonnes des index définies sur les tables accessibles à l'utilisateur.

ALL_INDEXES liste des index sur les tables accessibles à l'utilisateur.

ALL_OBJECTS liste des objets accessibles à l'utilisateur (nom, identifiant, type, date de création, date de dernière modification de l'objet).

ALL_SEQUENCES liste des séquences accessibles à l'utilisateur.

ALL_SOURCE texte du source de toutes les procédures, packages, fonctions ou corps de packages.

ALL_SNAPSHOTS Liste des snapshots (copies de tables) accessibles à l'utilisateur.

ALL_SYNONYMS liste des synonymes accessibles à l'utilisateur.

ALL_TAB COLUMNS liste des colonnes des tables, vues ou clusters accessibles à l'utilisateur.

ALL_TAB COMMENTS liste des commentaires relatifs aux tables et vues accessibles à l'utilisateur.

ALL_TAB_GRANTS liste d'autorisations sur les tables et vues pour lesquelles l'utilisateur est autorisé (explicitement ou à travers PUBLIC).

ALL_TAB GRANTS MADE liste des autorisations attribuées ou reçues par l'utilisateur.

ALL_TAB_GRANTS_RECD liste des objets pour lesquels l'utilisateur a reçu une autorisation.

ALL_TABLES liste des tables accessibles à l'utilisateur.

ALL_TRIGGERS liste des triggers accessibles à l'utilisateur.

ALL_USERS 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 liste des transactions réparties ayant échoué lors de la phase de préparation.

DBA_2PC_NEIGHBORS informations sur les connexions vers ou à partir de bases distantes pour les traitements des transactions réparties.

DBA_AUDIT_EXISTS trace de la commande AUDIT EXISTS.

DBA_AUDIT_OBJECT trace des commandes exécutées sur tous les objets de la base.

DBA_AUDIT_SESSION trace des connexions et déconnexions de tous les utilisateurs.

DBA_CATALOG liste des tables, vues synonymes et séquences de la base.

DBA_CLUSTERS liste des clusters de la base.

DBA_CLU_COLUMNS 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).

DBA_COL_COMMENTS liste des commentaires relatifs aux colonnes des tables et vues de la base (nom de table, nom de colonne, commentaires).

DBA_COL_GRANTS liste des autorisations sur toutes les colonnes de la base.

DBA_CONSTRAINTS liste de toutes les contraintes définies sur les tables.

Page 31: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 31 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

DBA_CONS_COLOMNS liste des colonnes intervenant dans la définition de toutes les contraintes de la base.

DBA_DATA_FILES liste de tous les fichiers de données de la base.

DBA_DB_LINKS liste de tous les liens de base de données.

DBA_DEPENDENCIES liste des dépendances entre toutes les tables ou vues et les procédures, packages, fonctions ou corps de package de la base.

DBA_ERRORS liste des erreurs courantes relatives aux procédures, packages, fonctions ou corps de package de la base.

DBA_EXP_FILES description des fichiers d'exportation.

DBA_EXP_OBJECTS description des objets ayant été exportés d'une façon incrémentale.

DBA_EXP_VERSION numéro de version de la dernière session d'exportation.

DBA_EXTENTS liste des extensions de tous les segments de la base.

DBA_FREE_SPACE description des extensions libres dans tous les tablespaces de la base.

DBA_IND_COLUMNS liste des colonnes de tous les index définis sur les tables de la base.

DBA_INDEXES liste de tous les index dans la base.

DBA_OBJ AUDIT_OPTS liste des options d'audit pour toutes les tables et vues de la base.

DBA_OBJETS liste de tous les objets contenus dans la base.

DBA_PROFILES liste des profils attribués aux utilisateurs.

DBA_ROLE GRANTS liste des rôles attribués aux utilisateurs et à d'autres rôles.

DBA_ROLES liste de tous les rôles dans la base.

DBA_ROLLBACK_SEGS liste des segments d'annulation de la base.

DBA_SEGMENTS description des paramètres de stockage de tous les segments de la base.

DBA_SEQUENCE liste de toutes les séquences contenues dans la base.

DBA_SOURCE texte du source des procédures, packages, fonctions ou corps de package dans la base.

DBA_SNAPSHOT liste de tous les snapshots (copies de tables) dans la base.

DBA_SNAPSHOT_LOGS liste de tous les snapshots logs dans la base.

DBA_SYNOMYMS liste de tous le synonymes dans la base.

DBA_SYS_GRANTS liste des privilèges système attribués aux utilisateurs et aux rôles.

DBA_TAB_COLUMNS liste des colonnes des tables, vues ou clusters dans la base.

DBA_TAB_COMMENTS liste des commentaires relatifs à toutes les tables et vues de la base.

DBA_TAB GRANTS liste d'autorisations sur tous les objets de la base.

DBA_TABLES liste de toutes les tables de la base.

DBA_TABLESPACES liste de tous les tablespaces de la base.

DBA_TRIGGERS liste de tous les triggers de la base.

DBA_TS_QUOTAS description des quotas de l'espace des tablespaces attribués aux utilisateurs.

DBA_USERS informations générales relatives à tous les utilisateurs.

DBA_VIEWS description (texte) de toutes les vues de la base.

4. Les vues liées au suivi des performances

V$ACCESS liste des objets verrouillés actuellement.

V$BGPROCESS description de l'activité des processus d'arrière plan.

V$DATABASE description de la base de données à partir du fichier de contrôle.

Page 32: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 32 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

V$DATAFILE description des fichiers de données à partir du fichier de contrôle.

V$DISPATCHERS description de l'activité des processus dispatchers.

C. Exercices

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

Page 33: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 33 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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)

Page 34: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 34 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

B. Le niveau physique

1. Les fichiers de Données

Ils contiennent tous les objets utilisateurs ainsi que le dictionnaire de données.

Page 35: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 35 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 36: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 36 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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),

Page 37: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 37 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 38: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 38 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 39: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 39 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 40: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 40 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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]

Page 41: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 41 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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' /

Page 42: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 42 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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 Description

SESSIONS PER USER nombre maximal de sessions concurrentes autorisées

CPU PER SESSION temps CPU maximal par session en centième de sec.

CPU PER CALL temps CPU maximal pour un appel noyau CONNECT TIME temps de connexion écoulé exprimé en minutes IDLE TIME temps d'inactivité continue exprimé en minutes LOGICAL READ PER SESSION

nombre maximal de blocs de données lus par session

LOGICAL READ PER CALL

nombre maximal de blocs de données lus par appel

COMPOSITE LIMIT coût total des ressources pour une session PRIVATE SGA 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}

Page 43: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 43 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 44: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 44 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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 Allows grantee to...

ALTER ANY CLUSTER alter any cluster in any schema ALTER ANY INDEX alter any index in any schema ALTER ANY PROCEDURE alter any stored procedure, function, or package in any

schema ALTER ANY ROLE alter any role in the database

Page 45: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 45 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

System Privilege Allows grantee to... ALTER ANY SEQUENCE alter any sequence in the database ALTER ANY SNAPSHOT alter any snapshot in the database ALTER ANY TABLE alter any table or view in the schema ALTER ANY TYPE alter any type in any schema ALTER ANY TRIGGER enable, disable, or compile any database trigger in any

schema ALTER DATABASE alter the database ALTER PROFILE alter profiles ALTER RESOURCE COST set costs for session resources ALTER ROLLBACK SEGMENT alter rollback segments ALTER SESSION issue ALTER SESSION statements ALTER SYSTEM issue ALTER SYSTEM statements ALTER TABLESPACE alter tablespaces ALTER USER 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 analyze any table, cluster, or index in any schema AUDIT ANY audit any object in any schema using AUDIT (Schema

Objects) statements AUDIT SYSTEM issue AUDIT (SQL Statements) statements BACKUP ANY TABLE use the Export utility to incrementally export objects from

the schema of other users BECOME USER become another user. (Required by any user performing a

full database import.) COMMENT ANY TABLE Comment on any table, view, or column in any schema CREATE ANY CLUSTER create a cluster in any schema. Behaves similarly to CREATE

ANY TABLE. CREATE ANY DIRECTORY create a directory database object in any schema CREATE ANY INDEX create an index in any schema on any table in any schema CREATE ANY LIBRARY create external procedure/function libraries in any schema CREATE ANY PROCEDURE create stored procedures, functions, and packages in any

schema CREATE ANY SEQUENCE create a sequence in any schema CREATE ANY SNAPSHOT create snapshots in any schema CREATE ANY SYNONYM create private synonyms in any schema CREATE ANY TABLE 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 ANY TRIGGER create a database trigger in any schema associated with a table in any schema

CREATE ANY TYPE create types and type bodies in any schema CREATE ANY VIEW create views in any schema CREATE CLUSTER create clusters in grantee's schema CREATE DATABASE LINK create private database links in grantee's schema CREATE ANY LIBRARY create external procedure/function libraries in grantee's

schema CREATE PROCEDURE create stored procedures, functions, and packages in

grantee's schema CREATE PROFILE create profiles CREATE PUBLIC DATABASE LINK create public database links CREATE PUBLIC SYNONYM create public synonyms CREATE ROLE create roles CREATE ROLLBACK SEGMENT create rollback segments CREATE SEQUENCE create sequences in grantee's schema

Page 46: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 46 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

System Privilege Allows grantee to... CREATE SESSION connect to the database CREATE SNAPSHOT create snapshots in grantee's schema CREATE SYNONYM create synonyms in grantee's schema CREATE TABLE 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 TABLESPACE create tablespaces CREATE TRIGGER create a database trigger in grantee's schema CREATE TYPE create types and type bodies in grantee's schema CREATE USER 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 VIEW create views in grantee's schema DELETE ANY TABLE * delete rows from tables or views in any schema

* truncate tables in any schema DROP ANY CLUSTER drop clusters in any schema DROP ANY DIRECTORY drop directory database objects DROP ANY INDEX drop indexes in any schema DROP ANY LIBRARY drop external procedure/function libraries in any schema DROP ANY PROCEDURE drop stored procedures, functions, or packages in any

schema DROP ANY ROLE drop roles DROP ANY SEQUENCE drop sequences in any schema DROP ANY SNAPSHOT drop snapshots in any schema DROP ANY SYNONYM drop private synonyms in any schema DROP ANY TABLE drop tables in any schema DROP ANY TRIGGER drop database triggers in any schema DROP ANY TYPE drop object types and object type bodies in any schema DROP ANY VIEW drop views in any schema DROP LIBRARY drop external procedure/function libraries DROP PROFILE drop profiles DROP PUBLIC DATABASE LINK drop public database links DROP PUBLIC SYNONYM drop public synonyms DROP ROLLBACK SEGMENT drop rollback segments DROP TABLESPACE drop tablespaces DROP USER drop users EXECUTE ANY PROCEDURE * execute procedures or functions (standalone or

packaged) * reference public package variables in any schema

EXECUTE ANY TYPE 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 ANY TRANSACTION * force the commit or rollback of any in-doubt distributed transaction in the local database. * induce the failure of a distributed transaction.

FORCE TRANSACTION force the commit or rollback of grantee's in-doubt distributed transactions in the local database

GRANT ANY PRIVILEGE grant any system privilege. GRANT ANY ROLE grant any role in the database INSERT ANY TABLE insert rows into tables and views in any schema LOCK ANY TABLE lock tables and views in any schema MANAGE TABLESPACE take tablespaces offline and online and begin and end

tablespace backups RESTRICTED SESSION logon after the instance is started using the Server Manager

STARTUP RESTRICT command SELECT ANY SEQUENCE reference sequences in any schema

Page 47: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 47 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

System Privilege Allows grantee to... SELECT ANY TABLE query tables, views, or snapshots in any schema SYSDBA * perform Server Manager STARTUP and SHUTDOWN

commands, * ALTER DATABASE OPEN/MOUNT/BACKUP, * CREATE DATABASE, * ARCHIVELOG and RECOVERY and * includes the RESTRICTED SESSION privilege.

SYSOPER * perform Server Manager STARTUP and SHUTDOWN commands, * ALTER DATABASE OPEN/MOUNT/BACKUP, * ARCHIVELOG and RECOVERY * includes the RESTRICTED SESSION privilege.

UNLIMITED TABLESPACE 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 ANY TABLE 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;

Page 48: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 48 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 49: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 49 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Entrez le nom d'un rôle.

Vous pouvez affecter des privilèges système.

Page 50: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 50 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Mais aussi, des privilèges sur les objets.

Sur les objets XML.

Page 51: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 51 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 52: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 52 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 53: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 53 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 54: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 54 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 55: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 55 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 56: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 56 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 57: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 57 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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')

Page 58: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 58 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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)

Page 59: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 59 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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. 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

1

Page 60: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 60 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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;

Page 61: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 61 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

VIII. La sauvegarde

A. L'export avec EXP

B. L'import avec IMP

Page 62: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 62 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 63: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 63 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

C. Information sur les tablespaces Pour accéder à ces informations, choisissez Administration|Storage

Page 64: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 64 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Vous visualisez les statistiques relatives aux tablespaces.

Page 65: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 65 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 66: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 66 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

E. La gestion des utilisateurs Choisissez Administration|Create Users.

Page 67: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 67 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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

Page 68: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 68 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 69: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 69 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Également les statistiques...

Plus fort... les paramètres liés à l'exécution des ordres SQL.

Page 70: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 70 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Mention spéciale pour les requêtes qui s'éterniseraient !

Page 71: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 71 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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.

Page 72: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 72 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

I. Import / Export On aimerait une interface aussi simple dans les versions Enterprise.

Page 73: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 73 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

Page 74: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 74 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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 ###########################################

Page 75: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 75 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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'

Page 76: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 76 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

*.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'

Page 77: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 77 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

XI. Annexe 2 : Oracle pour Netware

A. Démarrer le service Oraload Orastart

B. Console d'administration Load svrmgr30

Page 78: Sommaire - dsfc.net · sqlnet.ora Détermine le mode d'authentification ... USER_AUDIT_OBJECT trace des commandes exécutées sur des objets appartenant à l'utilisateur

Administration Oracle - 78 / 78 -

Denis Szalkowski Formateur Consultant janvier 2006

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/