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 :

[Oracle 9i] comment copier un DBF à chaud ?


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut [Oracle 9i] comment copier un DBF à chaud ?
    Bonjour, j'ai un soucis pour faire un backup.

    Voici le scénario :
    je veux faire un copie de mes fichier DBF de ma base ouverte, mais je n'ai pas accès au serveur oracle, donc le seul moyen est de passé par oracle lui même et de lui dire de faire cette copie.

    J'ai trouvé dans le package dbms_backup_restore la procédure copydatafile qui semble faire ce que je souhaite, malheureusement lorsque je veux la tester j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ORA-06502: PL/SQL erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres
    ORA-06512: à "SYS.DBMS_BACKUP_RESTORE", ligne 2690
    ORA-06512: à ligne 8
    appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      sys.dbms_backup_restore.copydatafile(dfnumber => 11,
                                           fname => 'c:\temp\ma_copy.dbf');
    Cette erreur se produit sur ma base oracle 9.2.0.5 mais aussi sur une version 8i : 8.1.7.0.0.

    est-ce que qqn pourrait m'aider ?

    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 ,

    N'est ce pas plutôt une proc RMAN que vous êtes en train d'utiliser :

    Pourquoi vous ne pouvez avoir acces au serveur

  3. #3
    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
    J'ai oubli" de vous donner ce lien :
    Sauvegarde et restauration sous Oracle

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    Bonjour Jaouad,

    je ne peux pas accéder au serveur pour des raisons de sécurité, donc je dois faire un backup à distance et sans installer un logiciel sur le serveur oracle.

    pour RMAN j'y ai pensé mais ça fait du paramétrage en plus à effectuer alors que je pensais faire ma copie de dbf avec une simple opération.

    Mais bon le pb reste le même pourquoi j'ai ce message d'erreur lorsque je veux utiliser la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sys.dbms_backup_restore.copydatafile
    :

  5. #5
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Est ce que tu connais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLESPACE <non de la tablespace> BEGIN BACKUP;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    oui oui je connais très bien.

    voilà ce que je voulais faire :
    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
    33
     
    create or replace procedure BackupDataFile AUTHID CURRENT_USER AS
      V_FILE     VARCHAR(255);
      V_ID       number;
      V_TBL      VARCHAR2(255);
      mfull_name varchar2(255);
      mrecid     number;
      mstamp     number;
     
      CURSOR TBL IS
        SELECT FILE_NAME, FILE_ID, TABLESPACE_NAME FROM sys.dba_data_files;
     
    begin
      begin
        IF NOT TBL%ISOPEN THEN
          OPEN TBL;
        END IF;
        LOOP
          FETCH TBL
            INTO V_FILE, V_ID, V_TBL;
          EXIT WHEN TBL%NOTFOUND;
          execute immediate 'alter tablespace ' || V_TBL || ' begin backup';
          sys.dbms_backup_restore.copydatafile(dfnumber  => V_ID,
                                               fname     => 'D:\temp\' || V_TBL || '.DBF',
                                               full_name => mfull_name,
                                               recid     => mrecid,
                                               stamp     => mstamp,
                                               isbackup  => sys.diutil.int_to_bool(0));
          execute immediate 'alter tablespace ' || V_TBL || ' end backup';
     
        END LOOP;
        CLOSE TBL;
    end BackupDataFile;
    mais le copie par COPYDATAFILE ne se fait pas.

  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
    IL me semble que cette procédure est souvent utilisé dans RMAN et ne peut pas être utilisé de maniére optimale seule.

    Il vaut mieux transmettre les scripts ( sauvegarde à chaud classique ) de suavegarde à chaud aux personnes qui ont les droits

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    V_FILE VARCHAR(255); VARCHAR2

    non ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    Désolé, même en changeant le Varchar en Varchar2 j'ai toujours la même erreur sur CopyDataFile.

  10. #10
    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
    Citation Envoyé par Jaouad
    IL me semble que cette procédure est souvent utilisé dans RMAN et ne peut pas être utilisé de maniére optimale seule.

    Il vaut mieux transmettre les scripts ( sauvegarde à chaud classique ) de suavegarde à chaud aux personnes qui ont les droits
    +1

    Dans la doc, cette procédure est toujours mentionnée dans des paragraphes traitant de RMan...

Discussions similaires

  1. Comment copier un Panel dans la PressePapier
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/04/2004, 16h45
  2. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09
  3. Comment copier une clé de la base des registres ?
    Par annecyrond dans le forum Langage
    Réponses: 2
    Dernier message: 16/09/2003, 07h53
  4. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  5. Comment copier un bitmap d'une image à une autre?
    Par gord's dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2003, 13h07

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