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

Oracle Discussion :

Exporter TOUS les users d'une base


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut Exporter TOUS les users d'une base
    Bonsoir tout le monde !
    Bon désolé si la question a déjà été répondu, j'ai beau chercher par le moteur du forum je n'ai trouvé que des exports Full ...

    Tout ce que je cherche à savoir c'est que faut-il spécifier au champ "OWNER" lorsque j'exécute la commande "exp" pour que tous les utilisateurs d'une base Orcle 9i soient exportés dans le fichier dump ? Je cherche juste à exporter l'ensemble des utilisateurs de la base ( à part peut être les users SYS et SYSTEM ) et non pas la base complète.

    J'avais bien tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp userid=system/manager owner=* ... etc ...
    Mais ça n'a pas l'air d'être ça !

    Merci de me répondre ! J'y arrive pas résultat j'me colle devant "1ère Compagnie" ... et c'est la pire des tortures !

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Si vous voulez "tous les uses sauf sys et system", c'est que, par définition, ce ne sont pas tous les users que vous voulez exportez !

    Dans ce cas, je crains que vous n'ayez d'autres choix que de spécifier un à un ceux que vous voulez exporter...
    (mais rien ne vous empêche de faire une procédure PL/SQL qui vous génèrera le fichier de paramétrage de l'export !)

  3. #3
    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 077
    Points
    8 077
    Par défaut
    Il est peut-être utile de savoir qu'un export, même réalisé en mode FULL, exclut systématiquement les schémas SYS, ORDSYS, MDSYS, CTXSYS, ORDPLUGINS, LBACSYS, et XDB.
    En revanche, SYSTEM est pris en compte.

    Comme disait Leo, si vous voulez exclure SYSTEM, vous êtes obligé de spécifier la liste complète des schémas à prendre en compte :

    OWNER=(schema1, schema2, schema3)

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    je suis dans le même cas que "Nullos Oracle".

    Pourriez-vous m'indiquer un endroit ou je puisse trouver de la documentation pour exporter mes utilisateur.

    Vous parlez de la fonction "export"...

    Merci d'avance

  5. #5
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par LeoAnderson
    (mais rien ne vous empêche de faire une procédure PL/SQL qui vous génèrera le fichier de paramétrage de l'export !)
    Oulà ! Là je touche un domaine que je maîtrise pas !
    Je sais même pas comment créer un fichier à partir d'un code PL/SQL ... Y aurait-il quelqu'un capable de faire un petit exemple simple de requête PL/SQL qui peut enregistrer le résultat d'un select dans un fichier de script shell ?
    Soit au final je pourrais créer un fichier .sh qui contiendrait "exp userid=system/manager owner=([le résultat de la sélection de tous les user]) etc..."
    J'ai beau cherché sur Google ou la doc Oracle je vois rien Gilbert Montagné ...
    Ca serait super sympa !

  7. #7
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    vous pouvez faire un fichier SQL de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    set echo off
    set feedback off
    set serveroutput on
     
    SPOOL EXPORT.PAR
     
    DECLARE
       CURSOR C1 IS
          SELECT UserName
            FROM DBA_Users
           WHERE UserName not in ('SYS', 'SYSTEM');
       ch_Owner VARCHAR2(4000);
       ch_fich  VARCHAR2(256);
    BEGIN
       DBMS_OUTPUT.PUT_LINE('USERID=SYSTEM/ORACLE@ORCL');
       DBMS_OUTPUT.PUT_LINE('FULL=N');
       SELECT Name||'_'||to_char(sysdate, 'YYYYMMDD') INTO ch_fich FROM v$database; 
       DBMS_OUTPUT.PUT_LINE('FILE='||ch_fich||'.dmp');
       DBMS_OUTPUT.PUT_LINE('LOG='||ch_fich||'.log');
       DBMS_OUTPUT.PUT_LINE('FEEDBACK=50');
     
     
       FOR C IN C1 LOOP
          ch_Owner := ch_Owner||C.UserName||', ';
       END LOOP;
       ch_Owner := 'OWNER=('||SubStr(ch_Owner, 1, Length(ch_Owner)-2)||')';
       dbms_output.put_line(ch_owner);
    END;
    /
     
    SPOOL OFF
    et en le lançant sous SQL*Plus, vous obtiendrez dans le répertoire courant un fichier nommé EXPORT.PAR ressemblant à :
    USERID=SYSTEM/ORACLE
    FULL=N
    FILE=ORCL_20050313.dmp
    LOG=ORCL_20050313.log
    FEEDBACK=50
    OWNER=(SCOTT, USER1, USER2)
    ensuite, pour lancer l'export :

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    j'ai testé d'exporter un utilisateur, ici, c'est l'utilisateur "KING_S" mais oracle ne semble pas disposé à me le laisser exporter, je me suis loggé en SYS et SYSTEM afin de tester avec le maximum de droit mais rien n'y fait.

    Vous trouverez ci-dessous la ligne tapée et l'erreur d'oracle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp userid=system/manager owner=KING_S file=/home/oracle/export log=/home/oracle/exp_log
    SP2-0734: unknown command beginning "exp userid..." - rest of line ignored.

    Si vous trouvez quelque chose pour résoudre ce problème, je suis preneur à 100%

    Merci d'avance

  9. #9
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    L'export (comme l'import) est une commande système qui ne doit pas être lancée sous SQL*Plus mais en mode console sous l'OS (commandes MS-DOS ou xterm)

  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Et je suppose qu'il faut que la base de données soit éteinte pour faire l'export afin de ne pas la corrompre???

  11. #11
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Pas vraiment...

    Je ne saurais que trop vous conseiller la lecture d'un excellent ouvrage sur les utilitaires export/import : http://download-west.oracle.com/docs...a76955/toc.htm
    ;-)

    [edit]
    L'intégrité des données lors d'un export est garanti par la même technique que celle qui garantit l'intégrité des données lorsqu'un utilisateur lit les données modifiées par un autre (lecture consistente).
    [/edit]

  12. #12
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    En fait l'export ne fonctionne pas dans mon shell (xterm), il s'exécute mais rien ne se passe, le fichier n'est pas créé.

    Donc j'ai utilisé un script qui me génère les commandes SQL.

    Merci de votre aide

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Je demandais pas tant, juste un p'tit exemple de select quelconque !
    Merci beaucoup, ça semble fonctionner.

    Allez un p'tit [Résolu]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connaitre les users connectés à une base
    Par JauB dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/06/2006, 14h22
  2. Réponses: 2
    Dernier message: 25/06/2006, 20h06
  3. Réponses: 2
    Dernier message: 07/03/2006, 15h27
  4. les users connectés à une base oracle
    Par progima dans le forum Oracle
    Réponses: 8
    Dernier message: 08/11/2005, 17h43

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