PREPARATION AU PTI SGBD On complètera ce cours avec les informations du site developpez.com 1.1 Introduction 1.1.1 Qu est ce qu un SGBD? Définition : logiciel qui stocke des données de façon organisée et cohérente. Access : version édulcorée. Mais mono utilisateur, et faible capacité. Les données sont stockées dans des fichiers gérés par le serveur de base de données. Cette opération est opaque. On transmet depuis un client des instructions à la base par l intermédiaire du langage SQL. Avantages : permet de maintenir de façon fiable l intégrité des données opérations de bas niveau opaques rapide multiutilisateurs moins de trafic sur le réseau sécurité Inconvénients : Un peu plus long que bien programme en C, et encore... Plusieurs façons d organiser les données : hiérarchique relationnel déductif objet etc. Les gros SGBDR : DB2 (IBM) Oracle Microsoft SQL Server MySQL SQL STRUCTURED QUERY LANGUAGE. SQL EST LE LANGAGE STANDARD DE LA BASE DE DONNEES. D UN SGBD A L AUTRE, LE SQL CHANGE TRES PEU. 1.1.2 Organisation relationnelle des données Les données sont stockées dans des tables. Table : tableau _a deux entrées. Le MPD (modèle physique des données) nous donne, pour chaque table, les colonnes (i.e. champs) que doit comporter la table. nomtable (colonne_1, colonne_2,..., colonne_n ) Par exemple : CLIENT( numero, nom, prenom, email ) Nous donnera la table numero nom prenom email 459687 TERRIEUR ALAIN alain.terrieur@yahoo.fr PTI SGBDR On complètera ce cours avec les informations du site developpez.com 1/17
Les architectures physiques de SGBD sont très liées au mode de répartition. BD centralisée BD client/serveur BD client/multi serveurs BD répartie BD hétérogène BD mobile CELLE QUI NOUS CONCERNE DANS LE CADRE DES PTI EST LE CLIENT SERVEUR. MEME SI LE CLIENT ET LE SERVEUR SONT INSTALLES SUR LE MEME POSTE PTI SGBDR Les architectures physiques de SGBD sont très liées au mode de répartition. 2/17
PRINCIPAUX SGBD Les grands SGBD Oracle IBM DB2 Microsoft SQL Server Sybase SQL Server Ingres Informix Les open sources MySQL PostgreSQL Les SGBD personnels Borland Paradox Filemaker Interbase Microsoft Access Microsoft FoxPro Les SGBD objets Objectivity Object Store Versant O2 ARCHITECTURE ORACLE Oracle : Système de Gestion de Bases de Données (SGBD) relationnel (SGBDR) édité par Oracle Corporation (http://www.oracle.com/) Basé sur SQL (Structured Query Language), Langage de définition, de manipulation et de contrôle de bases de données relationnelles (Standard ANSI depuis 1986) Première version d Oracle : 1981 Version actuelle : Oracle 11g SQL : "LDD (Langage de Définition de Données) : Création, modification et suppression des définitions des tables "LMD (Langage de Manipulation de Données) : Ajout, suppression, modification et interrogation des données "LCD (Langage de Contrôle de Données) : gestion des protections d accès Fin d instruction : ; Commentaires : /* */ ou commentaire Deux architectures possibles: Client/serveur : Des applications clientes envoient les requêtes SQL et PL/SQL _a un serveur. Multitier : Des serveurs d'application allègent la charge du serveur en réalisant certains accès pour les clients. Un serveur de bases de données est compose : D une instance = plusieurs processus et une zone de mémoire D une base de données De plusieurs schémas, assimiles a des utilisateurs Dans le cas de clusters de machines, Oracle 10g peut associer plusieurs instances à une même base de données. PTI SGBDR 3/17
La connexion client/serveur Un processus utilisateur est crée quand un utilisateur lance une application cliente Une connexion va être créée avec l'instance Oracle, L utilisateur va ouvrir une session. Un processus serveur va analyser et exécuter les requêtes, retourner les données Mode dédié : un processus serveur pour un processus client Mode partage : les clients partagent un groupe de processus serveurs Evite les processus serveurs inactifs Contenu d'un schéma C est l espace logique de travail d un utilisateur. Correspond à un utilisateur : les deux portent le même nom Ensemble d'objets de l'utilisateur manipulables en SQL Exemple : tables, index, clusters, triggers, vues, dimensions, fonctions,... Un objet correspond a : Plusieurs extents Un segment Un tablespace Un ou plusieurs fichiers du tablespace Il n y a pas de correspondance schéma/tablespace Les Tablespaces consistent en un ou plusieurs fichiers (data files). Les Data files n appartiennent qu à un seul tablespace. Les tablespaces SYSTEM et SYSAUX tablespaces sont des tablespaces mandataires. Ils sont créés lors de la création de la base. Le Tablespace SYSTEM est utilisé les fonctionnalités du cœur (par example, data dictionary tables). Le Tablespace auxiliaire SYSAUX est utilisé pour les composants additionnels (tels que Enterprise Manager Repository). PTI SGBDR La connexion client/serveur 4/17
LES PRIVILEGES SYSDBA ET SYSOPER Permettent d'effectuer les opérations au dessus de la base de données Démarrer et arrêter le serveur Créer ou supprimer des bases de données Changer les modes d'archivage de la base... Leur identification est gérée soit : Par le SE, L utilisateur doit appartenir au groupe dba ou oper (ora_dba et ora_oper sous WINDOWS) connect / as sysdba ; connect / as sysoper. Par le fichier password d'oracle. Créer un fichier password avec l'outil ORAPWD Accorder le privilège _a partir de l'utilisateur SYS connect user/user as sysdba; Enchaînement type des opérations Une instance Oracle est démarrée sur le serveur Une application cliente établit une connexion et ouvre une session Le serveur détecte la requête de connexion et crée un processus serveur dédié L'utilisateur lance une requête SQL et un commit Le processus serveur recherche dans la "shared pool\ si la requête existe o OUI : elle sera utilisée pour répondre o NON : la nouvelle requête est insérée dans la shared pool, analysée et exécutée Le processus serveur récupère les données o Dans le cache de données o Dans les fichiers de données (et les charge dans le cache) Le processus serveur modifie éventuellement les données dans le cache Puisqu'il y a validation, LGWR écrit la transaction dans le fichier de reprise o Les changements seront répertoriés dans les fichiers de données par DBWn o Le résultat, ou une confirmation, est envoyé au processus utilisateur. PTI SGBDR Enchaînement type des opérations 5/17
PLANIFIER ET CREER LA BASE Cette opération ne s envisage pas avec la version légère XE. Phase de réflexion avant création, pour faire les bons choix. Réfléchir aux tables et indexes _a venir, estimer leur taille Planifier la distribution de ses fichiers, l'espace libre dans les blocks Décider entre une gestion classique ou automatique des fichiers Choisir l'encodage des caractères (peut être surcharge par les clients) Déterminer la taille des blocs de données Choisir le mode de gestion de l'annulation o Tablespace dédié o Segments d'annulation Déterminer la stratégie de sauvegarder et reprise après panne Spécifier le nom de l'instance SID Créer le fichier de paramètres PFILE (partir de l'exemple Oracle) o Nom de la base, emplacement des fichiers de contrôle Se connecter _a l'instance inactive o SQLPLUS /nolog puis CONNECT / AS SYSDBA Créer un fichier de paramètre serveur SPFILE (_a partir du fichier manuel) Lancer l'instance : STARTUP NOMOUNT (Aucune vérification de cohérence a ce niveau) Créer la base de données : CREATE DATABASE... Créer de nouveaux tablespace, par exemple : o Un USERS pour les utilisateurs o un INDX pour les index Lancer les scripts de création du dictionnaire (catalog.sql, catproc.sql) et éventuellement d'autres scripts optionnels Créer une sauvegarde complète de l'installation dans cet état SCRIPT TYPE : SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool C:\app\JeanPierre\admin\basex\scripts\CreateDB.log append startup nomount pfile="c:\app\jeanpierre\admin\basex\scripts\init.ora"; CREATE DATABASE "basex" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE SIZE 700M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE SIZE 600M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE SIZE 20M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE SIZE 200M AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED PTI SGBDR Enchaînement type des opérations 6/17
CHARACTER SET WE8MSWIN1252 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 SIZE 51200K, GROUP 2 SIZE 51200K, GROUP 3 SIZE 51200K USER SYS IDENTIFIED BY "&&syspassword" USER SYSTEM IDENTIFIED BY "&&systempassword"; set linesize 2048; column ctl_files NEW_VALUE ctl_files; select concat('control_files=''', concat(replace(value, ', ', ''','''), '''')) ctl_files from v$parameter where name ='control_files'; host "echo &ctl_files >>C:\app\JeanPierre\admin\basex\scripts\init.ora"; spool off UNDO TABLESPACE undotbs DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED; Alternative : fichiers gérés par Oracle Oracle peut prendre en charge les fichiers Spécifie dans les paramètres d'initialisation Simplifie les commandes L'administrateur ne gère que la partie logique : tablespace, extents... CREATE DATABASE mabase USER SYS IDENTIFIED BY syspassword USER SYSTEM IDENTIFIED BY systempassword; UNDO TABLESPACE undotdb DEFAULT TEMPORARY TABLESPACE temp1; Configuration du réseau Côté serveur Un processus d'écoute utilisant un protocole réseau : listenersid Un serveur BD Oracle = instance + base Les configurations (=services d'écoute) sont enregistrées dans listener.ora Editable a la main, ou via outils graphiques Côté client Configurations (services d'accès) enregistrées dans tnsname.ora Permet au client de se connecter de façon transparente PTI SGBDR Alternative : fichiers gérés par Oracle 7/17
PARTICULARITES Oracle propose plusieurs outils d administration : SQLPLUS : outil de base permettant d écrire et exécuter des requetes SQL. Oracle entreprise Manager ( APEX pour XE): application Web pour l administration graphique d une base de données. Pour les versions complètes : Oracle Entreprise Manager Grid Control : Application Web permettant l administration de plusieurs bases de données en mode centralisé. SQLPLUS utilise les canaux(pipes) pour communiquer avec le serveur de base de données Oracle. Entreprise Manager met en œuvre un serveur Apache et permet côté client l utilisation d un simple navigateur pour controler la base. Le service utilisé est OMS sur le port 5500 ( ou http://127.0.0.1:8080/apex). Lorsque l on demarre il ya 2 phases : montage, ouverture et. Dans la phase de demarrage, une instance est ouverte, le fichier de parametres est lu, la SGA est allouée et les processus d arriere plans sont démarrés. A ce stade, il n y a pas de base de données associés, seule l instance est lancée. Les vues dynamiques de l instance sont interrogeables(v$instance, V$SGA,V$OPTION,V$PARAMETER,V$VERSION etc) mais pas les vues dynamiques relatives à la base de données (V$DATABASE.). Cet état est utilis& lors de la création de la base par exemple. Lors du montage de la base, l instance utilise le paramètre CONTROL_FILES du fichier de paramètres pour localiser les fichiers de contrôle et les ouvrir. Les fichiers de données et de journalisation sont alors connus mais toujours pas ouverts, en cas d erreur, il n y a pas d alerte. Toutefois, à ce stade il est associé une base de données à l instance mais toujours pas ouverte, V$DATABASE est consultable mais ont ne peut pas utiliser la base en mode normal, seul l utilisateur avec les privilèges SYSDBA ou SYSOPER peuvent effectués les taches d administration. Lors de l ouverture de la base l instance ouvre les fichiers de données et de journalisation, vérifie la cohérence signale et répare les éventuelles erreurs (SMON). A ce moment, la base devient exploitable, les utilisateurs peuvent se connecter et accéder au dictionnaire des données. PTI SGBDR PARTICULARITES 8/17
VERIFICATIONS POSSIBLES DEMANDEES AVANT PTI EMPLACEMENT DES FICHIERS (Datafiles) Oracle express(xe) Oracle 11g Toutes les commandes seront passées en mode console via SQLPlus Dans tous les exemples on utilisera la base : «base2» SQL> startup open base2 Instance ORACLE lancúe. Total System Global Area 778387456 bytes Fixed Size 1374808 bytes Variable Size 276825512 bytes Database Buffers 494927872 bytes Redo Buffers 5259264 bytes Base de donnúes montúe. Base de donnúes ouverte. Commande nécessaire si la base a été démontée et arrêtée avant. AVEC XE ou sans directive particulière, la base par défaut est montée et ouverte, ce qui ne gène pas la commande suivante PTI SGBDR EMPLACEMENT DES FICHIERS (Datafiles) 9/17
OBTENU AVEC LA COMMANDE SQL (Dans SQL plus) : SQL> select file#,name from v$datafile; FILE# NAME 1 C:\APP\BASE2\DATAFILE\O1_MF_SYSTEM_6M0ZZKJ8_.DBF 2 C:\APP\BASE2\DATAFILE\O1_MF_SYSAUX_6M10086Z_.DBF 3 C:\APP\BASE2\DATAFILE\O1_MF_UNDOTBS1_6M100OSK_.DBF FILE# NAME 4 C:\APP\BASE2\DATAFILE\O1_MF_USERS_6M101D14_.DBF SQL> Vue des tablespaces dans sql developer OBTENU AVEC LA COMMANDE SQL (Dans SQL plus) : SQL> SELECT tablespace_name 2 FROM dba_tablespaces 3 ORDER BY tablespace_name; TABLESPACE_NAME SYSAUX SYSTEM TEMP UNDOTBS1 USERS SQL> PTI SGBDR OBTENU AVEC LA COMMANDE SQL (Dans SQL plus) : 10/17
VERIFICATIONS DU DEMARRAGE EFFECTIF DES SERVICES Exemple pour la base2 dans oracle 11g Vérifications du système d écoute du serveur : Cette commande se passe normalement dans la console système. SQLPlus permet de basculer du client SQL à la console en donnant la commande «HOST». Lorsque vous avez terminer avec la console système, il suffit de retaper «exit» pour retourner dans la console SQL. SQL> HOST Microsoft Windows [version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Tous droits réservés. C:\app\JeanPierre\product\11.2.0\dbhome_1\BIN>LSNRCTL STATUS LSNRCTL for 32 bit Windows: Version 11.2.0.1.0 Production on 15 MAI 2011 19:36:41 Copyright (c) 1991, 2010, Oracle. All rights reserved. Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=base2))) STATUT du PROCESSUS D'ECOUTE Alias LISTENER Version TNSLSNR for 32 bit Windows: Version 11.2.0.1.0 Production Date de dúpart 15 MAI 2011 12:46:39 DurÚe d'activitú 0 jours 6 heures 50 min. 4 sec Niveau de trace off SÚcuritÚ ON: Local OS Authentication SNMP OFF Fichier de paramþtres du processus d'úcoute C:\app\JeanPierre\product\11.2.0 \dbhome_1\network\admin\listener.ora Fichier journal du processus d'úcoute c:\app\jeanpierre\diag\tnslsnr \PC JeanPierre\listener\alert\log.xml RÚcapitulatif d'úcoute des points d'extrúmitú... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\base2ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC JeanPierre)(PORT=1521))) PTI SGBDR Vérifications du système d écoute du serveur : 11/17
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=PC JeanPierre)(PORT=2484))) (DESCRIPTION=(ADDRESS=(PROTOCOL=nmp)(PIPENAME=\\PC JEANPIERRE\pipe\ORAPIPE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC JeanPierre)(PORT=8090))(Presentat ion=http)(session=raw)) RÚcapitulatif services... Le service "CLRExtProc" comporte 1 instance(s). L'instance "CLRExtProc", statut UNKNOWN, comporte 1 gestionnaire(s) pour ce service... Le service "base2" comporte 1 instance(s). L'instance "base2", statut READY, comporte 1 gestionnaire(s) pour ce service... Le service "base2xdb" comporte 1 instance(s). L'instance "base2", statut READY, comporte 1 gestionnaire(s) pour ce service... La commande a rúussi C:\app\JeanPierre\product\11.2.0\dbhome_1\BIN>EXIT SQL> PTI SGBDR Vérifications du système d écoute du serveur : 12/17
DEROULEMENT DU PTI Pour des raisons de gain de temps et d homogénéisation avec les solutions Oracle XE ou MYSQL, vous ne procèderez pas à la création manuelle de la base de données. (Ceci ne vous empêchera pas d avoir compris et intégré les connaissances précédentes) Vous démarrerez donc dans une base : déjà créée à l aide de l assistant ou dans la base d origine ou dans la base XE pour cette version. L OBJECTIF ETANT DE CREER UN SCHEMA SUR LEQUEL VOUS TRAVAILLEREZ 1. ETAPE1 : CREATION D UN COMPTE UTILISATEUR AVEC PRIVILEGES SQL> CONNECT sys / as sysdba SQL> CREATE USER manager 2 IDENTIFIED BY manager 3 TEMPORARY TABLESPACE temp 4 DEFAULT TABLESPACE users 5 QUOTA UNLIMITED ON users; Utilisateur crúú. Cet utilisateur s identifie par «manager», son mot de passe est «manager». Il travaille par défaut sur le tablespace «USERS» avec un quota illimité 1.1. Attribuer à manager les privilèges nécessaires pour : Se connecter à la base SQL> GRANT DBA TO manager WITH ADMIN OPTION ; Autorisation de privilþges (GRANT) acceptúe. SQL> GRANT CREATE SESSION TO manager ; Autorisation de privilþges (GRANT) acceptúe. Puis dans l ordre pour se connecter, accéder aux ressources, créer un utilisateur et le supprimer. SQL> GRANT connect, resource TO manager; Autorisation de privilþges (GRANT) acceptúe. SQL> GRANT create user TO manager; Autorisation de privilþges (GRANT) acceptúe. PTI SGBDR ETAPE1 : CREATION D UN COMPTE UTILISATEUR AVEC PRIVILEGES 13/17
SQL> GRANT drop user TO manager; Autorisation de privilþges (GRANT) acceptúe. SQL> 2. ETAPE2 : CREATION DE COMPTE UTILISATEUR AVEC DROITS LIMITES SQL> create user user1 2 identified by user1; Utilisateur crúú. SQL> create user chef 2 identified by chef; Utilisateur crúú. SQL> 2.1. Attribuer les privilèges nécessaires pour : Se connecter à la base SQL> GRANT connect TO USER1; Autorisation de privilþges (GRANT) acceptúe. SQL> GRANT connect TO CHEF; Autorisation de privilþges (GRANT) acceptúe. 3. CREATION DES PROFILS Les profils permettent de limiter le nombre de sessions ouvertes par l utilisateur et la durée de vie des mots de passe. CREATE profile P_manager limit SESSIONS_PER_USER 1 password_life_time 30 ; CREATE profile P_chef limit SESSIONS_PER_USER 2 password_life_time 30 ; CREATE profile P_user1 limit SESSIONS_PER_USER 3 password_life_time 90 ; POUR VALIDER CETTE ETAPE COMME POUR TOUTE AUTRE ETAPE ON N OUBLIERA PAS L INSTRUCTION : COMMIT ; 4. CREATION DES TABLES DE LA BASE : On créera manuellement une table puis on lancera un script pour les suivantes comme suit : Connexion du manager, avec son mot de passe. SQL> CONNECT manager / manager PTI SGBDR ETAPE2 : CREATION DE COMPTE UTILISATEUR AVEC DROITS LIMITES 14/17
4.1. Création d une table CREATE TABLE PRODUIT (numprod number, nomprod varchar2 ( 30 ) ) ; 4.2. Création d une contrainte de clé primaire : alter table produit add constraint pk_produit PRIMARY KEY (numprod ) ; 4.3. Lancement du script de création des autres tables : Avec la commande suivante : SQL> @chemin et nom du fichier sql contenant le script. On peut faire glisser directement le fichier depuis l explorateur vers la commande sql juste après l @ Exemple : SQL> @D:\ort\oracle\cours\oracle 2\livraisons.sql Ce script contiendra les séquences de création de table et insert values plus les contraintes d intégrité des relations sauf une que vous réaliserez à la main comme indiqué dans le 4.4 Pour vérifier la bonne création des tables on exécutera la requête suivante : SQL> select table_name from user_tables; 4.4. Mise en place d une contrainte d intégrité sur une jointure SQL> alter table livraison add constraint fk_livraison FOREIGN KEY ( numfou ) REFERENCES fournisseur ( numfou ) ; Cette requête indique une jointure avec cardinalité minimum à 1 entre la table livraison et la table fournisseur. C est une CIF (contrainte d intégrité fonctionnelle) qui n autorise pas l enregistrement d une livraison sans qu elle fasse référence à un fournisseur. 5. CREATION ET MISE EN PLACE DES RÔLES : Les rôles regroupent des privilèges (droits de création, modifications, suppression ) de tables, vues PTI SGBDR Mise en place d une contrainte d intégrité sur une jointure 15/17
Pour le manager : (sélection, création, suppression et mise à jour) Create role R_manager ; Grant create user to R_manager; Grant select, update, delete on produit to R_manager ; (autorisation sur la table produit) Grant select, update, delete on fournisseur to R_manager ; (autorisation sur la table fournisseur) Et ainsi de suite pour toutes les tables du schéma. Pour le chef : (sélection, création et mise à jour) Create role R_chef ; Grant create user to R_chef; Grant select, update on produit to R_chef ; (autorisation sur la table produit) Grant select, update on fournisseur to R_chef ; (autorisation sur la table fournisseur) Et ainsi de suite pour toutes les tables du schéma. Pour le user1 : (sélection et mise à jour) Create role R_user1 ; Grant select, update on produit to R_user1 ; (autorisation sur la table produit) Grant select, update on fournisseur to R_user1 ; (autorisation sur la table fournisseur) Et ainsi de suite pour toutes les tables du schéma. 5.1. VERIFICATION DES PRIVILEGES SELECT * FROM session_privs ; SELECT * FROM user_sys_privs; 6. CREATION D UNE VUE Une vue est une table virtuelle de la base de données dont le contenu est défini par une requête. Seule la requête est stockée. Ex : SQL> CREATE VIEW NB_FOURNISSEURS_PAR _PRODUIT AS 2 SELECT nomprod, COUNT( numfou ) AS NB FOURNISSEURS 3 FROM PRODUIT P 4 LEFT OUTER JOIN PROPOSER PR 5 ON P. numprod = PR. numprod 6 GROUP BY nomprod 7 ORDER BY COUNT( numfou ) ; PTI SGBDR VERIFICATION DES PRIVILEGES 16/17
Table 2.2 _ Startup Modes Mode Description startup nomount Starts the Instance Creates the SGA and runs the background processes after reading the parameters in the init.ora (Instance configuration) file. startup mount Starts the Instance and mounts the database Reads the control file and identifies the Database files. startup open Starts the Instance and allows access to the Database for users via the Oracle Server. startup force Performs a shutdown abort, followed by a startup open. Note that startup force is an option, not a mode. Table 2.3 _ Shutdown Types Type Description shutdown normal Prohibits sessions from being created and waits for any current session to log out, then shuts down cleanly. shutdown immediate Prohibits sessions from being created, rolls back all uncommitted transactions, disconnects any remaining connected sessions, and shuts down cleanly. shutdown abort Shuts down the database in a very ungraceful manner similar to a crash. Note that the Database will need to undergo Instance recovery the next time it starts up, which it will do automatically. Table 2.4 _ Default DBA Accounts Username Default Password Description SYS CHANGE_ON_INSTALL SYS owns the data dictionary tables, the place where all the information about database objects is stored. You should only connect to the database as SYS if you are explicitly instructed to do so in this book or in the Oracle documentation. SYSTEM MANAGER SYSTEM was originally created to maintain database objects that support the Oracle Developer suite of tools. SYSTEM can perform most of the actions that SYS can and will be used most of the time for the exercises in this book. INTERNAL ORACLE (in some environments, INTERNAL) INTERNAL is not truly a database account,but is used when performing certain maintenance work against and starting and stopping the database. Note that for this book s exercises, if you are prompted for a password when connecting INTERNAL use the password ORACLE (as shown in the createdb00_01.sql script below). Oracle states that connecting INTERNAL will no longer be supported as of Oracle version 8.2. From then on, you will connect as SYS AS SYSDBA. PTI SGBDR CREATION D UNE VUE 17/17