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 :

[9i] Modifier character set d'une bdd


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut [9i] Modifier character set d'une bdd
    Bonjour,

    Os : windows XP
    Bdd : 9iR2
    Version : 9.2.0.4
    Ancien character set : WE8ISO8859P1
    Nouveau character set : WE8ISO8859P15 => ça ne marche pas

    Voici les différentes étapes que j'ai suivi d'après une réponse de Bouyao (08/02/2005) :
    1. J'ai vérifié le parametre parallel_server dans le fichier init.ora est false (<> ALL)

    2. j'ai fait un backup de la base (question de securité)

    3. J'ai lancer les commandes suivantes sous sqlplus comme sysdba
    Code:

    STARTUP MOUNT;
    ALTER SYSTEM ENABLE RESTRICTED SESSION;
    ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    ALTER DATABASE OPEN;
    ALTER DATABASE CHARACTER SET <new_character_set>;
    SHUTDOWN IMMEDIATE;
    STARTUP RESTRICT;
    [/code]
    Voici l'erreure que j'obtient :
    SQL> alter database character set WE8ISO8859P15;
    alter database character set WE8ISO8859P15
    *
    ERREUR Ó la ligne 1 :
    ORA-12712: le nouveau jeu de caractÞres doit Ûtre un surensemble de l'ancien


    SQL> alter database character set UTF8;
    alter database character set UTF8
    *
    ERREUR Ó la ligne 1 :
    ORA-12712: le nouveau jeu de caractÞres doit Ûtre un surensemble de l'ancien
    Au départ, ma bdd était en 9.2.0.1, j'ai passé les différents patch afin d'être en 9.2.0.4.

    J'ai vérifier la compatibilité du nouveau character set en utilisant csscan.

    Est-ce quelqu'un aurait une idée ?
    Merci d'avance.[/code]

  2. #2
    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
    si tu as accés à Metalink, la note 260192.1 semble répondre parfaitement au problème.

    En principe, si tu es sûr que les caractères sont compatibles (cf csscan) il suffit de recréer les controlfiles en changeant le character set

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    Si j'ai bien comprit, en quelque sorte, je fais tout simplement une copie de la bdd en changeant dans le script la ligne "...character set ...". mais comment changer le NLS_LANG (American_america.WE8ISO8859P1 en French_france.WE8ISO8859P15) ?

  4. #4
    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
    ce sont les paramétres d'environnement qui permette de modifier ça. Dans la base de registre ou le profile selon l'OS

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    Merci.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    Merci.
    Je vais essayer tout ça maintenant.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    J'ai regénéré les controlfiles, j'ai modifié dans le script la ligne où apparaît "character set..." en mettant bien WE8ISO8859P15 et je l'ai lancé. Tout va jusque là, ensuite, je vérifie les paramètres NLS et surprise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from nls_database_parameters;
    NLS_CHARACTERSET WE8ISO8859P1
    SQL> alter database character set WE8ISO8859P15;
    alter database character set WE8ISO8859P15
    *
    ERREUR Ó la ligne 1 :
    ORA-12712: le nouveau jeu de caracteres doit etre un surensemble de l'ancien
    Est-ce que j'ai louper une étape ?

  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
    tu as bien fait un SET et non REUSE pour recréer les control files ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    Oui, j'ai bien fait un SET et non un REUSE et sans succès
    Je pense que je vais partir sur un export/import de la bdd.
    Merci.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 29
    Points
    29
    Par défaut
    Bonjour à tous,

    Je suis parti sur un export full de la bdd et j'ai fait un import, le character set de la bdd est bien en WE8ISO8859P15.

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

Discussions similaires

  1. [MySQL] Modifier un champ d'une bdd à partir d'un tableau php
    Par pepone44 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/05/2008, 11h12
  2. connaitre le character set d'une base
    Par slausseur dans le forum Administration
    Réponses: 4
    Dernier message: 17/09/2007, 11h30
  3. Afficher et modifier les données d'une bdd
    Par gathe77 dans le forum ASP
    Réponses: 16
    Dernier message: 29/08/2007, 16h19
  4. Changer le character set d'une base
    Par Rakken dans le forum Oracle
    Réponses: 2
    Dernier message: 21/11/2006, 17h21
  5. [Oracle9i] modifier le character set d'une bd?
    Par osmoze dans le forum Oracle
    Réponses: 8
    Dernier message: 16/02/2005, 13h29

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