Question

Nous essayons de dupliquer l'une de nos bases de données informix sur un serveur de test, mais sans l'expertise interne d'Informix, nous ne pouvons que deviner ce que nous devons faire. J'apprends ce matériel à la volée moi-même et je suis loin du niveau d'expertise nécessaire pour utiliser Informix de manière efficace, voire inefficace. De toute façon... Nous avons réussi à copier les fichiers .dat et .idx du serveur actif quelque part. Installez Linux et le dernier Informix Dynamic Server sur celui-ci et installez-le.

Maintenant, que devons-nous faire avec les fichiers .dat et idx du serveur live? Est-ce que nous le copions quelque part et il le reconnaîtra automatiquement?

Ou existe-t-il un moyen équivalent de joindre une base de données à partir de MS SQLServer pour enregistrer les fichiers de base de données dans la nouvelle base de données?

Au bout de ma corde ...

Était-ce utile?

La solution

Vous avez posé une question assez compliquée sans vous en rendre compte. Informix est conçu comme un moteur de base de données partagé, ce qui signifie que toutes les ressources disponibles pour l'instance sont disponibles pour chaque base de données de cette instance. Cela signifie que plusieurs bases de données peuvent stocker des données dans n'importe quel fichier dbspace, .dat ou .idx donné dans votre cas. La plupart des administrateurs de bases de données savent mieux que faire cela, mais il faut en être conscient. Sachant cela, vous savez maintenant que les fichiers .dat et .idx n'appartiennent pas à une base de données, mais appartiennent à l'instance. Les dbspaces et les fichiers ont été créés pour contenir les données de vos bases de données, mais ils appartiennent techniquement à l'instance. Il convient de noter que les fichiers .dat et .idx sont connus de la base de données sous le nom logique du dbspace.

Forts de ces informations de base et en supposant que les serveurs de production et de développement exécutent le même système d'exploitation et que votre matériel est relativement identique, et non une combinaison de PARISC, Itanium ou x86 / x64, je vais vous proposer quelques options. pour vous.

  1. Créez les espaces de travail dont vous avez besoin dans la nouvelle instance et utilisez onunload and onload copier la base de données de la production au développement.
  2. Utilisez ontape ou onbar pour sauvegarder l'intégralité de l'instance de production et restaurez-le sur votre instance de développement.

L'option 1 requiert que vous sachiez comment les espaces de base de données sont nommés et quelle est leur taille. Utilisez onstat -d sur l'instance de production pour le savoir. En passant, les numéros listés dans onstat -d sont en pages, je pense que Linux est une page de 2 Ko.

L’option 2 exige simplement que les chemins des fichiers de données soient les mêmes sur les deux serveurs. Cela signifie que ROOTDBS doit être identique dans les deux cas. Cela peut être trouvé en exécutant onstat -c | grep ROOTDBS

Il y a beaucoup de choses qui ont été laissées de côté mais j'espère que cela vous donnera les informations dont vous avez besoin pour avancer dans votre tâche.

Autres conseils

Les fichiers .dat et .idx sont associés à C-ISAM ou, lorsqu'ils sont organisés dans un répertoire appelé dbase.dbs (où dbase est le nom de votre base de données), les fichiers .dat et .idx sont associés à Informix. Standard Engine, alias Informix SE. SE utilise C-ISAM pour gérer son stockage. SE est assez différent (et beaucoup plus simple) de Informix Dynamic Server (IDS). Il n'est pas impossible que les fichiers .dat et .idx soient associés à IDS; c'est tout simplement extrêmement improbable.

D'après les informations disponibles, il semble que votre serveur de production exécute SE. Pour obtenir les données de SE à IDS, vous voudrez probablement utiliser DB-Export du côté SE et DB-Import du côté de Linux / IDS. C’est certainement le moyen le plus simple de le faire.

Il existe d’autres solutions possibles, comme la base de données C-ISAM, mais elles coûtent plus cher et ne sont probablement pas garanties. Il existe d’autres solutions de chargement possibles, telles que le chargeur haute performance (HPL).

Pour plus d'informations sur Informix, utilisez les différents sites Web déjà référencés ( http://www.informix.com est un lien vers la section Informix du site Web d’IBM), ou utilisez le groupe d'utilisateurs international Informix (IIUG) site web. Des listes de diffusion sont disponibles (pour lesquelles vous devez appartenir, mais l'adhésion est gratuite) pour discuter d'Informix en détail.

Ces fichiers de données Informix-SE (.DAT) et leurs fichiers d’index associés (.IDX) sont inutilisables, sauf si vous disposez également de tous les fichiers de catalogue associés, tels que SYSTABLES.DAT, SYSTABLES.IDX, SYSCOLUMNS, SYSINDEXES, etc.

Ensuite, vous devez également vous demander quelle version d'Informix-SE les a créées, car certaines d'entre elles ont une taille de nœud de fichier d'index de 2K ou 4K.

Votre meilleure approche consiste à obtenir tous les fichiers .DAT et .IDX à partir de la base de données source, ainsi que le moteur standard correct, installé sur le même matériel et le même système d’exploitation.

En résumé, sur la machine source, exécutez "dbexport". décharger toutes les données dans des fichiers ascii et exécuter "dbschema". générer tous les schémas de table et les index. Cela ne ferait pas de mal non plus de lancer un "bcheck". sur tous les fichiers avant de les décharger en fichiers plats ascii.

Je n'ai pas de conseil spécifique à Informix, mais pour de telles situations, vous pouvez généralement trouver la réponse en cherchant comment déplacer une base de données (une tâche d'administration commune, généralement bien décrite dans le manuel) et en sautant simplement la étapes qui supprimeraient l'ancienne base de données.

Faites également attention aux problèmes causés par différentes architectures de système; certaines bases de données échouent de manière spectaculaire si vous les déplacez d'un système big-endian (tel que Solaris) vers un système little-endian (tel que Linux x86). Encore une fois, la section du manuel sur le déplacement d'une base de données couvre toutes les étapes supplémentaires nécessaires. / p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top