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 :

[ORA-31641] expdp et fichier Dump


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [ORA-31641] expdp et fichier Dump
    Bonjour à tous

    J'ai mis en place une tâche planifiée sur mon serveur, pour faire chaque soir le dump de la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expdp system/manager@oper directory=datapump dumpfile=oper.dump logfile=oper.log FULL=y
    Ceci marche une 1ère fois, quand le fichier oper.dump n'existe pas encore, mais dès lors qu'il a été créé une fois, ensuite l'export me renvoie cette erreur :
    ORA-31641 : impossible de créer le fichier de vidage "..."
    ORA-27038 : le fichier existe déjà
    OSD-04010 : option "CREATE" indiquée, le fichier existe déjà
    Alors je supprime mon dump de la veille, et là ça marche.
    Seulement moi je voudrais qu'il l'écrase automatiquement, comme avec l'ancienne commande exp ; je ne vois pas où j'ai spécifié cette option "CREATE", peut-être lorsque j'ai créé mon directory...

    Pouvez-vous m'adier ?

    Version d'oracle : 10g

    Merci

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour à toi ,
    Il n'existe pas d'option avec Datatpump pour ré écrire sur ce fichier :

    OSD-04010: <create> option specified, file already exists

    In this case, the dump fileset already exists and the job cannot overwrite it:
    needs to be removed.
    Cependant il suffit d'ajouter la suppression avant de démarrer ton export .

    Sinon pour info il existe l'ancien export et import présent dans la 10G.

    Je te conseille également d'utiliser un méthode plus fiable pour sauvegarder ta base de données :
    - Sauvegarde à froid
    - Sauvegarde à chaud
    - Flash recovery aréa

    Jaouad

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est ce que j'aurais aimé faire, mais je n'y arrive pas...

    j'ai activé l'archivelog (donc j'ai mes fichiers .arc), sinon, j'ai aussi un repertoire backupset avec des fichiers .bkp...

    j'ai essayé avec RMAN mais lorsque je faisais par ex : j'avais un message d'erreur car j'ai des datafile de plus de 2Giga et il me dit que c trop grand... j'ai aussi essayé les commande restore, recover...

    j'aurais aussi voulu utilisé l'assistant de sauvegarde/restauration, mais je ne sais pas où il se trouve.
    comme tu le vois, j'ai cherché pendant longtemps comment bien faire mes sauvegardes, mais je n'y arrive pas, et je n'ai plus le temps là, alors je me suis dit qu'un export c'est quand même pas mal (c grâce au dump de ma version 7 par ex que je bascule sur ma 10g) et j'ai toujours mes fichiers d'archivelog en cas de pépin (sauf que je ne sais pas encore les utilisé...)

    Bon, sinon oui je vais ajouter la tâche de suppression de mon dump de la veille qui aura été enregistré sur bande magnétique.

    C'est laborieux, vraiment !

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Effectivement je vois que c'est laborieux .

    Pour les sauvegardes traditionnelles :

    tu as les sauvegardes à chaud et à froid vu que tu utilise les archives .

    Sauvegarde et restauration

    Concernant la flash recovery aréa , il te faut aprés avoir initialisés les paramétres programmés les sauvegardes.

    Le plus simple est tout simplement de le faire via OEM ( d'ailleurs l'installation d'OEM en mode standalone est en cours de validation technique )

    Cependant, mais ceci n'étant qu'un avis personnelle il vaut mieux ne pas utiliser cette méthode , car elle génère enormément de logs , donc elle peut ralentir l'activité de la base si tu n'a pas de serveur et disques performants


    Jaouad

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    j'ai déjà bien lu ton rapport sur les sauvegarde, ça a été mon livre de chevet pdt plusieurs jours (j'exagère un peu mais pas tant que ça !!)

    mais quand tu donnes tes scripts pour les sauvegardes, moi je ne vois pas ce que veulent dire ces lignes de commande, je ne sais pas dans quel genre de fichier de commande les écrire, alors je préfère ne pas les utiliser, et utiliser qq chose que je connaisse, et que je n'aurais pas copié...

    crois-moi, j'aimerais ne pas être aussi nulle et savoir utiliser tes scripts mais bon...

    je vais utiliser l'export normal et puis voilà.

    en cas de pépin, j'importe le dump, je restaure mes fichiers d'archivelog et puis voilà, non ?

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    sinon, pour l'OEM, j'aurais effectivement voulu l'utiliser, pour le Database Control, mais comment l'installer ?

    Et j'ai bien un serveur et des disques très performants, donc pas de souci.

    Merci

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Tout d(abord je crois que tu te trompes, les archives sont plus pertinenetes avec une sauvegarde à froid ou a chuad .

    COncernant mes scripts je serais heureux de pouvoir t'aider à les comprendre .

    Peux tu me dire qu'elle est ton OS et surtout qu'elle est ta version d'oracle


    Jaouad

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    ma version : 10g, sous windows server 2003
    alors si tu veux bien, décortiquons ensemble ton script de sauvegarde à froid, et si tu veux bien me dire pourquoi c mieux qu'un export ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- Variables d'environnement de SQL*Plus de formatage de l'affichage
    Set feedback off 
    Set Linesize 200
    Set Heading off 
    Set Pagesize 0
    Set Trimspool off 
    Set Verify off
    déjà ça je ne sais pas ce que c'est !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     define repertoire ='c:\archive' --  répertoire de destination des fichiers sauvegardés 
    define fichier_control=c:\control_backup.sql  -- définition du fichier de sortie
    spool &fichier_control
    là on définit le repertoire d'archive, OK, ensuite le "control_backup.sql" c'est un fichier qui va se créer c'est ça ? et spool &fichier_control, je comprends pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select 'host copy  ' || name || ' &repertoire ' from v$datafile order by 1 ;
    select 'host copy  ' || member || ' &repertoire ' from v$logfile order by 1 ;
    select 'host copy  ' || name  || ' &repertoire ' from v$controlfile order by 1 ;
    select 'host copy  ' || name  || ' &repertoire ' from v$tempfile order by 1 ;
    là j'ai du mal aussi
    spool off
    -- Fermeture de la base de données pour avoir des fichiers synchronisés
    shutdown immediate
    @&fichier_control
    [/code] ?
    Merci beaucoup !!![/code][/quote]

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bon voyons par quoi nous allons commencer :

    Avant tout il faut préciser une chose importante ; mon tutorial s'adresse a des DBA et dans ce sens j'essaye de faire le plus de choses à partir des outils Oracle. C'est pourquoi je lance mes opérations de fichiers de copies à partir de Sql*Plus.

    Dans le premier point :

    Nous allons génèrer un fichier et que pour ce fichier ne comprenne que des commandes Oracle , J'essaye de le formater en conséquence .

    le Seconde point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    define repertoire ='c:\archive' --  répertoire de destination des fichiers sauvegardés 
    define fichier_control=c:\control_backup.sql  -- définition du fichier de sortie 
    spool &fichier_control
    Ici on définit manuellement un endroit ou vont être stokées des fichiers backup , tu peux changer la localisation si cela ne te plait pas

    Ensuite on définit le nom du fichier de sortie qui va être crée.Peux importe le nom tu peux l'appeller toto ou tata

    La commande spool est une commande Sql*Plus qui va dire à Oracle à partir de ce moment de génèrer un fichier de sortie en plus de la sortie écran sauf si tu lance Sql*plus en mode Silence

    Mode Silence de Sq*plus

    le troisiéme point :

    C'est ce que l'on appelle construire dynamiquement son fichier, il va chercher touts les datafiles , tempfiles ,controlfile, undo , redo ... enfin tout ce qui constitue une base de donnée et génèré automatiquement les ordres de copies de fichiers et les mettre dans le fichier de spool : c:\control_backup.sql

    En plus de cela il faut sauvegarder l'init.ora ou le SPfile ainsi que ne pas oublier de génèrer un fichier de creation de control files ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Alter database backup controlfile to trace resetlogs ;
    puis tu arrête la base afin d'avoir une synchronisation des datafiles par le biais des SCN ( pour plus de renseignement voir l'excellent article de bouyao ) puis tu lance le script qui va sauvegarder ta base.

    Ceci s'appelle une cold backip car on arrête la base.

    Puisque ta base est arrête , soit tu connecte à une autre base soit tu effectue un

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    je vais essayé tout ça et te tiens au courant

    par contre, vu que c dans sqlplus, y a moyen ensuite de le faire qd même en tâche planifiée ?

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Si tu veux le faire sous une tache planiffiés
    tu te construit un script avec l'arrêt de la base et la relance à la fin de ta sauvegarde.

    Puis tu fait un .cmd et tu le schédule avec le plannificateur de tache Windows

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    alors j'ai passé ton script tel quel, et j'ai une fenetre dos qui s'est ouverte, cmd.
    mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define repertoire ='c:\archive'
    ce serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define repertoire ='c:\archive[b]\[/b]'
    car sinon, c pas un repertoire qu'il créé mais un fichier...

    si j'ai bien compris, ça ca chercher tous les datafiles, control files, et tout et tout, et ça vient les enregistrer là où tu lui dit, en l'occurence : c:\archive, c'est ça ?

    secondo, tu dis :
    En plus de cela il faut sauvegarder l'init.ora ou le SPfile
    comment je fais ça ? qu'est-ce que j'ajoute comme ligne au script ?

  13. #13
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    défine est une commande sqlplus

    Un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL> define jaouad=' Forum Oracle DVP ' 
    SQL>  define jaouad 
    DEFINE JAOUAD          = " Forum Oracle DVP " (CHAR)
    pour
    c:\archive,
    c'est ca c'est la destination d'archivage

    Sous windows , le pfile ou spfile est présent ici :


  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    voilà ce que moi je comptais faire au départ (et c'est ce qui était fait sur l'ancien serveur, depuis toujours) :
    le matin : startup
    le soir : export puis shutdown
    le soir tard : sauvegarde des disques (donc tous les datafiles, le dump, etc...) sur un lecteur de bande magnétique.

    je te dis ça car je constate que ton script permet d'enregistrer les datafiles sur un autre repertoire, finalement c'est comme moi sauf que moi c sur des cassettes de sauvegardes... alors, est-ce vraiment moins bien de faire comme je fais ?

  15. #15
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Si tu t'oriente vers une opération systéme de copie des disques dans ce cas , pas besoin d'export ou de sauvegarde Oracle

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    ok merci bcp

    je vais quand même voir tes scripts de plus près.
    de plus, j'archive comme je te l'ai dit, c'est bien beau, mais en cas de pépin, je serais bien incapable de les utiliser ces fichiers...



    au fait, fais pas attention à ma différence de pseudo, c'est que j'avais oublié mon pseudo initial en postant ce matin, et il m'est revenu après manger !!

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    Alors ton script m'a enregistré tous mes fichiers de données, SAUF 1 !!
    c'est le plus gros, il fait plus de 7G !
    c'est une des raisons pour laquelle j'avais décidé de na pas faire les commandes backup datafile... car j'avais le même pb !!

    Mais c pas grave, je vais utliser mes sauvegardes sur bande, c'est vrai que ça suffit, j'avais pas bien réfléchis que ça ferait double emploi, je voulais tellement bien sauvegardé !!!

Discussions similaires

  1. [NEWBIE] Récupartion d'un fichier DUMP
    Par jacques64 dans le forum Installation
    Réponses: 10
    Dernier message: 03/08/2007, 10h56
  2. ORA-03113: fin de fichier sur canal de communication
    Par damiano84 dans le forum Administration
    Réponses: 7
    Dernier message: 30/04/2007, 16h34
  3. [8i] Convertir du texte en fichier dump
    Par smaragdos dans le forum Oracle
    Réponses: 1
    Dernier message: 31/10/2006, 14h01
  4. importer un fichier dump oracle sur un SGBD
    Par squalito dans le forum Oracle
    Réponses: 2
    Dernier message: 26/08/2006, 16h57

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