Console de configuration SAFE X3 V2 > Export et import de dossiers avec la console 

La console permet l'import de dossiers dans votre solution. Elle met à jour les numéros de séquences de chaque table, et crée la fiche dossier.

Il existe deux fonctions d'imports dans la console de configuration SAFE X3 V2, la première est l'import d'un dossier depuis une sauvegarde (copie de fichier) avec un répertoire de données SVG contenant les données à plat à importer (la fonction d'export de dossier de la console permet de réaliser simplement cette opération). L'autre fonction permet à l'aide d'un assistant la recopie d'un dossier directement depuis une autre solution en ligne, il n'est donc plus nécessaire de passer par des étapes manuelles de sauvegardes/export/restauration pour copier un dossier d'une solution à une autre.

Les multiples options et possibilités des fonctions d'import de la console permettent de répondre à une très large palette de besoins en terme de copie/restauration/migration de dossiers.

Export d'un dossier

La fonction d'export de dossier assure la création d'un répertoire SVG contenant les données à plat d'un dossier. Sa finalité est de permettre l'import ultérieur du dossier dans une autre solution au moyen de la fonction d'import de dossier.

Pour exporter un dossier, lancez la console de configuration SAFE X3 et cliquez sur le bouton Exporter dans l'onglet Dossiers de votre solution, après avoir choisi le dossier à exporter.

Dans la boite de dialogue "Saisie du paramètre" choisissez le répertoire qui contiendra les données à plat extraites. La console propose par défaut SVG.

Import d'un dossier sauvegardé avec répertoire de données à plat SVG

La méthodologie suivante se base sur le fait que le dossier à importer a été extrait et copié dans l'arborescence de vos dossiers applicatifs. Les tables ont été exportées à plat dans un répertoire à l'aide de la fonction d'export de tables de l'applicatif X3 ou de la fonction d'export de la console.

  • Copie du répertoire du dossier à importer dans [CheminDuServeurApplication]\DOSSIERS\
  • Copie du répertoire X3_PUB du dossier à importer dans [CheminDuServeurApplication]\DOSSIERS\X3_PUB\

Business Intelligence : Attention, lorsque l'on importe un dossier de démonstration fourni sur le DVD du produit, si l'on veut que les fonctionnalités de Business Intelligence soient opérationnelles dans le dossier à l'issu de l'import, il est impératif que la solution ait été publiée sur le serveur Business Objects préalablement à l'import du dossier.

ATTENTION :
La console ne peut importer que les dossiers stockés sur le même volume que le dossier racine (référence à l'ADXVOLUMES).
La console ne prend pas en compte l'option "Taille réelle dans srf" disponible lors de l'extraction des dossiers. Pour bénéficier de cette optimisation, importez votre dossier via le client SAFE X3.

Pour importer un dossier, lancez la console de configuration SAFE X3 et cliquez sur le bouton Importer dans l'onglet Dossiers de votre solution.

Dans la boite de dialogue "Importer un dossier" choisissez le dossier à importer et le sous répertoire qui contient les données à plat extraites. La console propose automatiquement SVG si il est présent.

Import de dossier dans une base de donnée Oracle

Pour l'import de dossier dans une base de donnée Oracle, la console permet de spécifier la taille des tablespaces.

Import de dossier dans une base de donnée SQL SERVER

Pour l'import de dossier dans une base de donnée SQL SERVER, la console permet spécifier que l'import du dossier se fera dans un nouveau groupe de fichiers :

  • Utiliser les groupes de fichiers (coché) : l'import du dossier va créer deux fichiers Sql Serveur :

    • [NomDeLaBase]_[NomDuDossier]_DAT.ndf pour stocker les données.
    • [NomDeLaBase]_[NomDuDossier]_IDX.ndf pour stocker les index.


    L'utilisation des groupes de fichiers est conseillée pour de meilleures performances. Il est possible dans cette configuration de spécifier les tailles initiales des fichiers de données et index.

  • Ne pas utiliser les groupes de fichiers (non coché) : l'import du dossier va se faire dans le fichier de données primaire :
    • [NomDeLaBase]_data.mdf.


Paramètres d'import

La console est capable de prendre en charge certaines initialisations du dossier importé. Pour ce faire vous devez fournir un utilisateur de connexion de votre application, la console enregistrera avec cet utilisateur la nouvelle fiche dossier importée, il est donc conseillé de renseigner l'utilisateur ADMIN de votre application. Cet utilisateur doit être valide et pouvoir se connecter au dossier racine de votre solution.

Les paramètres "Dossier de référence" et "Dossier de copie" vous montrent les anciens paramètres du dossier que vous voulez importer, et vous permettent de choisir ceux à utiliser lors de la création de la fiche dossier parmi la liste des dossiers déjà existant de votre application.

Il est possible d'importer le dossier historique de votre dossier en même temps que le dossier, vous devez pour cela indiquer le dossier historique à importer dans la liste déroulante à cet effet si ce dernier n'a pas déjà été pré-selectionné. Si vous ne sélectionnez aucun dossier historique, la fiche dossier sera modifiée en conséquence ! vous perdrez donc un éventuel dossier historique existant! A l'inverse si vous cochez la case "importer uniquement le dossier historique" alors l'import de données aura lieu uniquement pour le dossier historique et permet par exemple l'import de ce dernier à postériori du dossier auquel il est rattaché ! Le répertoire SVG de votre dossier historique doit être nommé exactement comme le répertoire SVG de votre dossier à importer !

La case à cocher "ne pas importer les données" permet l'import total de la structure du dossier et de son éventuel dossier historique. Par contre toutes les tables des dossiers importées seront totalement vides, il sera par conséquent impossible de se connecter à ce dossier ni au dossier historique associé. Cette option est utile dans les cas d'imports de dossiers avec de gros volumes de données car il est ainsi possible d'importer la structure du dossier par la console et de restaurer les données de base via une méthode optimisée dans un script de fin d'import lancé par la console (voir init_console dans le paragraphe 'à savoir')

Import d'un dossier depuis une autre solution

Pour importer un dossier depuis une autre solution, lancez la console de configuration SAFE X3 V2 et cliquez sur le bouton Import Distant dans l'onglet Dossiers de votre solution, un assistant vous guide lors des étapes nécessaires à la copie de votre dossier depuis une autre solution vers votre solution courante. Grâce à cet assistant, il est également possible de migrer un dossier depuis une solution de version inférieure en ligne sans étapes manuelle et technique supplémentaire.

nota : pour utiliser la fonction d'import distant avec une solution installée sur un serveur de type Unix, les utilitaires 'tar' et 'gzip' doivent être installés et disponibles dans le PATH.

nota2 : lors du transfert du dossier la console va créer une "archive" qui sera copié depuis la solution source vers la solution cible. Par défaut cette archive est compressée afin d'optimiser le rapport volume/taux de transfert mais sur les systèmes à très large bande passante cette compression entraine une augmentation du temps total de l'opération de transfert par rapport à une copie simple de fichiers. voir le paragraphe 'taux de compression lors des transferts de dossiers' plus bas.

étape 1 de l'assistant import distant

La première étape vous permet de choisir le type de solution source de votre dossier. Il est possible de choisir une solution de type V130 ou une solution de version supérieure administrée par votre console. Les solutions de type V130 ne sont pas administrées par la console et ne sont pas disponible à l'aide d'un moteur d'administration adxadmin, la méthode de connexion à l'application et la sélection des dossiers à migrer est donc différente d'une solution administrée par la console.

étape 2 de l'assistant import distant

Le contenu de cette étape dépend du type de solution que vous avez choisi à l'étape 1.

Dans le cas d'un dossier V130 en ligne à migrer, il vous est demandé de fournir les information de connexion à l'application. Un serveur de traitement V130 est capable d'exécuter certaine actions identique à un moteur d'administration, c'est pourquoi l'écran de connexion est identique. Vous devez fournir le nom du serveur, le port d'écoute du serveur de traitements V130 et un compte de connexion système à la machine hôte de votre serveur de traitements V130. Un compte de connexion applicatif n'est pas nécessaire car la console n'aura jamais besoin de se connecter à l'application source V130.

Dans le cas d'une solution source de type administrée par la console, il vous est demandé de choisir une solution parmi la liste des solutions administrées par votre instance de console. Il n'est pas possible de choisir la même solution comme source et cible.

étape 3 de l'assistant import distant

Cet écran vous permet de choisir le dossier en ligne à importer dans votre solution courante depuis la solution source en ligne. Seul les dossiers du volume A sont listés.

étape 4 de l'assistant import distant

Cet écran permet de choisir si l'on souhaite importer le dossier historisé en même temps que le dossier en ligne. Dans la cas d'une solution administrée par la Console de configuration SAFE X3 V2, le dossier historisé est automatiquement détecté.

Dans le cas d'une solution source type V130, le dossier historisé doit être détecté. Pour cela vous devez renseigner le mot de passe de l'administrateur de base de données pré-renseigné et ensuite appuyez sur le bouton 'Détection'. Un script sql est exécuté par le serveur de traitement 130 sur le serveur source qui permet de déterminer le nom et l'emplacement du dossier historisé. En cas d'échec, un message donne les informations nécessaires concernant la non détection.

étape 5 de l'assistant import distant

Cet écran permet de définir les options d'export du dossier source à migrer. Deux options sont possibles en fonction de la compatibilité et des performances souhaitées.

Le premier mode utilise le format de fichier plat neutre dans un répertoire type SVG dont vous devez spécifier le nom. Ce format offre des performances moindres mais il est par contre possible de migrer un dossier d'une solution utilisant une base SQLServer vers Oracle et inversement. Ce format n'est pas adapté aux volumes très importants mais il est adapté à une migration avec changement de type de base de données. Il est possible de cocher la case 'ne pas exporter les données', ce qui aura pour effet de n'exporter que la structure du dossier avec toutes les tables vides, les données pourront être importées via un script personnalisé lancé à la fin de l'import par la console de configuration Sage X3 et en utilisant des outils tiers optimisés.

Le deuxième mode utilise l'outil d'export propriétaire de la base de données source pour les données ainsi qu'un format SVG avec tables vide pour la structure du dossier. Ce mode est adapté à une volumétrie plus importante mais limite la base de données cible à la même plateforme technique que la base source. En effet, un export Oracle ne pourra être lu que pour alimenter une base Oracle et un export SQLServer ne pourra alimenter qu'une base SQLServer car les outils utilisés sont 'exp' pour Oracle et 'bcp' pour SQLServer, par conséquent les bases de données Oracle 7 et 8 ne sont pas supportées. La console ne prend pas en charge d'outils tiers permettant des conversions de plateforme technique de base de données. Les plateformes conseillées pour ce mode de fonctionnement sont Oracle 9i et 10g ainsi que SQLServer 2000 et 2005. Si ce mode est choisi, l'export base sera automatiquement restauré dans la base de données cible en utilisant les mêmes options et outils.

Dans tous les cas, le mot de passe de l'administrateur de base de données doit être renseigné dans cet écran car il est nécessaire pour diverses tâches comme l'export des séquences.

étape 6 de l'assistant import distant

Cet écran comporte les mêmes options que l'écran d'import standard de dossier sauvegardé, reportez vous aux paragraphes d'explications concernant l'option de création des groupes de fichiers, tailles des tablespaces, dossiers de référence et de copie, etc.

Un champ supplémentaire permet de renommer le dossier lors de son transfert. Ce champ n'est pas accessible dans certains cas qui utilisent l'option d'utilisation d'export propriétaire Oracle (utilisation des utilitaires exp et imp).

étape 7 de l'assistant import distant

Une fenêtre de progression classique vous informe de l'avancement dans les étapes de migration des dossiers, en cas d'erreurs consultez les traces afin de déterminer les causes de d'échecs de la bonne progression. Les  dossiers sont extraits dans une archive compressée qui est transportée vers le serveur cible, de là l'archive reconstitue les dossiers dans le volume A puis l'import de dossier standard est lancé avec les options définies dans l'assistant.

Migration d'un dossier d'une version précédente ou de niveau de patch inférieur

Une fois l'import du dossier terminé dans la console, vous devez:

  • impérativement revalider votre dossier importé depuis le dossier principal de votre solution, et
  • sauvegardez la fiche dossier dans la fonction Dossier et la validez (voir la méthode de migration).

A l'issue de ces actions, votre dossier aura migré dans la dernière version en ligne et il sera possible de se connecter à votre dossier.

SEEWARNING Vous ne devez pas importer un dossier d'une version supérieure ou de niveau de patch supérieur au dossier principal de votre solution.

Exécuter un script utilisateur personnalisé en fin d'import de dossier

En fin d'import, il est possible d'exécuter automatiquement un script utilisateur. Ce script permet par exemple l'intégration de données dans la base via des commandes personnalisées et optimisées après un import de la structure du dossier dans le processus normal par la console de configuration mais avec des tables vides. L'utilisation d'un tel script utilisateur est particulièrement recommandé dans les cas de copie de dossiers dont le volume de données base est important afin de bénéficier des meilleures performances en utilisant les outils optimisés de l'architecture cible.

Dans tous les cas d'import distant ou non, la console détecte la présence d'un fichier init_console[.cmd|.sh] dans le répertoire du dossier à importer et exécute ce fichier de commande si il est présent. L'extension .cmd ou .sh est déterminé en fonction de la plateforme sur laquelle le dossier est importé. La console est sensible aux codes d'erreurs de retours et à la sortie standard strerr. En cas d'erreur détectée, un avertissement est émis dans les étapes d'import et les sorties standard strerr et strout sont affichées dans la trace d'import.

voici un exemple de script Unix/Oracle personnalisé utile dans le cas d'un import distant ou d'une migration de dossier car il permet la copie des données d'une base de données à l'autre directement via un network link et donc utiliser la puissance des outils datapump Oracle pour la gestion des données.

ce script est un exemple permettant d'expliquer le mécanisme de script personnalisé en fin d'import, il ne constitue pas une référence et tout script déployé doit l'être selon l'architecture et les besoins cibles.

#!/bin/bash

ORACLE_HOME=/opt/oracle/product/11.2.0.1
ORACLE_SID=ORCL

NEWFOLDER=NEWFOLDER
OLDFOLER=OLDFOLDER

export ORACLE_HOME ORACLE_SID NEWFOLDER OLDFOLDER

###############################################
# Drop all folder sequences and truncate tables
$ORACLE_HOME/bin/sqlplus -L NEWFOLDER/tiger << EOF

set serveroutput on

BEGIN
FOR s IN (SELECT SEQUENCE_NAME FROM USER_SEQUENCES WHERE SEQUENCE_NAME LIKE 'SEQ_%') LOOP
dbms_output.put_line ('Processing table ' || SUBSTR(s.SEQUENCE_NAME,5));
EXECUTE IMMEDIATE ' DROP SEQUENCE ' || s.SEQUENCE_NAME ;
EXECUTE IMMEDIATE ' TRUNCATE TABLE ' || SUBSTR(s.SEQUENCE_NAME,5);
END LOOP;
END;
/

EOF


###############################################
# import data with datapump and dblink
$ORACLE_HOME/bin/impdp system/manager DIRECTORY=dmpdir SCHEMAS=$OLDFOLDER NETWORK_LINK=OLDDB REMAP_SCHEMA=$OLDFOLDER:$NEWFOLDER INCLUDE=TABLE_DATA,SEQUENCE TABLE_EXISTS_ACTION=REPLACE

Dans cet exemple de script Unix, nous considérons que l'option 'import de la structure des tables uniquement' à été utilisée. C'est pourquoi la première partie du script consiste à "préparer" le dossier en supprimant toutes les séquences qui ont été initialisées avec une valeur minimale et non la valeur réelle du faite de l'option précédente. Ensuite et par précaution au cas où le script serait rejoué plusieurs fois toutes les tables sont vidées avnt l'import effectif des données.

Enfin dans la dernière partie du script, le datapump Oracle est utilisé au travers d'un network link pour copier directement de base à base les données et les séquences. Il n'est pas utile de copier d'autres données puisque la console de configuration a déjà créée toute la structure du dossier, les objets et droits.

A savoir ...

Vous rencontrez une erreur de type "User SYS cannot connect to database : SP2-0640: Non connecté".

Pour résoudre les problèmes les plus courants lors de la configuration des bases de données, consultez la section "à savoir" en cliquant ici ...

Vous rencontrez une erreur de type "cmd538647161.sh: line 3: gzip: command not found" lors de l'utilisation de la fonction d'import distant

Votre essayez de transférer un dossier depuis ou vers une solution installée sur un serveur Unix mais les utilitaire 'tar' et 'gzip' ne sont pas installés ou ne sont pas disponible dans le PATH.

Après l'import d'un dossier via la console, le dossier n'apparaît pas dans l'onglet Dossiers de la solution.

La console n'a pas pu finir de créer la fiche dossier, consultez la trace afin de déterminer la cause de l'interruption de la création de la fiche dossier. Pour que le dossier importé soit affiché dans la liste des dossiers de la solution, vous devez soit enregistrer la fiche de votre dossier importé depuis le dossier mère dans le cas d'une duplication d'un dossier, soit revalider votre dossier importé depuis le dossier mère dans le cas d'une migration d'un dossier d'une version précédente.

Attention à l'import de très gros dossiers via la console (plus de 2h00 de valfil).

Lorsque la console lance une action sur un serveur, elle attend une réponse avec un timeout maximum (par défaut 720000 millisecondes soit 2 heures). Il est possible d'augmenter ce timeout dans les préférences de la console. Onglet Solution, champ config.solution.comm.timeout.long.
Augmenter cette valeur si le timeout de 2h00 est insuffisant et bloque votre import de dossier. Le champ doit être saisie en millisecondes. Vous pouvez ajouter le champ à la liste de valeur si il n'est pas déjà présent.

Erreur "AINSTCONS : le traitement n'existe pas dans l'archive".

En fin d'import, la console se connecte à l'application via le dossier racine pour initialiser le dossier nouvellement importé. Une fois connectée, la console lance la fonction INIT_CONSOLE du traitement AINSTCONS. Si le message "AINSTCONS : le traitement n'existe pas dans l'archive" apparaît, vous devez mettre à jour votre application en appliquant les patchs disponibles et relancer l'import.

Taux de compression lors des transferts de dossier.

Lors du transfert du dossier la console va créer une "archive" qui sera copié depuis la solution source vers la solution cible. Par défaut cette archive est compressée afin d'optimiser le rapport volume/taux de transfert mais sur les systèmes à très large bande passante cette compression entraine une augmentation du temps total de l'opération de transfert par rapport à une copie simple de fichiers.

Il est possible de contrôler le méchanisme de compression dans la Console de Configuration Safe X3 afin d'améliorer les temps de transfert de dossier dans les cas où les serveurs sont connectés par des systèmes à très large bande passante.

Le paramètre "config.solution.configuration.nocompression" doit être ajouté dans les préférences de la Console de Configuration Safe X3 dans l'onglet "solution". Si la valeur est positionnée à "true" alors :

- sous windows, l'outils de compression 7Zip recevra l'option -mx0 (store only)

- sous unix, l'outil de compression gzip sera utilisé avec le niveau de compression -1 (minimum compression)

Si l'on désire contrôler le niveau de compression plutôt qu'utiliser l'option "nocompression", alors il faut ajouter le paramètre "config.solution.configuration.compressionlevel" avec une valeur comprise dans l'ensemble { "1", "3", "5", "7", "9" }, toute autre valeur est ignorée.

Si l'option "nocompression" est positionné à la valeur "true" alors toute valeur compressionlevel est ignorée.

Enfin, si l'option "nocompression" n'est pas positionné ou n'a pas la valeur "true", et que l'option "compressionlevel" n'est pas non plus positionné sur une valeur admise, alors le niveau de compression maximum est utilisé pour les outils 7Zip et gzip suivant la plateforme. C'est le comportement par défaut lors des transferts de dossiers dans la Console de Configuration Safe X3.