IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Créer une instance ou un schéma par application ?


Sujet :

Administration Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Créer une instance ou un schéma par application ?
    Bonjour,

    Actuellement, nous avons 3 anciens serveurs (32 bits) avec sur chaque machine Oracle 10g d'installé.
    Chacun de ces serveurs est dédié à une application : ERP, SIRH, et un site intranet.

    Nous avons commandé un nouveau serveur afin de consolider les 3 bases de données dans une seule machine.

    On n'a pas de DBA, ça revient à moi qui suis plutôt développeur.

    Quelle est la solution la plus pertinente, créer une instance ou bien un schéma pour chaque application ?

    Voici quelques chiffres :
    ERP : base de 10Go de données, 70 utilisateurs
    SIRH : 8Go de données, 25 utilisateurs
    site web : 2 Go de données, 15 utilisateurs simultanés

    Cordialement,

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Citation Envoyé par Naleo Voir le message
    Quelle est la solution la plus pertinente, créer une instance ou bien un schéma pour chaque application ?
    Sans dba, à mon avis le mieux est de construire des machines virtuelles et de poser une base par machine.

    MAIS :
    • Il n'y a pas de solution toute faite à votre problème
    • Un DBA ne serait pas du luxe

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il n'y a pas d’intérêt à avoir plusieurs instances sur un serveur. Il vaut mieux consolider tout dans une seule base. Surtout pour des volumes si faibles.
    Donc si les applications permettent d'installer chacune dans un schema dédié, et de tourner sur la même version d'Oracle, c'est le mieux. Il est bon d'avoir des tablespaces dédiés aussi.
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Il existe différents critères à considérer pour répondre à cette question, notamment :

    1) Sécurité
    Si c'est une base unique multi schéma, les éventuels objets munis de privilèges PUBLIC seront accessibles aux 3 populations d'utilisateurs.
    Les éventuels utilisateurs possédant des privilèges de type ANY (par exemple SELECT ANY TABLE) ou le rôle DBA auront accès aux objets des 3 schémas.

    2)Compatibilité applicative
    Certains objets, en particulier les rôles, n'ont pas de propriétaire. Ça signifie qu'il ne peut y avoir, par exemple, qu'un seul rôle R_CONSULT dans la base globale. Si les différentes bases initiales utilisaient des rôles de même nom, ça posera problème au moment de la consolidation.
    Même problème pour les éventuels synonymes publics.

    3) Evolutivité
    Si vous voulez par la suite passer la base globale en V11 par exemple, cela va toucher les 3 applications d'un coup. Il faut donc une validation globale et l'accord simultané des différents éditeurs concernés.

    4) Exploitation
    Si vous devez arrêter la base globale pour une raison quelconque (sauvegarde consistante par exemple), vous touchez les 3 applications d'un coup.
    Si vous avez des bases séparées, il faut multiplier par autant les procédures d'exploitation, notamment les sauvegardes.

    5) Ressources consommées
    La consolidation a pour objectif de réduire les ressources matérielles, (notamment la consommation mémoire), mais aussi humaines.
    Vos bases sont très modestes, et j'imagine qu'au total elles ne prennent guère plus que 1 Go de mémoire.
    Si le serveur est dédié pour ces 3 bases, vos ressources matérielles vous permettent sans souci de les garder séparées.

    A vous d'examiner ces points (qui ne constituent évidemment pas une liste complète) et de tirer une conclusion selon vos critères prioritaires.

    Mais en bonne logique cette réflexion aurait dû être menée avant d'acheter le nouveau matériel !
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour vos réponses, je vais étudier les pistes évoquées.

    -Pour la virtualisation, ce n'était pas possible au niveau des licences.

    -Oui les applications permettent d'avoir chacune un schéma dédié.

    -Concernant l'évolutivité, pour l'instant c'est ok, les 3 applis sont compatible avec la V11.

    -Frank, pourquoi c'est le mieux de tout avoir dans la même base ?

    -Au niveau sécurité et compatibilité applicative, je vais étudier ça.

    -Au vu de vos remarques, à part le point concernant les ressources consommées, quels sont les inconvénients du fait d'avoir 3 instances ?


    En fait, j'étais parti sur l'idée d'avoir une instance par application car la nouvelle machine était assez puissante (32Go de ram) pour tout faire tourner (L'ERP et le SIRH prennent 2Go de mémoire chacun et le site web 800Mo).
    Le serveur sera dédié uniquement aux 3 bases.

    Cependant depuis hier, je me suis dit que le fait d'avoir une seule instance de 3 schémas pourrait me permettre d'améliorer les interfaces et les requêtes de reporting avec des requêtes multi-schéma.

  6. #6
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Naleo Voir le message
    -Frank, pourquoi c'est le mieux de tout avoir dans la même base ?
    Chaque base a un dictionnaire de données(disque). Chaque base a une instance (mémoire, processus). Ce sont des ressources qu'il vaut mieux mutualiser si c'est possible. De plus il est difficile d'empêcher qu'une instance prenne toutes les ressources du serveur.

    Pomalaix a très bien décrit les critères à prendre en compte.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

Discussions similaires

  1. Comment faire pour créer une instance par item de liste ?
    Par pulsart06 dans le forum Général Python
    Réponses: 5
    Dernier message: 03/05/2012, 21h45
  2. créer une instance par introspection
    Par PoichOU dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2008, 13h10
  3. [POO] Créer une instance d'un objet par la valeur d'une variable
    Par philworks dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/11/2007, 14h27
  4. Réponses: 5
    Dernier message: 17/07/2006, 18h34
  5. [VB.NET]Créer une instance par page
    Par Dnx dans le forum ASP.NET
    Réponses: 20
    Dernier message: 31/10/2005, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo