Skip to main content
Version: Next

Initialisation des bases Oracle

Introduction

Cet article est un guide pour créer les schémas de base de données Avanteam sous Oracle.

Changement de scope v23

Depuis la v23, la création de la structure des bases de données Oracle est maintenant réalisée par l'installateur. Seule la création des utilisateurs Oracle est maintenu dans cette version dans le cas où cette opération serait réalisée par un administrateur système.

Présentation des notions importantes à connaitre sous Oracle

Notion d’instance et de base de données sous Oracle

L’instance Oracle est un ensemble de processus (oracle.exe) s'exécutant sur le système d'exploitation et la mémoire associée qui interagit avec le stockage de données. L'instance est l'interface entre l'utilisateur et la base de données (l'instance doit ouvrir la base de données avant de manipuler des données). Les processus capables de communiquer avec le client et d'accéder à la base de données sont fournis par l'instance. Sous Oracle, une instance ne gère qu'une seule base de données à la fois (plusieurs instances peuvent ouvrir une base de données unique, mais une instance ne peut pas ouvrir plusieurs bases de données). Sous SQL Server et les autres SGBDR (Système de Gestion de Base de Données Relationnelles) telles que Sybase et autres, l'instance peut gérer plusieurs bases de données. La base de données Oracle fait référence aux fichiers (le stockage réel du SGBDR Oracle).

Notion de Schéma et Utilisateur sous Oracle

Sous Oracle, un schéma de base de données est fortement lié à la notion de compte connexion utilisateur (USER) pour ne pas dire que c'est exactement la même chose. Le schéma et l'utilisateur constituent le même composant à la différence près que quand on parle des espaces contenant des objets on parlera de schéma, et quand on désigne les personnes propriétaires de ces objets on parlera d'utilisateurs. Ces deux notions sont associées dans Oracle, ils correspondent aux mêmes composants. Ces notions sont indissociables dans Oracle, contrairement à SQL Server, le schéma est dissocié du compte utilisateur, qui lui-même est dissocié par rapport au login de connexion.

Dans Oracle un schéma = un utilisateur = un login de connexion = USER. On parle ici de schéma quand on cible des espaces contenant des composants objets créés par le même utilisateur. Un utilisateur peut créer un objet (table, vue, etc..) sur un autre schéma seulement lorsque le propriétaire de ce schéma lui accorde les autorisations nécessaires. Un utilisateur system peut aussi octroyer des droits à d'autres utilisateurs sur d'autres schémas différents.

Création des tablespaces, datafiles

Un tablespace est un objet logique. Il représente un espace physique sur le disque ou plus simplement, un ou plusieurs fichiers de données physiques. Un fichier de données est obligatoirement rattaché à un tablespace. A savoir, qu'il ne peut exister de tablespace vide, il faut au minimum l'associer à un fichier de données.

Le tablespace peut contenir un ou plusieurs fichiers de données.

Création du tablespace et des fichiers de données

  • Ouvrir le client Oracle SQL Developer sur le serveur sur lequel on va réaliser l’installation.
  • Accéder à la fenêtre DBA en bas à gauche de Oracle SQL Developer. Si elle n'est pas affichée, vous pouvez l'afficher à partir du menu Affichage > DBA. image.png
  • Dérouler l'arborescence de la connexion : Connexions > PROJETS_SYSTEM > Stockage > Tablespaces. Clic droit sur l'élément Tablespaces, choisir Créer … sur le menu contextuel qui s'affiche. image.png
  • Remplir les champs suivants : Avant tout sachez qu'on crée un seul tablespace pour les deux schémas de base de données DIRECTORY et APPLICATION. image.png
  1. Nom : Spécifier le nom de base de données sans le suffixe (_APP ou _DIR).
  2. Type de tablespace : Assurez-vous que l'élément Permanent est sélectionné.
  3. Nom : Saisir le nom du fichier de données.
  4. Répertoire : L'emplacement des fichiers de base de données sur le serveur.
  5. Taille de fichier : La taille initiale du fichier de base de données.
  6. K, M, G, T : Unité de mesure de la taille du fichier.
  7. Extension automatique activée : Augmentation de taille du fichier de manière automatique.
  8. Taille suivante : La taille du pas d'incrémentation du fichier.
  9. K, M, G, T : Unité de mesure de la taille du fichier.
  10. Illimité : Permet d'indiquer que le fichier de base de données n'aura pas de limite.
Guide des unités de mesure
  • K : Kilo octet.
  • M : Méga octet.
  • G : Giga octet.
  • T : Téra octet.

Création des schémas / utilisateurs APP & DIR

Comme présenté précédemment les schémas et les utilisateurs correspondent aux mêmes composants. C'est pour cela que la création des utilisateurs correspond à la création des schémas de base de données. On suffixera le nom de l'utilisateur par _APP pour le schéma APPLICATION et _DIR pour le schéma DIRECTORY.

Création d'un utilisateur

Oracle 19c

Pour Oracle 19c il faut passer la commande suivant avant de créer un user :

ALTER SESSION SET "_ORACLE_SCRIPT" = true;
  • Dérouler l'arborescence de la connexion : Connexions > PROJETS_SYSTEM > Sécurité > Utilisateurs.
  • Clic droit sur l'élément Utilisateurs, choisir Créer … sur le menu contextuel qui s'affiche. image.png

Sur la fenêtre suivante, dans l'onglet Utilisateur, vous allez saisir le nom du schéma de base données qui correspond aussi au Nom utilisateur, ainsi que le mot de passe associé. Le plus important est de sélectionner le Tablespace par défaut associé à ce schéma, créé précédemment. Choisir aussi le Tablespace temporaire qui est TEMP. image.png

Attribution des rôles et privilèges aux utilisateurs

Avant d'appliquer les modifications, accédez aux onglets Rôles accordés et Privilèges système pour attribuer des droits sur les utilisateurs. Attribution des rôles CONNECT, DBA et RESOURCE aux utilisateurs du schéma DIRECTORY et APPLICATION. image.png

Octroyez aussi les privilèges système CREATE ANY PROCEDURE, CREATE ANY VIEW et EXECUTE ANY PROCEDURE sur les deux schémas de base de données et appliquez les modifications. Si toutefois vous commettez des erreurs vous pouvez toujours revenir sur le composant pour le modifier. image.png

Création des connexions sous Oracle SQL Developer

Afin de pouvoir lancer vos requêtes de création d'objets de vos bases APP et DIR, il faut créer les connexions à ces schémas de base de données.

  • Sur la fenêtre Connexions, vous allez pouvoir créer vos connexions, comme indiqué sur les figures ci-dessous. image.png

    1. Indiquez le Nom de connexion (un nom quelconque mais généralement ça sera le nom des schémas de base de données APPLICATION et DIRECTORY).
    2. Le Nom utilisateur
    3. Le Mot de passe
    4. Il faut indiquer le Nom d'hôte (le nom de la machine ou son adresse IP)
    5. Le numéro de Port (par défaut 1521)
    6. Le SID (le descripteur qui a le même nom que l'instance de base de données)
  • Faites un test (en cliquant sur Tester (7) ; si le statut est succès alors vous pouvez vous connecter via le bouton Connexion (8). Dans le cas contraire, vérifiez les informations citées précédemment.

image.png

  • Finalement vous devez avoir les deux connexions sur la liste à gauche : (1) et (2) représentent les deux connexions aux schémas DIR et APP. image.png