2016-07-04 1 views
0

J'ai quelques instances du serveur DB2 10.5 s'exécutant sur une machine Linux physique, appelons-les INST1 et INST2.Schémas de liaison DB2 entre plusieurs instances

Tous contiennent plusieurs schémas, mais le schéma de nommage est la machine entière accross unique, par exemple INST1_SCHEMA_A, INST2_SCHEMA_A etc.

Ce que je voudrais faire est de créer en quelque sorte un utilisateur qui peut accéder à tous les de ces schémas comme ils étaient sur un cas, il serait possible de faire une des requêtes telles que: ID SELECT dE L'UNION INST1_SCHEMA_A ID SELECT dE INST2_SCHEMA_A

Comment puis-je y parvenir? Devrais-je simplement lier les bases de données et les schémas d'alias?

Répondre

3

Fédération

est le mot-clé pour votre demande. DB2 LUW à DB2 LUW est inclus dans la licence et cela peut être fait sur plusieurs bases de données - peu importe si elles résident dans la même instance, une autre instance sur le même serveur ou même un serveur différent.

Définissez FEDERATED = YES dans DBM CFG, définissez un serveur et définissez des pseudonymes pour les tables distantes. Pour plus de détails, reportez-vous au article ou au one ou à IBM Knowledge Center.

+0

Vous devez définir un SERVEUR comme localhost pour accéder à l'autre instance. Vous pouvez même accéder à une autre base de données dans la même instance avec la fédération. – AngocA

+0

Merci, j'ai basculé et configuré le mode FEDERATED. Presque tout fonctionne. La seule chose que je ne sais pas comment configurer sont les séquences - comment CREER NICKNAME pour eux si le 'db2 CREATE NICKNAME SCHEMA.SEQ_NAME POUR SERVER_NAME.SCHEMA.SEQ_NAME' dit 'SQL0204N" SERVER_NAME.SCHEMA.SEQ_NAME "est un nom indéfini. SQLSTATE = 42704'? – user2444265