Import base de donnees oracle

Résolu
Bonjour,
Je veux importer une base de données oracle d'un poste vers un autre, mais le problème qui se pose c'est ce qu'il s'agit de deux versions differents à savoir 8 et 9i, lorsque j'essaye j'aurais cet message
" La conversion de jeu de caractere est impossible ..."
Veuillez me répondre et merci infiniment

22 réponses

Résumé de la discussion

Importation d'une base Oracle entre deux versions (8i et 9i) entraîne l'impossibilité de convertir le jeu de caractères, générant une erreur qui bloque le transfert. Plusieurs éléments suggèrent de vérifier les paramètres NLS sur les deux machines via select * from nls_database_parameters, et d'envisager l'usage d'outils comme dbca pour créer une base vide sur Linux/Unix. Des tentatives échouent avec IMP-00017/ORA-6550 et des messages sur DBMS_EXPORT_EXTENSION, indiquant que certains composants ou paramètres statistiques ne sont pas compatibles entre les versions et que des ajustements manuels peuvent être nécessaires. Des échanges discutent aussi de la différence entre export et import, de la syntaxe d’import, et de l’importance de préparer les tablespace, les rôles et les utilisateurs avant l’opération.

Bobot (l’IA à votre service)
  1. Que donne le "select * from nls_database_parameters" sur les 2 machines ?

    @++
    Poster, poster encore et toujours :-)
    5
    1. Bonjour à tous,

      J'importe d'une base Oracle 9i vers une 10g et l'import commence correctement, certaines tables sont créées correctement, mais après un certain temps, j'obtiens le message suivant :
      IMP-00017: Echec de l'instruction suivante avec erreur ORACLE 6550 :
      "BEGIN SYS.DBMS_EXPORT_EXTENSION.SET_IMP_SKIP_INDEXES_OFF; END;"
      IMP-00003: Erreur ORACLE 6550 rencontrÚe
      ORA-06550: Ligne 1, colonne 12 :
      PLS-00302: Le composant 'DBMS_EXPORT_EXTENSION' doit Ûtre dÚclarÚ
      ORA-06550: Ligne 1, colonne 8 :
      PL/SQL: Statement ignored

      Avez-vous une idée de la source de cette erreur ?
      1
      1. salut,svp j ai besoin des cours d'oracle pour mon TP qu'il s'agit de la gestion des salle TP
        merci d'avance
        0
        1. bonjour,
          j ve savoir comment creer une base de donnée sous orcle 8i et avoir son nom et son chemin car je ve l'utiliser dans un prg java et puis comment je vais l'importer sur un cd.
          merci d'avance.
          0
          1. j ve bien avoir un doc ki regroup les differen commande utilisé pr une bd oracle (9i)
            -1
            1. [Aperçu de votre message]

              qui peut m'aider pour corriger ce petit code afin d'envoyer les données choisi de l'oracle à une base mysql
              select de l'oracle mettre dans un tableau puis choisir un enregistrement pour l'insérer dans mysql

              merci d'avance les amis
              $stmt1 = OCIParse($conn, "SELECT bt_compteur.bt_cpteur_num as num_ctr,
              bt_compteur.rc_bttarif_code as tarif, bt_compteur.rc_ccpteur_code as code_ctr

              FROM ".$bas."
              WHERE ( bt_compteur.cf_ab_ref ='".$ref."'

              )");
              OCIExecute($stmt1);
              $nrows1 = OCIFetchStatement($stmt1,$results1);
              if ( $nrows > 0 )
              {
              print "<TABLE BORDER=\"1\">\n";
              print "<TR>\n";
              while ( list( $key1, $val1 ) = each( $results1 ) )
              {
              print "<TH>$key1</TH>\n";
              }
              print "</TR>\n";
              for ( $i = 0; $i < $nrows1; $i++ )
              {
              reset($results1);
              print "<TR>\n";
              while ( $column1 = each($results1) )
              {
              $data1 = $column1['value'];
              print "<TD>$data1[$i]</TD><TD> <a href='valider_imp.php?num_ctr=$results1['NUM_CTR'][$i]&&tarif=$results1['TARIF'][$i]&&code_ctr=&$results1['CODE_CTR'][$i]'
              <img src='img/icons/edit_small.gif' width='16' height='16' border='0' title='valider' /></a></TD>";


              }
              print "</TR>\n";
              }
              print "</TABLE>\n";
              }
              else
              echo "Aucune données trouvées<BR>\n";

              la vie est belle pour ceux qui la connaissent bien
              0
          2. bonjour

            je veux savoir qu'elle est la syntaxe de l'import d"une base de donne oracle
            et es que toute la structure de la base soit importé ou non

            merçi
            1
            1. bon jour,merçi
              je veut l'instruction pour importer la base de donnée sous oracle ,j'ai la sauvgarde .BMP?merçi
              0
              1. Bonjour,

                C'est un bug connu de Oracle depuis 2005.

                Le plus souvent c'est qu'il y'a un apostrophe a quelque part dans le nom d'un colonne.
                Donc soit 2 possibilités les NLS ne sont pas les mêmes (BD à BD) ou (dans registre ou variable d'environnement) ou
                c'est soit l'histoire de l'apostrophe.

                Dans le cas de l'apostrophe:
                J'ai pris la peine depuis d'exporter (en 9i) avec l'option statistics=none
                L'option existe possiblement aussi avec la commande d'import (jamais essayé) .
                Je sais que le l'option ANALYZE=N existe mais fait-elle la même chose?.

                Dans le cas des NLS:
                Compare tes paramètres de registre ou ceux de tes BD dans la table v$NLS_PARAMETERS.

                A+
                0
                1. salut et merci pour ta réponse davlar99.

                  En fait je suis sous windows.
                  J'ai réussi à créer ma base de données vide. J'ai créé les tablespace, les segments de rollback comme la base existante en 8i.

                  J'ai également créé les rôle et le user avec lequel je fais l'export.

                  L'import se passe pas "trop mal" mais y a des erreurs avec les statistiques:

                  IMP-00017: Echec de l'instruction suivante avec erreur ORACLE 6550 :
                  "DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := '31'; SREC.MAXVAL :="
                  " '393939'; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_STATS.N"
                  "UMARRAY(254422546068207000000000000000000000,297121534289157000000000000000"
                  "000000); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EPC := 2; DBMS_STATS"
                  ".SET_COLUMN_STATS(NULL,''xxxx,'ICODE',NULL,NULL,NULL,,,00000"
                  "1111111,0,srec,4,0); END;"
                  IMP-00003: Erreur ORACLE 6550 rencontrée
                  ORA-06550: Ligne 1, colonne 367 :
                  PLS-00103: Symbole "," rencontré à la place d'un des symboles suivants :

                  ( - + case mod new not null others <an identifier>
                  <a double-quoted delimited-identifier> <a bind variable> avg
                  count current exists max min prior sql stddev sum variance
                  execute forall merge time timestamp interval date
                  <a string literal with character set specification>
                  <a number> <a single-quoted SQL string> pipe
                  Symbole "null" a été substitué à "," pour continuer.

                  As-tu une idée ?

                  Merci
                  0
                  1. Salut mick57,

                    Si t'es sous linux ou Unix, tu peux utiliser l'outil dbca en mode graphique. C'est un "Wizard" qui va t'aider à créer un BD vide.

                    Asser simple et rapide. Tu le trouveras sous $ORACLE_HOME/bin

                    Bonne chance.

                    Dave
                    2
                    1. Bonjour,

                      je cherche moi aussi à migrer de oracle 8i vers la 9i.
                      pas de probleme pour l'export.

                      Par contre comment faire pour créer une base vide sur la 9i afin de faire un import sur une base propre ?

                      merci

                      Micka
                      0
                      1. svp à chaque fois que j'installe oracle 9i , oms ne peut pas démarrer

                        j'ai essayer plusieurs fois , et j'ai pas réussi , qu'est ce que je fais

                        c'est à dire comment j'installe oracle 9i avec oms
                        0
                        1. commt importer/exporter une base de donnee oracle dans unix?
                          0
                          1. Salut

                            pour exporter sous linux/unix

                            exp system/xxxx file=/var/dump/file.dump log /var/log/export_oracle.log FULL=Y ROWS=Y

                            Mais regardes de pluspres les options avec -help

                            deplus pour faire un export il y a une opeartion prelimaine a realiser:
                            les infos ici:

                            http://www.nuxora.com/2007/01/22/import-export-sous-oracle/
                            0
                          2. Salut a tous
                            je suis moi actuellement en stage et je dois faire une sauvegarde de la base de donnée oracle 9.2.0.1.0 sous linux red hat enterprise 3, sur un disk NAS, et je vous avoue franchement je suis nul en linux (pour l'instant)alors si kelkun pouvait m aider ca serai vraiment sympa car la je vois le stage avancer mais pas mon projet.voila merci a ceux ki me tenderont la main.
                            cramouillo
                            0
                        2. exporter tu veux dire ???

                          importer :
                          qqchose (fichier, etc.) => oracle

                          exporter :
                          oracle => qqchose...

                          @++

                          Vous hésitez entre Linux et Windows ?
                          Vous voulez dépenser du temps ou de l'argent ?
                          1
                          1. Bonjour,

                            je cherche comment importer que les données d'une base oracle et je veux pas importer les setructures des tables.

                            Merci
                            0
                            1. Merci,
                              c vrai que lorsqu'il s'agit d'un caractere set superieur il n'est pas possible de faire l'import,
                              la solution donc, c de reinstaller 9i avec soin, en choisissant le jeu de caratere convenable, et c fait avec reuissite, en plus que ça il faut mentionner dans le script d'imort l'option FULL à YES

                              Merci à tous
                              0
                              1. Je viens de vérifier et l'export laisse les données en clair... Il doit donc être possible d'utiliser tr.

                                A tester donc :)

                                @++
                                Poster, poster encore et toujours :-)
                                0
                                • 1
                                • 2