Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Amazon RDS pour la fédération DB2

Mode de mise au point
Amazon RDS pour la fédération DB2 - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez utiliser votre base de données Amazon RDS for Db2 en tant que base de données fédérée. Après avoir configuré la fédération RDS pour Db2, vous pourrez accéder aux données de plusieurs bases de données et les interroger à partir de votre base de données RDS pour DB2. La fédération vous évite d'avoir à migrer des données vers votre base de données RDS for DB2 ou à consolider les données dans une seule base de données.

En utilisant votre base de données RDS for Db2 en tant que base de données fédérée, vous pouvez continuer à accéder à toutes les fonctionnalités de RDS for DB2 et tirer parti de diverses Services AWS, tout en conservant vos données dans différentes bases de données. Vous pouvez configurer à la fois une fédération homogène qui connecte différentes bases de données du même type ou une fédération hétérogène qui connecte différentes bases de données de différents types.

Vous devez d'abord connecter votre base de données DB2 RDS pour Db2 à des bases de données distantes. Vous pouvez ensuite exécuter des requêtes sur toutes vos bases de données connectées. Par exemple, vous pouvez exécuter une SQL JOIN instruction qui joint des tables de votre base de données RDS for DB2 à des tables d'une base de données Db2 on z/OS distante.

Fédération homogène

Vous pouvez configurer une fédération homogène entre votre base de données RDS for Db2 et la famille de produits Db2 suivante :

  • DB2 pour LinuxUNIX, Windows () LUW

  • DB2 iSeries

  • Db2 pour z/OS

RDSpour DB2, la fédération homogène ne prend pas en charge les actions suivantes :

  • Exécution de CATALOG commandes pour configurer un répertoire de nœuds et une base de données distante sur une base de données hôte RDS pour DB2

  • Configuration de l'équilibrage de charge de travail (WLB) lors de la fédération vers DB2 sous z/OS

  • Configuration du fichier de configuration du pilote du serveur de IBM données (db2dsdriver.cfg)

RDSpour DB2, la fédération homogène répond aux exigences suivantes :

  • Vous devez créer le DRDA wrapper en UNFENCED mode. Si ce n'est pas le cas, la fédération ne fonctionnera pas RDS pour Db2.

  • Vous devez autoriser le trafic entrant et sortant de votre RDS base de données hôte Db2 vers vos bases de données hôtes distantes. Pour de plus amples informations, veuillez consulter Donnez accès à votre instance de base VPC de données dans votre.

Étape 1 : créer un DRDA wrapper et un serveur fédéré

Pour une fédération homogène, créez un DRDA wrapper et un serveur fédéré. La connexion à l'hôte distant utilise HOSTPORT, etDBNAME.

Choisissez l'une des méthodes suivantes en fonction du type de votre base de données Db2 distante :

  • Base de données DB2 pour Linux et Windows (LUX) : exécutez les SQL commandes suivantes. UNIX Dans l'exemple suivant, remplacez server_name avec le nom du serveur que vous utiliserez pour la fédération. Remplacez db2_version avec la version de votre base de données Db2 distante. Remplacez username and password avec vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez db_name, dns_name, et port avec les valeurs appropriées pour la base de données Db2 distante à laquelle vous souhaitez vous connecter.

    create wrapper drda options(DB2_FENCED 'N'); create server server_name type DB2/LUW wrapper drda version 'db2_version' authorization "master_username" password "master_password" options (add DBNAME 'db_name',add HOST 'dns_name',add PORT 'port');

    Exemple

    create wrapper drda options(DB2_FENCED 'N'); create server SERVER1 type DB2/LUW wrapper drda version '11.5' authorization "sysuser" password "******" options (add DBNAME 'TESTDB2',add HOST 'ip-123-45-67-899.us-west-1.compute.internal',add PORT '25010');
  • DB2 iSeries — Exécutez les SQL commandes suivantes. Dans l'exemple suivant, remplacez wrapper_name and library_name avec un nom pour votre DRDA wrapper et le fichier de bibliothèque de wrapper. Remplacez server_name avec le nom du serveur que vous utiliserez pour la fédération. Remplacez db2_version avec la version de votre base de données Db2 distante. Remplacez username and password avec vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez dns_name, port, et db_name avec les valeurs appropriées pour la base de données Db2 distante à laquelle vous souhaitez vous connecter.

    create wrapper wrapper_name library 'library name' options(DB2_FENCED 'N'); create server server_name type db2/mvs version db2_version wrapper wrapper_name authorization "sername" password "password" options (HOST 'dns_name', PORT 'port', DBNAME 'db_name');

    Exemple

    create wrapper WRAPPER1 library 'libdb2drda.so' options(DB2_FENCED 'N'); create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');
  • Db2 for z/OS — Exécutez les commandes suivantesSQL. Dans l'exemple suivant, remplacez wrapper_name and library_name avec un nom pour votre DRDA wrapper et le fichier de bibliothèque de wrapper. Remplacez server_name avec le nom du serveur que vous utiliserez pour la fédération. Remplacez db2_version avec la version de votre base de données Db2 distante. Remplacez username and password avec vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez dns_name, port, et db_name avec les valeurs appropriées pour la base de données Db2 distante à laquelle vous souhaitez vous connecter.

    create wrapper wrapper_name library 'library_name' options(DB2_FENCED 'N'); create server server_name type db2/mvs version db2_version wrapper wrapper_name authorization "username" password "password" options (HOST 'dns_name', PORT 'port', DBNAME 'db_name');

    Exemple

    create wrapper WRAPPER1 library 'libdb2drda.so' OPTIONS(DB2_FENCED 'N'); create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');

Étape 2 : Création d'un mappage utilisateur

Créez un mappage utilisateur pour associer votre serveur fédéré à votre serveur de source de données en exécutant la SQL commande suivante. Dans l'exemple suivant, remplacez server_name avec le nom du serveur distant sur lequel vous souhaitez effectuer des opérations. Il s'agit du serveur que vous avez créé à l'étape 1. Remplacez username and password avec vos informations d'identification pour ce serveur distant.

create user mapping for user server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');

Pour plus d'informations, consultez la section Mappages d'utilisateurs dans le IBM Db2 .

Étape 3 : vérifier la connexion

Vérifiez que la configuration de votre fédération s'est bien déroulée en vérifiant la connexion. Ouvrez une session pour envoyer des SQL commandes natives à votre source de données distante à l'aide de la SET PASSTHRU commande, puis créez une table sur le serveur de données distant.

  1. Ouvrez et fermez une session pour la soumettre SQL à une source de données. Dans l'exemple suivant, remplacez server_name avec le nom du serveur que vous avez créé pour la fédération à l'étape 1.

    set passthru server_name;
  2. Créez une nouvelle table. Dans l'exemple suivant, remplacez column_name, data_type, et value avec les éléments appropriés pour votre table.

    create table table_name ( column_name data_type(value), column_name data_type(value);

    Pour plus d'informations, voir la CREATETABLEdéclaration contenue dans le IBM Db2 .

  3. Créez un index, insérez des valeurs pour les lignes dans le tableau et réinitialisez la connexion. La réinitialisation de la connexion interrompt la connexion mais conserve les processus principaux. Dans l'exemple suivant, remplacez index_name, table_name, column_name, et columnx_value avec vos informations.

    create index index_name on table_name(column_name); insert into table_name values(column1_value,column2_value,column3_value); insert into table_name values(column1_value,column2_value,column3_value); set passthru reset; connect reset;
  4. Connectez-vous à votre base de données Db2 distante, créez un surnom pour votre serveur distant et effectuez des opérations. Lorsque vous avez terminé d'accéder aux données de la base de données Db2 distante, réinitialisez puis mettez fin à la connexion. Dans l'exemple suivant, remplacez database_name avec le nom de votre base de données Db2 distante. Remplacez nickname avec un nom. Remplacez server_name and table_name avec le nom du serveur distant et la table de ce serveur sur lequel vous souhaitez effectuer des opérations. Remplacez username avec les informations relatives à votre serveur distant. Remplacez sql_command avec l'opération à effectuer sur le serveur distant.

    connect to database_name; create nickname nickname for server_name."username"."table_name"; select sql_command from nickname; connect reset; terminate;

Exemple

L'exemple suivant crée une session directe pour autoriser les opérations sur le serveur fédéré. testdb10

Ensuite, il crée la table t1 avec trois colonnes avec différents types de données.

Ensuite, l'exemple crée l'index i1_t1 sur trois colonnes de la tablet1. Ensuite, il insère deux lignes contenant des valeurs pour ces trois colonnes, puis se déconnecte.

Enfin, l'exemple se connecte à la base de données Db2 distante testdb2 et crée un surnom pour la table sur t1 le serveur fédéré. testdb10 Il crée le surnom avec le nom d'utilisateur TESTUSER pour cette source de données. Une SQL commande génère toutes les données de la tablet1. L'exemple déconnecte et met fin à la session.

set passthru testdbl0; create table t1 ( c1 decimal(13,0), c2 char(200), c3 int); create index i1_t1 on t1(c3); insert into t1 values(1,'Test',1); insert into t1 values(2,'Test 2',2); connect reset; connect to testdb2; create nickname remote_t1 for testdbl0."TESTUSER"."T1"; select * from remote_t1; connect reset; terminate;

Fédération hétérogène

Vous pouvez configurer une fédération hétérogène entre votre base de données RDS for Db2 et d'autres sources de données telles qu'Oracle et Microsoft SQL Server. Pour une liste complète des sources de données prises LUW en charge par Db2, consultez la Matrice de support des sources de données de la fédération fournie dans Db2 LUW V11.5 sur le site de support. IBM

RDSpour DB2, la fédération hétérogène ne prend pas en charge les éléments suivants :

  • Wrappers natifs pour les autres sources de données

  • JDBCenveloppes pour les autres sources de données

  • Fédération avec les sources de données Sybase, Informix et Teradata, car ces sources de données nécessitent l'installation d'un logiciel client sur Db2 RDS

RDSpour DB2, la fédération hétérogène répond aux exigences suivantes :

  • RDScar Db2 ne prend en charge que la méthode ODBC wrapper.

  • Si vous créez une définition explicite d'un wrapper, vous devez définir l'option DB2_FENCED sur. 'N' Pour obtenir la liste des options d'encapsulation valides pourODBC, consultez ODBCles options du IBM Db2 .

  • Vous devez autoriser le trafic entrant et sortant de votre RDS base de données hôte Db2 vers votre base de données hôte distante. Pour de plus amples informations, veuillez consulter Donnez accès à votre instance de base VPC de données dans votre.

Pour plus d'informations sur la fédération avec Oracle, voir Comment interroger Oracle à l'aide de Db2 Federation et du ODBC pilote ? sur le site de IBM Support.

Pour plus d'informations sur les sources de données qui prennent en charge la fédération, consultez la matrice de support des sources de données de la fédération fournie dans DB2 LUW V11.5 sur le site de support. IBM

Étape 1 : Création d'un ODBC wrapper

Créez un wrapper en exécutant la commande suivante :

db2 "create wrapper odbc options( module '/home/rdsdb/sqllib/federation/odbc/lib/libodbc.so')"

Étape 2 : Création d'un serveur fédéré

Créez un serveur fédéré en exécutant la commande suivante. Dans l'exemple suivant, remplacez server_name avec le nom du serveur que vous utiliserez pour la fédération. Remplacez wrapper_type avec l'emballage approprié. Remplacez db_version avec la version de votre base de données distante. Remplacez dns_name, port, et service_name avec les valeurs appropriées pour la base de données distante à laquelle vous souhaitez vous connecter.

db2 "create server server_name type wrapper_type version db_version options (HOST 'dns_name', PORT 'port', SERVICE_NAME 'service_name')“

Pour plus d'informations sur les types de wrapper, consultez la Matrice de support des sources de données de la fédération intégrée dans DB2 LUW V11.5 sur le site de support. IBM

Exemple

L'exemple suivant crée un serveur fédéré pour une base de données Oracle distante.

db2 "create server server1 type oracle_odbc version 12.1 options (HOST 'test1.amazon.com', PORT '1521', SERVICE_NAME 'pdborcl.amazon.com')“

Étape 3 : Création d'un mappage utilisateur

Créez un mappage utilisateur pour associer votre serveur fédéré à votre serveur de source de données en exécutant la SQL commande suivante. Dans l'exemple suivant, remplacez server_name avec le nom du serveur distant sur lequel vous souhaitez effectuer des opérations. Il s'agit du serveur que vous avez créé à l'étape 2. Remplacez username and password avec vos informations d'identification pour ce serveur distant.

create user mapping for user server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');

Pour plus d'informations, consultez la section Mappages d'utilisateurs dans le IBM Db2 .

Étape 4 : Vérifiez la connexion

Vérifiez que la configuration de votre fédération s'est bien déroulée en vérifiant la connexion. Ouvrez une session pour envoyer des SQL commandes natives à votre source de données distante à l'aide de la SET PASSTHRU commande, puis créez une table sur le serveur de données distant.

  1. Ouvrez et fermez une session pour la soumettre SQL à une source de données. Dans l'exemple suivant, remplacez server_name avec le nom du serveur que vous avez créé pour la fédération à l'étape 2.

    set passthru server_name;
  2. Créez une nouvelle table. Dans l'exemple suivant, remplacez column_name, data_type, et value avec les éléments appropriés pour votre table.

    create table table_name ( column_name data_type(value), column_name data_type(value);

    Pour plus d'informations, voir la CREATETABLEdéclaration contenue dans le IBM Db2 .

  3. Créez un index, insérez des valeurs pour les lignes dans le tableau et réinitialisez la connexion. La réinitialisation de la connexion interrompt la connexion mais conserve les processus principaux. Dans l'exemple suivant, remplacez index_name, table_name, column_name, et columnx_value avec vos informations.

    create index index_name on table_name(column_name); insert into table_name values(column1_value,column2_value,column3_value); insert into table_name values(column1_value,column2_value,column3_value); set passthru reset; connect reset;
  4. Connectez-vous à votre base de données Db2 distante, créez un surnom pour votre serveur distant et effectuez des opérations. Lorsque vous avez terminé d'accéder aux données de la base de données Db2 distante, réinitialisez puis mettez fin à la connexion. Dans l'exemple suivant, remplacez database_name avec le nom de votre base de données Db2 distante. Remplacez nickname avec un nom. Remplacez server_name and table_name avec le nom du serveur distant et la table de ce serveur sur lequel vous souhaitez effectuer des opérations. Remplacez username avec les informations relatives à votre serveur distant. Remplacez sql_command avec l'opération à effectuer sur le serveur distant.

    connect to database_name; create nickname nickname for server_name."username"."table_name"; select sql_command from nickname; connect reset; terminate;

Exemple

L'exemple suivant crée une session directe pour autoriser les opérations sur le serveur fédéré. testdb10

Ensuite, il crée la table t1 avec trois colonnes avec différents types de données.

Ensuite, l'exemple crée l'index i1_t1 sur trois colonnes de la tablet1. Ensuite, il insère deux lignes contenant des valeurs pour ces trois colonnes, puis se déconnecte.

Enfin, l'exemple se connecte à la base de données Db2 distante testdb2 et crée un surnom pour la table sur t1 le serveur fédéré. testdb10 Il crée le surnom avec le nom d'utilisateur TESTUSER pour cette source de données. Une SQL commande génère toutes les données de la tablet1. L'exemple déconnecte et met fin à la session.

set passthru testdbl0; create table t1 ( c1 decimal(13,0), c2 char(200), c3 int); create index i1_t1 on t1(c3); insert into t1 values(1,'Test',1); insert into t1 values(2,'Test 2',2); connect reset; connect to testdb2; create nickname remote_t1 for testdbl0."TESTUSER"."T1"; select * from remote_t1; connect reset; terminate;
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.