

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.

# Amazon RDS for Db2
<a name="CHAP_Db2"></a>

Amazon RDS prend en charge les instances de base de données exécutant les versions suivantes de IBM Db2 :
+ Db2 Standard Edition
+ Db2 Advanced Edition

Amazon RDS prend en charge les instances de base de données exécutant les versions suivantes de Db2 :
+ Db2 11.5

Pour plus d'informations sur la prise en charge des versions mineures, consultez [Versions de Db2 sur Amazon RDS](Db2.Concepts.VersionMgmt.md).

Avant de créer une instance de base de données, suivez la procédure de la section [Configuration de votre environnement Amazon RDS](CHAP_SettingUp.md) du présent guide. Lorsque vous créez une instance de base de données à l’aide de votre utilisateur principal, l’utilisateur obtient l’autorité `DBADM` (avec certaines restrictions). Utilisez cet utilisateur pour des tâches administratives telles que la création de comptes de base de données supplémentaires. Vous ne pouvez pas utiliser l’autorité au niveau de l’instance `SYSADM`, `SYSCTRL`, `SYSMAINT` ou au niveau de la base de données `SECADM`.

Vous pouvez créer ce qui suit : 
+ Instances DB
+ Instantanés de base de données
+ Restaurations à un instant donné
+ Sauvegardes de stockage automatiques 
+ Sauvegardes de stockage manuelles

Vous pouvez utiliser des instances de base de données exécutant Db2 dans un cloud privé virtuel (VPC). Vous pouvez également ajouter des fonctionnalités à votre instance de base de données Amazon RDS for Db2 en activant diverses options. Amazon RDS prend en charge les déploiements Multi-AZ pour Db2 comme solution de basculement haute disponibilité.

**Important**  
Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l’accès shell aux instances de base de données. Il restreint également l’accès à certaines procédures système et tables qui nécessitent des privilèges élevés. Vous pouvez accéder à votre base de données en utilisant des client SQL standard tels que le client IBM Db2 CLP. Toutefois, vous ne pouvez pas accéder directement à l’hôte en utilisant Telnet ou Secure Shell (SSH).

**Topics**
+ [Présentation de Db2 sur Amazon RDS](db2-overview.md)
+ [Conditions préalables à la création d’une instance de base de données Amazon RDS for Db2](db2-db-instance-prereqs.md)
+ [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md)
+ [Connexion à votre instance de base de données Db2](USER_ConnectToDb2DBInstance.md)
+ [Sécurisation des connexions aux instances de base de données Amazon RDS for Db2](Db2.Concepts.RestrictedDBAPrivileges.md)
+ [Administration de votre instance de base de données Amazon RDS for Db2](db2-administering-db-instance.md)
+ [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md)
+ [Migration des données vers Amazon RDS for Db2](db2-migrating-data-to-rds.md)
+ [Fédération Amazon RDS for Db2](db2-federation.md)
+ [Utilisation de réplicas pour Amazon RDS for Db2](db2-replication.md)
+ [Options pour les instances de base de données Amazon RDS for Db2](Db2.Options.md)
+ [Procédures stockées externes pour Amazon RDS for Db2](db2-external-stored-procedures.md)
+ [Limites et problèmes connus pour Amazon RDS for Db2](db2-known-issues-limitations.md)
+ [Référence des procédures stockées Amazon RDS for Db2](db2-stored-procedures.md)
+ [Référence des fonctions définies par l’utilisateur Amazon RDS for Db2](db2-user-defined-functions.md)
+ [Dépannage d’Amazon RDS for Db2](db2-troubleshooting.md)

# Présentation de Db2 sur Amazon RDS
<a name="db2-overview"></a>

Vous pouvez lire les sections suivantes pour obtenir une présentation de Db2 sur Amazon RDS.

**Topics**
+ [Fonctionnalités d’Amazon RDS for Db2](Db2.Concepts.FeatureSupport.md)
+ [Versions de Db2 sur Amazon RDS](Db2.Concepts.VersionMgmt.md)
+ [Options de licence Amazon RDS for Db2](db2-licensing.md)
+ [Classes d’instance Amazon RDS for Db2](Db2.Concepts.General.InstanceClasses.md)
+ [Rôles par défaut d’Amazon RDS for Db2](db2-default-roles.md)
+ [Paramètres Amazon RDS for Db2](db2-supported-parameters.md)
+ [Classement EBCDIC pour les bases de données Db2 sur Amazon RDS](db2-ebcdic.md)
+ [Fuseau horaire local pour les instances de base de données Amazon RDS for Db2](db2-time-zone.md)

# Fonctionnalités d’Amazon RDS for Db2
<a name="Db2.Concepts.FeatureSupport"></a>

Amazon RDS for Db2 prend en charge la plupart des fonctionnalités et des capacités de la base de données IBM Db2. Certaines fonctions peuvent avoir une prise en charge limitée ou des privilèges restreints. Pour plus d’informations sur les fonctionnalités de la base de données Db2 pour des versions spécifiques de Db2, consultez la [documentation IBM Db2](https://www.ibm.com/docs/en/db2).

Vous pouvez filtrer les nouvelles fonctions de Amazon RDS sur la page [Nouveautés en matière de base de données](https://aws.amazon.com/about-aws/whats-new/database/). Pour **Produits**, choisissez **Amazon RDS**. Ensuite, vous pouvez effectuer une recherche à l’aide de mots clés tels que **Db2 2023**.

**Note**  
Les listes suivantes ne sont pas exhaustives.

**Topics**
+ [Fonctionnalités prises en charge dans RDS for Db2](#db2-supported-features)
+ [Fonctionnalités non prises en charge dans RDS for Db2](#db2-unsupported-features)

## Fonctionnalités prises en charge dans RDS for Db2
<a name="db2-supported-features"></a>

RDS for Db2 prend en charge des fonctionnalités qui incluent des fonctionnalités natives d’IBM Db2 et des fonctionnalités qui sont au cœur d’Amazon RDS.

### Fonctionnalités natives d’IBM Db2
<a name="db2-supported-features-native-db2"></a>

RDS for Db2 prend en charge les fonctionnalités de base de données Db2 suivantes :
+ Création d’une base de données standard qui utilise un jeu de codes, un classement, un format de page et un territoire définis par le client. Utilisez la procédure stockée Amazon RDS [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).
+ Ajout, suppression ou modification d’utilisateurs et de groupes locaux. Utilisez la procédure stockée Amazon RDS pour [Procédures stockées pour l’octroi et la révocation de privilèges pour RDS for Db2](db2-sp-granting-revoking-privileges.md).
+ Création de rôles avec la procédure stockée Amazon RDS [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role).
+ Prise en charge des tables standard organisées en lignes.
+ Prise en charge de la charge de travail analytique pour les tables organisées en colonnes.
+ Possibilité de définir des fonctionnalités de compatibilité avec Db2 telles que Oracle et MySQL.
+ Prise en charge des procédures stockées externes basées sur Java.
+ Prise en charge du chiffrement des données en transit à l’aide du protocole SSL/TLS.
+ Surveillance du statut d’une base de données (`ALIVE`, `DOWN`, `STORAGE_FULL`, `UNKNOWN` et `STANDBY_CONNECTABLE`).
+ Restauration d’une base de données Linux (LE) en ligne ou hors ligne fournie par le client. Utilisez la procédure stockée Amazon RDS pour [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).
+ Application de journaux d’archivage Db2 fournis par le client pour maintenir la base de données synchronisée avec les bases de données Db2 autogérées. Utilisez la procédure stockée Amazon RDS pour [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).
+ Prise en charge de l’audit au niveau de l’instance Db2 et au niveau de la base de données.
+ Prise en charge d’une fédération homogène.
+ Possibilité de charger une table à partir de fichiers de données dans Amazon Simple Storage Service (Amazon S3).
+ Autorisations accordées aux utilisateurs, aux groupes ou aux rôles, tels que `CONNECT`, `SYSMON`, `ACCESSCTRL`, `DATAACCESS`, `SQLADM`, `WLMADM`, `EXPLAIN`, `LOAD` ou `IMPLICIT_SCHEMA`.
+ Création de plusieurs bases de données. 
**Note**  
Une instance de base de données RDS for Db2 peut contenir jusqu’à 50 bases de données. Pour plus d’informations, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md). 

### Fonctionnalités principales d’Amazon RDS
<a name="db2-supported-features-rds-core"></a>

RDS for Db2 prend en charge les fonctionnalités principales d’Amazon RDS suivantes :
+ Groupes de paramètres personnalisés à attribuer aux instances de base de données
+ Création, modification et suppression d’instances de base de données
+ Restauration d’une sauvegarde de base de données Linux (LE) Db2 autogérée hors ligne ou en ligne
**Note**  
Pour pouvoir restaurer votre sauvegarde, ne donnez pas de nom à votre base de données lorsque vous créez une instance de base de données. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Prise en charge des types de stockage gp3, io2 et io1
+ Utilisation de AWS Managed Microsoft AD pour l'Kerberosauthentification et autorisation de groupe LDAP pour RDS pour DB2
+ Modification des groupes de sécurité, des ports, des types d’instances, du stockage, des périodes de conservation des sauvegardes et d’autres paramètres pour les instances Db2 existantes
+ Protection contre la suppression pour les instances de base de données
+ Restauration entre régions point-in-time (PITR), y compris pour les sauvegardes chiffrées
+ Utilisation de AWS Key Management Service (AWS KMS) pour le chiffrement du stockage et le chiffrement au repos
+ Instances de base de données multi-AZ avec une seule instance de secours pour la haute disponibilité
+ Redémarrages d’instances de base de données
+ Mises à jour des mots de passe principaux
+ Restauration des instances de base de données à une date déterminée
+ Sauvegarde et restauration d’instances de base de données à l’aide de sauvegardes au niveau du stockage
+ Lancement et arrêt d’instances de base de données
+ Maintenance d’instances de base de données
+ Réplicas de secours et en lecture au sein d’une même région ou entre plusieurs régions

## Fonctionnalités non prises en charge dans RDS for Db2
<a name="db2-unsupported-features"></a>

RDS for Db2 ne prend pas en charge les fonctionnalités de base de données Db2 suivantes : 
+ Accès à `SYSADM`, `SECADM` et `SYSMAINT` pour l’utilisateur principal.
+ Procédures stockées externes écrites en C, C\$1\$1 ou Cobol.
+ Plusieurs instances de base de données Db2 sur un seul hôte.
+ Plug-ins GSS-API externes pour l’authentification.
+ Plug-ins tiers externes la sauvegarde ou la restauration des bases de données Db2.
+ Traitement massivement parallèle (MPP) sur plusieurs nœuds, tel que IBM Db2 Warehouse.
+ IBM Db2 pureScale.
+ Configuration manuelle de la technologie HADR (High Availability Disaster Recovery) pour RDS for Db2.
**Note**  
Amazon RDS prend en charge et gère la technologie HADR pour RDS for Db2 par le biais de réplicas. Pour plus d’informations, consultez [Utilisation de réplicas pour Amazon RDS for Db2](db2-replication.md).  
RDS for Db2 prend en charge les déploiements multi-AZ, les sauvegardes automatisées entre plusieurs régions et la réplication. Pour plus d’informations, consultez [Déploiements de l’instance de base de données multi-AZ pour Amazon RDS](Concepts.MultiAZSingleStandby.md) et [Réplication des sauvegardes automatisées vers une autre Région AWS](USER_ReplicateBackups.md).
+ Chiffrement des bases de données natives.
+ Fédération hétérogène vers Informix, Sybase et Teradata. Pour plus d’informations, consultez [Fédération Amazon RDS for Db2](db2-federation.md).
+ Création de routines non clôturées et migration de routines non clôturées existantes en sauvegardant et en restaurant les données. Pour plus d’informations, consultez [Routines non clôturées](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines). 
+ Création de nouveaux tablespaces de stockage non automatiques. Pour plus d’informations, consultez [Tablespaces de stockage non automatiques pendant la migration](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces).
+ Tables externes.

# Versions de Db2 sur Amazon RDS
<a name="Db2.Concepts.VersionMgmt"></a>

Pour Db2, les numéros de version ont la forme *major.minor.build.revision*, par exemple 11.5.9.0.sb00000000.r1. Notre implémentation de version correspond à celle de Db2.

**major**  
Le numéro de version majeure est à la fois l’entier et la première partie fractionnaire du numéro de version, par exemple 11.5. Un changement de version sera considéré comme majeur si le numéro de la version majeure change. Par exemple, en passant de la version 11.5 à 12.1.

**minor**  
Le numéro de version mineure est la troisième et la quatrième partie du numéro de version, par exemple le 9.0 dans 11.5.9.0. La troisième partie indique le modpack Db2, par exemple le 9 dans 9.0. La quatrième partie indique le fixpack Db2, par exemple le 0 dans 9.0. Un changement de version est considéré comme mineur si le modpack Db2 ou le fixpack Db2 change, par exemple en passant de la version 11.5.9.0 à la version 11.5.9.1, ou de la version 11.5.9.0 à la version 11.5.10.0, avec des exceptions pour fournir des mises à jour des tables de catalogue. (Amazon RDS prend en charge ces exceptions.)

**build**  
Le numéro build est la cinquième partie du numéro de version, par exemple sb00000000 dans 11.5.9.0.sb00000000. Un numéro build dont la partie numérique est entièrement composée de zéros indique une version standard. Un numéro build dont la partie numérique n’est pas entièrement composée de zéros indique une version spéciale. Un numéro build change s’il existe un correctif de sécurité ou une version spéciale d’une version Db2 existante. Un changement de numéro build indique également qu’Amazon RDS a automatiquement appliqué une nouvelle version mineure.

**révision**  
Le numéro de révision est la sixième partie du numéro de version, par exemple r1 dans 11.5.9.0.sb00000000.r1. Une révision est une révision Amazon RDS d’une version Db2 existante. Un changement de numéro de révision indique qu’Amazon RDS a automatiquement appliqué une nouvelle version mineure.

**Topics**
+ [Gestion des mises à niveau pour les instances Amazon RDS Db2](Db2.Concepts.VersionMgmt.Supported.md)
+ [Versions majeures Db2 prises en charge sur Amazon RDS](#Db2.Concepts.VersionMgmt.ReleaseCalendar)

# Gestion des mises à niveau pour les instances Amazon RDS Db2
<a name="Db2.Concepts.VersionMgmt.Supported"></a>

Pour consulter la liste actuelle des versions mineures de DB2 prises en charge sur RDS, utilisez l'une des commandes suivantes :

```
aws rds describe-db-engine-versions --engine db2-se
aws rds describe-db-engine-versions --engine db2-ae
```

Amazon RDS prend également en charge la politique de déploiement des mises à niveau afin de gérer les mises à niveau automatiques des versions mineures sur plusieurs ressources de base de données et. Comptes AWS Pour de plus amples informations, veuillez consulter [Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures](RDS.Maintenance.AMVU.UpgradeRollout.md).

Vous pouvez spécifier n’importe quelle version Db2 actuellement prise en charge lorsque vous créez une instance de base de données. Vous pouvez spécifier la version majeure (par exemple Db2 11.5), puis toute version mineure prise en charge pour la version majeure spécifiée. Si aucune version n’est spécifiée, Amazon RDS utilise par défaut une version prise en charge, généralement la plus récente. Si une version majeure est spécifiée, mais qu'une version mineure ne l'est pas, Amazon RDS utilise par défaut une version récente de la version majeure que vous avez spécifiée. Pour voir la liste des versions prises en charge, ainsi que les valeurs par défaut pour les instances de base de données nouvellement créées, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) AWS Command Line Interface (AWS CLI). 

Par exemple, pour répertorier les versions de moteur prises en charge pour RDS for Db2, exécutez la commande suivante de l’interface de ligne de commande AWS CLI . *region*Remplacez-le par votre Région AWS.

Pour Linux, macOS ou Unix :

```
aws rds describe-db-engine-versions \
    --filters Name=engine,Values=db2-ae,db2-se \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region region
```

Pour Windows :

```
aws rds describe-db-engine-versions ^
    --filters Name=engine,Values=db2-ae,db2-se ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region region
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    },
    {
    "Engine": "db2-se",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-se-11.5"
    }
]
```

La version par défaut de Db2 peut varier selon la Région AWS. Pour créer une instance de base de données avec une version mineure spécifique, spécifiez la version mineure lors de la création de l’instance de base de données. Vous pouvez déterminer la version par défaut d'un Région AWS for `db2-ae` et d'un moteur `db2-se` de base de données en exécutant la ` describe-db-engine-versions` commande. L’exemple suivant renvoie la version par défaut pour `db2-ae` dans la région USA Est (Virginie du Nord).

Pour Linux, macOS ou Unix :

```
aws rds describe-db-engine-versions \
    --default-only --engine db2-ae \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region us-east-1
```

Pour Windows :

```
aws rds describe-db-engine-versions ^
    --default-only --engine db2-ae ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region us-east-1
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    }
]
```

Avec Amazon RDS, vous contrôlez à quel moment vous mettez à niveau votre instance Db2 vers une nouvelle version majeure prise en charge par Amazon RDS. Vous pouvez maintenir la compatibilité avec des versions Db2 spécifiques, tester de nouvelles versions avec votre application avant le déploiement en production et effectuer des mises à niveau de versions majeures aux moments qui correspondent le mieux à votre calendrier.

Lorsque la mise à niveau automatique de versions mineures est activée, Amazon RDS met automatiquement à niveau vos instances de base de données vers de nouvelles versions mineures Db2, celles-ci étant prises en charge par Amazon RDS. Ces correctifs sont appliqués pendant le créneau de maintenance planifié. Vous pouvez modifier une instance de base de données pour activer ou désactiver les mises à niveau automatiques des versions mineures. 

À l’exception des versions Db2 11.5.9.1 et 11.5.10.0, les mises à niveau automatiques vers la nouvelle version mineure Db2 incluent les mises à niveau automatiques vers les nouvelles versions et révisions. Pour les versions 11.5.9.1 et 11.5.10.0, mettez à niveau manuellement les versions mineures.

Si vous refusez les mises à niveau automatiques planifiées, vous pouvez procéder manuellement à une mise à niveau vers une version mineure prise en charge en suivant la même procédure que pour une mise à jour de la version majeure. Pour plus d'informations, consultez [Mise à niveau d'une version du moteur d'une instance de base de données](USER_UpgradeDBInstance.Upgrading.md). 

## Versions majeures Db2 prises en charge sur Amazon RDS
<a name="Db2.Concepts.VersionMgmt.ReleaseCalendar"></a>

Les versions majeures RDS for Db2 sont disponibles sous le support standard au moins jusqu’à la fin du support IBM (basic) pour la version IBM correspondante. Le tableau suivant indique les dates à utiliser pour planifier vos cycles de test et de mise à niveau. Si Amazon étend le support d’une version de RDS for Db2 au-delà de la date initialement prévue, ce tableau sera mis à jour pour refléter la nouvelle date.

Vous pouvez utiliser les dates suivantes pour planifier vos cycles de test et de mise à niveau. 

**Note**  
Les dates avec seulement un mois et une année sont approximatives et sont mises à jour avec une date exacte quand elles sont connues.  
Vous pouvez consulter les versions principales de vos bases de données DB2 en exécutant la AWS CLI commande [describe-db-major-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-major-engine-versions.html) ou en utilisant l'opération d'API [Describe DBMajor EngineVersions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBMajorEngineVersions.html) RDS.


| Version Db2 majeure  | Date de publication IBM  | Date de parution de RDS  | Fin du support IBM (éditions Standard et Advanced) | Fin du support IBM (étendu) | 
| --- | --- | --- | --- | --- | 
|  Db2 11.5  |  27 juin 2019  |  27 novembre 2023  | 30 avril 2027 |  30 avril 2031  | 

# Options de licence Amazon RDS for Db2
<a name="db2-licensing"></a>

Amazon RDS pour Db2 propose deux options de licence : bring your own license (BYOL) et Db2 license through. AWS Marketplace

**Topics**
+ [Apportez votre propre licence (BYOL) pour Db2](#db2-licensing-options-byol)
+ [Licence DB2 via AWS Marketplace](#db2-licensing-options-marketplace)
+ [Passage d’une licence Db2 à une autre](#db2-edition-license-switching)

## Apportez votre propre licence (BYOL) pour Db2
<a name="db2-licensing-options-byol"></a>

Dans le modèle BYOL, vous pouvez utiliser vos licences de base de données Db2 existantes pour déployer des bases de données sur Amazon RDS. Assurez-vous que vous disposez de la licence Db2 appropriée pour la classe d’instance de base de données et l’édition de la base de données Db2 que vous souhaitez exécuter. Vous devez aussi suivre les stratégies IBM pour obtenir la licence du logiciel de base de données IBM dans l’environnement de cloud computing.

**Note**  
Les instances de base de données multi-AZ sont des instances de secours à froid, car la base de données Db2 est installée, mais ne fonctionne pas. Les instances de secours ne sont pas lisibles, ne sont pas en cours d’exécution ou ne répondent pas aux demandes. Pour plus d’informations, consultez [Informations relatives aux licences IBM Db2]( https://www.ibm.com/support/customer/csol/terms/licenses#license-search) sur le site Web d’IBM.

Dans ce modèle, vous continuez d’utiliser votre compte de support IBM actif et vous contactez IBM directement pour les demandes de service propres à la base de données Db2. Si vous avez un Support compte avec support de dossier, vous pouvez le contacter Support pour les problèmes liés à Amazon RDS. Amazon Web Services et IBM disposent d’un processus de support multi-vendeurs pour les cas nécessitant une assistance de la part des deux organisations. 

Amazon RDS prend en charge le modèle BYOL pour Db2 Standard Edition et Db2 Advanced Edition.

**Topics**
+ [IBM IDs pour apporter votre propre licence (BYOL) pour Db2](#db2-prereqs-ibm-info)
+ [Ajout IBM IDs à un groupe de paramètres pour les instances de base de données RDS pour DB2](#db2-licensing-options-byol-adding-ids)
+ [Intégration avec AWS License Manager](#db2-lms-integration)

### IBM IDs pour apporter votre propre licence (BYOL) pour Db2
<a name="db2-prereqs-ibm-info"></a>

Dans le modèle BYOL, vous avez besoin de votre IBM Customer ID et de votre IBM Site ID pour créer, modifier ou restaurer les instances de base de données RDS for Db2. Vous devez créer un groupe de paramètres personnalisés avec votre IBM Customer ID et votre IBM Site ID *avant* de créer une instance de base de données RDS for Db2. Pour de plus amples informations, veuillez consulter [Ajout IBM IDs à un groupe de paramètres pour les instances de base de données RDS pour DB2](#db2-licensing-options-byol-adding-ids). Vous pouvez exécuter plusieurs instances de base de données RDS for Db2 avec différents IBM Customer IDs et IBM Site IDs dans le même Compte AWS ou la même Région AWS. 

**Important**  
Si nous ne pouvons pas vérifier votre licence par votre IBM Customer ID et par votre IBM Site ID, nous pouvons mettre fin à toutes les instances de base de données exécutées avec ces licences non vérifiées.

Si vous êtes un nouveau client IBM Db2, vous devez d’abord acheter une licence logicielle Db2 auprès de [https://www.ibm.com/products/db2/pricing](https://www.ibm.com/products/db2/pricing). Après avoir acheté une licence logicielle Db2, vous recevrez une preuve d’admissibilité de la part de IBM, dans laquelle figurent votre IBM Customer ID et votre IBM Site ID.

Si vous êtes déjà client IBM Db2, vous pouvez trouver votre IBM Customer ID et votre IBM Site ID sur votre certificat de preuve d’admissibilité auprès de IBM. 

Vous pouvez également trouver votre IBM Customer ID et votre IBM Site ID dans votre compte [IBM Passport Advantage Online](https://www.ibm.com/software/passportadvantage/pao_customer.html). Une fois connecté, vous pouvez consulter les deux IDs sur la page principale ou sur la page de téléchargement du logiciel.

### Ajout IBM IDs à un groupe de paramètres pour les instances de base de données RDS pour DB2
<a name="db2-licensing-options-byol-adding-ids"></a>

Comme vous ne pouvez pas modifier les groupes de paramètres par défaut, vous devez créer un groupe de paramètres personnalisé, puis le modifier pour inclure les valeurs de votre IBM Customer ID et de votre IBM Site ID. Pour plus d’informations sur les groupes de paramètres, consultez [Groupes de paramètres de base de données pour les instances de base de données Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md). 

**Important**  
Vous devez créer un groupe de paramètres personnalisés avec votre IBM Customer ID et votre IBM Site ID *avant* de créer une instance de base de données RDS for Db2.

Utilisez les valeurs de paramètres du tableau ci-dessous.


| Paramètre | Value | 
| --- | --- | 
|  `rds.ibm_customer_id`  |  `<your IBM Customer ID>`  | 
|  `rds.ibm_site_id`  |  `<your IBM Site ID>`  | 
|  `ApplyMethod`  |  `immediate`, `pending-reboot`  | 

Ces paramètres sont dynamiques, ce qui signifie que toute modification de ceux-ci prend effet immédiatement et que vous n’avez pas besoin de redémarrer l’instance de base de données. Si vous ne souhaitez pas que les modifications prennent effet immédiatement, vous pouvez configurer `ApplyMethod` sur `pending-reboot` pour qu’elles soient effectuées pendant une période de maintenance.

Vous pouvez créer et modifier un groupe de paramètres personnalisés à l’aide de la AWS Management Console, de l’ AWS CLI ou de l’API Amazon RDS. 

#### Console
<a name="db2-licensing-options-adding-ids-console"></a>

**Ajout de votre IBM Customer ID et de votre IBM Site ID à un groupe de paramètres**

1. Créez un nouveau groupe de paramètres de base de données. Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez le groupe de paramètres que vous avez créé. Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### AWS CLI
<a name="db2-licensing-options-adding-ids-cli"></a>

**Ajout de votre IBM Customer ID et de votre IBM Site ID à un groupe de paramètres**

1. Créez un groupe de paramètres personnalisés en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous créez.
   + `--db-parameter-group-family` : édition et version majeure du moteur Db2. Valeurs valides : `db2-se-11.5`, `db2-ae-11.5`. 
   + `--description` : description de ce groupe de paramètres.

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés que vous avez créé en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous avez créé.
   + `--parameters` : tableau des noms de paramètres, des valeurs et méthode d’application pour la mise à jour des paramètres.

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### API RDS
<a name="db2-licensing-options-adding-ids-api"></a>

**Ajout de votre IBM Customer ID et de votre IBM Site ID à un groupe de paramètres**

1. Créez un groupe de paramètres personnalisés de base de données à l’aide de l’API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés que vous avez créé à l’aide de l’opération d’API RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `Parameters`

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

Vous êtes maintenant prêt à créer une instance de base de données et à attacher le groupe de paramètres personnalisés à l’instance de base de données. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md) et [Association d’un groupe de paramètres de base de données à une instance de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

### Intégration avec AWS License Manager
<a name="db2-lms-integration"></a>

Pour faciliter la surveillance de l’utilisation des licences RDS for Db2 dans le modèle BYOL, [AWS License Manager](https://aws.amazon.com/license-manager/) s’intègre à RDS for Db2. License Manager prend en charge le suivi des éditions du moteur RDS pour DB2 sur la base de virtual CPUs (vCPUs). Vous pouvez également utiliser License Manager AWS Organizations pour gérer tous les comptes de votre organisation de manière centralisée.

Vous devez créer des licences autogérées pour suivre l’utilisation des licences de vos instances de base de données RDS for Db2. Vous pouvez créer des licences autogérées à l'aide de AWS Management Console la AWS License Manager CLI et de l' AWS License Manager API. Vous pouvez également automatiser la création de licences autogérées à l'aide CloudFormation de Terraform modèles. 

Les ressources RDS for Db2 qui correspondent au filtre d’informations produit sont automatiquement associées à la licence autogérée. La détection des instances de base de données RDS for Db2 peut prendre jusqu’à 24 heures.

Le tableau suivant indique les valeurs disponibles pour le filtre d’informations sur le produit Engine Edition pour RDS for Db2.


| Value | Description | 
| --- | --- | 
|  `db2-se`  |  Db2 Standard Edition  | 
|  `db2-ae`  |  Db2 Advanced Edition  | 

**Topics**
+ [Terminologie](#db2-lms-integration-terms)
+ [Création d'une licence autogérée dans AWS License Manager](#db2-lms-integration-tracking)
+ [Automatiser la création de licences autogérées à l'aide de modèles AWS License Manager](#db2-lms-integration-templates)
+ [Paramètres de création de licences autogérées](#db2-settings-lms)

#### Terminologie
<a name="db2-lms-integration-terms"></a>

Cette page utilise la terminologie suivante pour aborder l'intégration d'Amazon RDS avec AWS License Manager.

License autogérée  
Le terme « licence autogérée » est utilisé dans. AWS License Manager La console Amazon RDS fait référence à la licence en tant que AWS License Manager configuration. Une licence autogérée contient des règles de licence basées sur les conditions de vos contrats d’entreprise. Les règles que vous créez déterminent la façon dont AWS traite les commandes qui consomment des licences. Lorsque vous créez une licence autogérée, travaillez en étroite collaboration avec l’équipe de conformité de votre organisation afin de passer en revue vos contrats d’entreprise. Pour plus d’informations, consultez [Licences autogérées dans License Manager](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html).

#### Création d'une licence autogérée dans AWS License Manager
<a name="db2-lms-integration-tracking"></a>

Vous pouvez créer une licence autogérée à l'aide de la AWS Management Console AWS License Manager CLI et de l' AWS License Manager API.

**Note**  
Si vous créez une instance de base de données RDS pour DB2 à l'aide de AWS Management Console, vous créerez une licence autogérée en saisissant un nom pour la licence. Amazon RDS associera ensuite l’instance de base de données à cette licence. (Dans la console Amazon RDS, cette licence est appelée AWS License Manager configuration.) Si vous souhaitez créer une instance de base de données RDS pour DB2 à l'aide de la AWS License Manager CLI ou de l' AWS License Manager API, vous devez d'abord créer une licence autogérée en suivant les étapes suivantes. La même situation s’applique à la restauration d’une instance de base de données RDS for Db2 à un instant donné dans le passé ou à partir d’un instantané.

##### Console
<a name="db2-lms-integration.console"></a>

**Création d’une licence autogérée pour suivre l’utilisation des licences de vos instances de base de données RDS for Db2**

1. Accédez à [https://console.aws.amazon.com/license-manager/](https://console.aws.amazon.com/license-manager/).

1. Créez une licence autogérée.

   Pour obtenir des instructions, consultez [Créer une licence autogérée](https://docs.aws.amazon.com/license-manager/latest/userguide/create-license-configuration.html) dans le *Guide de l’utilisateur AWS License Manager *.

   Ajoutez une règle pour un **RDS Product Information Filter (Filtre d’informations produit RDS)** dans le panneau **Product Information (Informations produit)** .

   Pour plus d’informations, consultez [ProductInformation](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ProductInformation.html) dans la *Référence d’API AWS License Manager *.

##### AWS License Manager CLI
<a name="db2-lms-integration.cli"></a>

**Note**  
Cette procédure utilise une commande AWS License Manager CLI.

Pour créer une licence autogérée à l'aide de AWS CLI, exécutez la AWS License Manager [create-license-configuration](https://docs.aws.amazon.com/cli/latest/reference/license-manager/create-license-configuration.html)commande. Utilisez les options `--cli-input-json` ou `--cli-input-yaml` pour transmettre les options à la commande. 

Pour plus d’informations, consultez [Paramètres de création de licences autogérées](#db2-settings-lms).

La commande suivante crée une licence autogérée pour Db2 Standard Edition.

```
aws license-manager create-license-configuration --cli-input-json file://rds-db2-se.json
```

Le JSON suivant est le contenu du fichier `rds-db2-se.json` utilisé dans la commande précédente.

```
{
    "Name": "rds-db2-se",
    "Description": "RDS Db2 Standard Edition",
    "LicenseCountingType": "vCPU",
    "LicenseCountHardLimit": false,
    "ProductInformationList": [
        {
            "ResourceType": "RDS",
            "ProductInformationFilterList": [
                {
                    "ProductInformationFilterName": "Engine Edition",
                    "ProductInformationFilterValue": ["db2-se"],
                    "ProductInformationFilterComparator": "EQUALS"
                }
            ]
        }
    ]
}
```

Pour plus d’informations sur les informations produit, consultez [Détection automatique de l’inventaire des ressources](https://docs.aws.amazon.com/license-manager/latest/userguide/automated-discovery.html) dans le *Guide de l’utilisateur AWS License Manager *.

Pour plus d’informations sur le paramètre `--cli-input`, consultez [Génération du squelette de l’interface de ligne de commande AWS CLI et des paramètres d’entrée à partir d’un fichier d’entrée JSON ou YAML](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) dans le *Guide de l’utilisateur de l’AWS CLI *.

##### AWS License Manager API
<a name="db2-lms-integration.api"></a>

**Note**  
Cette procédure utilise une commande d' AWS License Manager API.

Pour créer une licence autogérée, utilisez l'opération [https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html) AWS License Manager API avec les paramètres obligatoires suivants :
+ `Name`
+ `LicenseCountingType` 
+ `ProductInformationList`
+ `ResourceType`
+ `ProductInformationFilterList`
+ `ProductInformationFilterName`
+ `ProductInformationFilterValue`
+ `ProductInformationFilterComparator`

Pour plus d’informations sur les paramètres, consultez [Paramètres de création de licences autogérées](#db2-settings-lms).

#### Automatiser la création de licences autogérées à l'aide de modèles AWS License Manager
<a name="db2-lms-integration-templates"></a>

Vous pouvez automatiser la création de licences autogérées à l'aide CloudFormation de Terraform modèles.

L'exemple de CloudFormation modèle suivant crée des licences autogérées pour Db2 Standard Edition sur RDS for Db2. Pour un modèle pour Db2 Advanced Edition, mettez à jour les valeurs pour `Name`, `Description` et `ProductInformationFilter`.

```
AWSTemplateFormatVersion: "2010-09-09"
Description: CloudFormation template to create a License Configuration for Db2 Standard Edition on RDS for Db2.

Resources:
  Db2LicenseConfiguration:
    Type: "AWS::LicenseManager::LicenseConfiguration"
    Properties:
      Name: "rds-db2-se"
      Description: "Db2 Standard Edition on RDS for Db2"
      LicenseCountingType: "vCPU"
      LicenseCountHardLimit: false
      ProductInformationList:
        - ResourceType: "RDS"
          ProductInformationFilterList:
            - ProductInformationFilterName: "Engine Edition"
              ProductInformationFilterValue:
                - "db2-se"
              ProductInformationFilterComparator: "EQUALS"
```

Pour plus d'informations sur l'utilisation CloudFormation avec Amazon RDS, consultez[Création de ressources Amazon RDS () avec AWS CloudFormation](creating-resources-with-cloudformation.md).

L’exemple de modèle Terraform suivant crée des licences autogérées pour Db2 Standard Edition sur RDS for Db2. *us-east-1*Remplacez-le par votre Région AWS. Pour un modèle pour Db2 Advanced Edition, mettez à jour les valeurs pour `name`, `description` et `product_information_filter`.

```
provider "aws" {
  region = "us-east-1"
}

resource "aws_licensemanager_license_configuration" "rds_db2_license_config" {
  name                     = "rds-db2-se"
  description              = "Db2 Standard Edition on RDS for Db2
  license_counting_type    = "vCPU"
  license_count_hard_limit = false

  product_information_list {
    resource_type = "RDS"

    product_information_filter {
      name       = "Engine Edition"
      comparator = "EQUALS"
      value      = ["db2-se"]
    }
  }
}
```

*Pour plus d'informations sur l'utilisation Terraform d'Amazon RDS, consultez la section [Utilisation en Terraform tant qu'outil IaC AWS Cloud et les](https://docs.aws.amazon.com/prescriptive-guidance/latest/choose-iac-tool/terraform.html) [meilleures pratiques d'utilisation du AWS fournisseur Terraform dans AWS les](https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html) directives prescriptives.*

#### Paramètres de création de licences autogérées
<a name="db2-settings-lms"></a>

Dans le tableau suivant, vous trouverez des informations détaillées sur les paramètres de création de licences autogérées à l'aide de la AWS License Manager CLI, de l' AWS License Manager API, d'un CloudFormation modèle et d'un Terraform modèle. Le nom du paramètre indiqué dans le tableau suivant s'affiche au format du nom utilisé dans l' AWS License Manager API et dans le CloudFormation modèle.


| Nom du paramètre | Type de données | Obligatoire | Description | 
| --- | --- | --- | --- | 
|  Name  |  chaîne  |  Oui  |  Nom de la configuration de la licence.  | 
|  Description  |  chaîne  |  Non  |  Description de la configuration de la licence.  | 
|  LicenseCountingType  |  chaîne  |  Oui  |  Dimension utilisée pour suivre l’inventaire des licences. Valeur valide : `vCPU`.  | 
| LicenseCountHardLimit | boolean | Non | Indique si l’application de la licence est stricte ou souple. Le dépassement d’une limite stricte bloque le lancement de nouvelles instances. | 
|  ProductInformationList  |  tableau d’objets  |  Oui  | Liste d’informations sur les produits pour une configuration de licence. | 
|  ResourceType  |  chaîne  |  Oui  |  Type de ressource. Valeur valide : `RDS`.  | 
|  ProductInformationFilterList  |  tableau d’objets  |  Oui  |  Liste des filtres d’information sur les produits pour une configuration de licence.  | 
|  ProductInformationFilterName  |  chaîne  |  Oui  |  Nom du type de filtre déclaré. Valeur valide : `Engine Edition`.  | 
|  ProductInformationFilterValue  |  tableau de chaînes  | Oui |  La valeur sur laquelle filtrer. Vous ne devez spécifier qu’une seule valeur. Valeurs valides : `db2-se` ou `db2-ae`.  | 
| ProductInformationFilterComparator |  chaîne  |  Oui  | Opérateur logique pour ProductInformationFilterName. Valeur valide : EQUALS. | 

## Licence DB2 via AWS Marketplace
<a name="db2-licensing-options-marketplace"></a>

Dans le AWS Marketplace modèle de licence DB2, vous payez un tarif horaire pour vous abonner aux licences DB2. Ce modèle vous permet de démarrer rapidement avec RDS for Db2 sans avoir à acheter de licences. 

Pour utiliser la licence DB2 via AWS Marketplace, vous avez besoin d'un AWS Marketplace abonnement actif pour l'IBM Db2édition particulière que vous souhaitez utiliser. Si vous n’en avez pas encore, [abonnez-vous à AWS Marketplace](#db2-marketplace-subscribing-registering) pour cette édition IBM Db2.

Amazon RDS prend en charge les licences DB2 AWS Marketplace pour les éditions IBM Db2 Standard et IBM Db2 Advanced.

**Topics**
+ [Terminologie](#db2-marketplace-terminology)
+ [Facturation et paiement](#db2-marketplace-billing)
+ [Abonnement aux listes de Db2 Marketplace et inscription auprès de IBM](#db2-marketplace-subscribing-registering)
+ [Obtention d’une offre privée](#db2-marketplace-private-offer)

### Terminologie
<a name="db2-marketplace-terminology"></a>

Cette page utilise la terminologie suivante pour aborder l'intégration d'Amazon RDS avec AWS Marketplace.

Abonnement SaaS  
Dans AWS Marketplace, les produits software-as-a-service (SaaS) tels que le modèle de pay-as-you-go licence adoptent un modèle d'abonnement basé sur l'utilisation. IBM, le vendeur de logiciel pour Db2, suit votre utilisation et vous payez uniquement ce que vous utilisez.

Offre publique  
Les offres publiques vous permettent d'acheter AWS Marketplace des produits directement auprès du AWS Management Console.

Offre privée  
Les offres privées sont un programme d'achat qui permet aux vendeurs et aux acheteurs de négocier des prix personnalisés et les conditions du contrat de licence utilisateur final (EULA) pour les achats en AWS Marketplace.

Frais Db2 Marketplace  
Frais facturés pour l’utilisation de la licence logicielle Db2 par IBM. Ces frais de service sont mesurés AWS Marketplace et apparaissent sur votre AWS facture dans la AWS Marketplace section correspondante.

Frais Amazon RDS  
Frais AWS facturés pour les services RDS pour DB2, à l'exclusion des licences lors de l'utilisation AWS Marketplace de licences DB2. Les frais sont mesurés par le biais du service Amazon RDS utilisé et apparaissent sur votre AWS facture.

### Facturation et paiement
<a name="db2-marketplace-billing"></a>

RDS pour Db2 s'intègre à Db2 AWS Marketplace pour proposer des pay-as-you-go licences horaires pour Db2. Les frais de Db2 Marketplace couvrent les coûts de licence du logiciel Db2, et les frais Amazon RDS couvrent les coûts d’utilisation de votre instance de base de données RDS for Db2. Pour plus d’informations sur la tarification, consultez [Tarification Amazon RDS for Db2](https://aws.amazon.com/rds/db2/pricing/).

Pour arrêter ces frais, vous devez supprimer tous les instances de base de données RDS for Db2. En outre, vous pouvez supprimer vos abonnements AWS Marketplace aux licences DB2. Si vous supprimez vos abonnements sans supprimer vos instances de base de données, Amazon RDS continuera de vous facturer l’utilisation des instances de base de données. Pour de plus amples informations, veuillez consulter [Suppression d'une instance DB](USER_DeleteInstance.md).

[Vous pouvez consulter les factures et gérer les paiements de vos instances de base de données RDS pour DB2 qui utilisent une licence DB2 via AWS Marketplace la console.AWS Billing](https://console.aws.amazon.com/billing) Vos factures incluent deux frais : un pour votre utilisation de la licence DB2 AWS Marketplace et un pour votre utilisation d'Amazon RDS. Pour plus d’informations sur la facturation, consultez [Affichage d’une facture](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html) dans le *Guide de l’utilisateur AWS Billing and Cost Management *.

### Abonnement aux listes de Db2 Marketplace et inscription auprès de IBM
<a name="db2-marketplace-subscribing-registering"></a>

Pour utiliser la licence DB2 via AWS Marketplace, vous devez utiliser le AWS Management Console pour effectuer les deux tâches suivantes. Vous ne pouvez pas effectuer ces tâches par le biais de l'API AWS CLI ou de l'API RDS.

**Note**  
Si vous souhaitez créer vos instances de base de données à l'aide de l'API AWS CLI ou de l'API RDS, vous devez d'abord effectuer ces deux tâches.

**Topics**
+ [Tâche 1 : S'abonner à Db2 dans AWS Marketplace](#db2-marketplace-subscribing)
+ [Tâche 2 : Enregistrer votre abonnement auprès d’IBM](#db2-marketplace-registering)

#### Tâche 1 : S'abonner à Db2 dans AWS Marketplace
<a name="db2-marketplace-subscribing"></a>

Pour utiliser la licence Db2 avec AWS Marketplace, vous devez disposer d'un AWS Marketplace abonnement actif à Db2. Les abonnements étant associés à une IBM Db2 édition spécifique, vous devez vous abonner à Db2 AWS Marketplace pour chaque édition de Db2 que vous souhaitez utiliser : [édition IBM Db2 avancée, édition IBM Db2](https://aws.amazon.com/marketplace/pp/prodview-w6m4yctzzy5fk) [standard](https://aws.amazon.com/marketplace/pp/prodview-gbsgwalbkphv6). Pour plus d'informations sur les AWS Marketplace abonnements, consultez la section [Abonnements basés sur l'utilisation du Saas](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-saas-products.html#saas-pricing-models) dans le Guide de l'*AWS Marketplace acheteur*.

Nous vous recommandons de vous abonner à Db2 AWS Marketplace *avant* de commencer à [créer une instance](USER_CreateDBInstance.md) de base de données. 

#### Tâche 2 : Enregistrer votre abonnement auprès d’IBM
<a name="db2-marketplace-registering"></a>

Après vous être abonné à Db2 in AWS Marketplace, terminez l'enregistrement de votre commande IBM à partir de la AWS Marketplace page correspondant au type d'abonnement Db2 que vous avez choisi. Sur la AWS Marketplace page, choisissez **Afficher les options d'achat**, puis sélectionnez **Configurer votre compte**. Vous pouvez vous enregistrer soit avec votre compte IBM existant, soit en créant un compte IBM gratuit. 

### Obtention d’une offre privée
<a name="db2-marketplace-private-offer"></a>

Vous pouvez demander une offre AWS Marketplace privée pour Db2 auprès deIBM. Pour plus d’informations, consultez [Offres privés](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-private-offers.html) dans le *Guide de l’acheteur AWS Marketplace *.

**Note**  
Si vous êtes un AWS Organizations utilisateur et que vous avez reçu une offre privée émise sur vos comptes payeur et membre, suivez la procédure ci-dessous pour vous abonner à Db2 directement sur chaque compte de votre organisation.

**Obtention d’une offre privée Db2**

1. Une fois qu’une offre privée a été émise, connectez-vous à la console AWS Marketplace .

1. Ouvrez l’e-mail contenant un lien d’offre privée Db2.

1. Suivez le lien pour accéder directement à l’offre privée.
**Note**  
Si vous suivez ce lien avant de vous connecter au bon compte, une erreur **Page note found** (404) s’affichera.

1. Consultez les conditions générales.

1. Choisissez **Accepter les conditions**.
**Note**  
Si une offre AWS Marketplace privée n'est pas acceptée, les frais de service Db2 AWS Marketplace continueront d'être facturés au taux horaire public.

1. Pour vérifier les détails de l’offre, sélectionnez **Afficher les détails** dans la liste des produits.

Une fois la procédure terminée, vous pouvez créer votre instance de base de données en suivant les étapes décrites dans [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). Dans la AWS Management Console section **Licence**, assurez-vous de sélectionner **Through AWS Marketplace**.

## Passage d’une licence Db2 à une autre
<a name="db2-edition-license-switching"></a>

Vous pouvez passer d’une licence Db2 à une autre dans RDS for Db2. Par exemple, vous pouvez commencer avec Apportez votre propre licence (BYOL), puis passer à la licence Db2 via AWS Marketplace. 

**Important**  
Si vous souhaitez passer à la licence DB2 AWS Marketplace, assurez-vous d'avoir un AWS Marketplace abonnement actif pour l'IBM Db2édition que vous souhaitez utiliser. Si ce n’est pas le cas, [abonnez-vous d’abord à Db2 sur AWS Marketplace](#db2-marketplace-subscribing-registering) pour cette édition Db2, puis terminez la procédure de restauration. 

### Console
<a name="db2-restore-pitr-console"></a>

**Pour passer d’une licence Db2 à une autre**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Automated backups** (Sauvegardes automatisées).

   Les sauvegardes automatisées sont affichées dans l'onglet **Current Region** (Région actuelle).

1. Choisissez l'instance de base de données que vous souhaitez restaurer.

1. Sous **Actions**, sélectionnez **Restaurer à un moment donné**.

   La fenêtre **Restaurer à un instant dans le passé** s’affiche.

1. Choisissez **Dernière heure de restauration possible** pour restaurer à la dernière heure possible, ou choisissez **Personnalisé** pour choisir une heure.

   Si vous choisissez **Personnalisé**, saisissez la date et l’heure de restauration souhaitée de l’instance.
**Note**  
Les heures sont exprimées dans votre fuseau horaire local, qui est indiqué par son décalage par rapport à l’heure UTC. Par exemple, UTC-5 correspond à l' Time/Central heure avancée normale de l'Est.

1. Pour **Moteur de base de données**, choisissez la licence Db2 que vous souhaitez utiliser.

1. Pour **Identifiant d’instance de base de données**, entrez le nom de l’instance de base de données restaurée. Le nom doit être unique.

1. Choisissez d’autres options selon vos besoins, telles que la classe d’instance de base de données et le stockage, ou le fait que vous voulez utiliser la mise à l’échelle automatique du stockage.

   Pour plus d’informations sur chaque paramètre, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md).

1. Choisissez **Restaurer à un instant dans le passé**. 

Pour de plus amples informations, veuillez consulter [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

### AWS CLI
<a name="db2-restore-pitr-cli"></a>

Pour passer d'une licence DB2 à une autre, exécutez la point-in-time commande [restore-db-instance-to-](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html). L'exemple suivant restaure la dernière point-in-time version, définit le moteur de base de données sur IBM Db2 Advanced Edition et définit le modèle de licence sur la licence DB2 via AWS Marketplace.

Vous pouvez spécifier d’autres paramètres. Pour plus d’informations sur chaque paramètre, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md).

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier my_source_db_instance \
3.     --target-db-instance-identifier my_target_db_instance \
4.     --use-latest-restorable-time \
5.     --engine db2-ae \
6.     --license-model marketplace-license
```
Pour Windows :  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier my_source_db_instance ^
3.     --target-db-instance-identifier my_target_db_instance ^
4.     --use-latest-restorable-time ^
5.     --engine db2-ae ^
6.     --license-model marketplace-license
```

Pour plus d’informations, consultez [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

### API RDS
<a name="db2-restore-pitr-api"></a>

Pour passer d’une licence Db2 à une autre, appelez l’opération d’API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) avec les paramètres suivants :
+ `SourceDBInstanceIdentifier`
+ `TargetDBInstanceIdentifier`
+ `RestoreTime`
+ `Engine`
+ `LicenseModel`

Pour plus d’informations, consultez [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

# Classes d’instance Amazon RDS for Db2
<a name="Db2.Concepts.General.InstanceClasses"></a>

Les capacités de calcul et de mémoire d'une instance de base de données sont déterminées par sa classe d'instance. La classe d’instance de bases de données dont vous avez besoin varie selon vos exigences en mémoire et en puissance de traitement.



## Classes d’instance RDS for Db2 prises en charge
<a name="Db2.Concepts.InstanceClasses.Supported"></a>

Les classes d’instance Amazon RDS for Db2 prises en charge sont un sous-ensemble des classes d’instance de base de données Amazon RDS. Pour obtenir la liste complète des classes d’instance Amazon RDS, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md).

**Topics**
+ [Classes d’instance RDS for Db2 prises en charge pour Db2 Standard Edition](#Db2.Concepts.InstanceClasses.Supported.SE)
+ [Classes d’instance RDS for Db2 prises en charge pour Db2 Advanced Edition](#Db2.Concepts.InstanceClasses.Supported.AE)

### Classes d’instance RDS for Db2 prises en charge pour Db2 Standard Edition
<a name="Db2.Concepts.InstanceClasses.Supported.SE"></a>

Le tableau suivant répertorie toutes les classes d’instance prises en charge l’Db2 Standard Edition de la base de données Db2 version 11.5.9.0. Ces classes d’instance sont disponibles à la fois pour les licences Apportez votre propre licence (BYOL) et Db2 via AWS Marketplace.


| Type de classe d’instance | Classe d’instance | 
| --- | --- | 
|  Classes d’instance à usage général avec processeurs Intel Xeon Scalable de 3e génération, stockage SSD et optimisation réseau  |  db.m6idn.large–db.m6idn.8xlarge  | 
|  Classes d’instance à usage général optimisées par les processeurs Intel Xeon Scalable de 3e génération  |  db.m6in.large–db.m6in.8xlarge  | 
|  Classes d’instance à usage général  |  db.m7i.large–db.m7i.8xlarge db.m6i.large–db.m6i.8xlarge  | 
|  Classes d'instances optimisées pour la mémoire avec une NVMe base locale SSDs, alimentées par des Intel Xeon Scalable processeurs de 3e génération  |  db.x2iedn.xlarge  | 
|  Classes d’instance à mémoire optimisée alimentées par des processeurs Intel Xeon Scalable de 3e génération  |  db.r6idn.large–db.r6idn.4xlarge db.r6in.large–db.r6in.4xlarge  | 
|  Classes d’instance à mémoire optimisée  |  db.r7i.large–db.r7i.8xlarge db.r6i.large–db.r6i.4xlarge  | 
|  Classes d’instance à performances extensibles  |  db.t3.small–db.t3.2xlarge  | 

### Classes d’instance RDS for Db2 prises en charge pour Db2 Advanced Edition
<a name="Db2.Concepts.InstanceClasses.Supported.AE"></a>

Le tableau suivant répertorie toutes les classes d’instance prises en charge l’Db2 Advanced Edition de la base de données Db2 version 11.5.9.0. Ces classes d’instance sont disponibles à la fois pour les licences Apportez votre propre licence (BYOL) et Db2 via AWS Marketplace.


| Type de classe d’instance | Classe d’instance | 
| --- | --- | 
|  Classes d’instance à usage général avec processeurs Intel Xeon Scalable de 3e génération, stockage SSD et optimisation réseau  |  db.m6idn.large–db.m6idn.32xlarge  | 
|  Classes d’instance à usage général optimisées par les processeurs Intel Xeon Scalable de 3e génération  |  db.m6in.large–db.m6in.32xlarge  | 
|  Classes d’instance à usage général  |  db.m6i.large–db.m7i.48xlarge db.m7i.large–db.m7i.48xlarge  | 
|  Classes d'instances optimisées pour la mémoire avec une NVMe base locale SSDs, alimentées par des Intel Xeon Scalable processeurs de 3e génération  |  db.x2iedn.xlarge–db.x2iedn.32xlarge  | 
|  Classes d’instance à mémoire optimisée alimentées par des processeurs Intel Xeon Scalable de 3e génération  |  db.r6idn.large–db.r6idn.32xlarge db.r6in.8xlarge–db.r6in.32xlarge  | 
|  Classes d’instance à mémoire optimisée  |  db.r6i.large–db.r7i.48xlarge db.r7i.large–db.r7i.48xlarge  | 
|  Classes d’instance à performances extensibles  |  db.t3.small–db.t3.2xlarge  | 

# Rôles par défaut d’Amazon RDS for Db2
<a name="db2-default-roles"></a>

RDS for Db2 ajoute les six rôles suivants et les attribue au rôle `master_user_role` avec l’option `ADMIN`. Lorsque la base de données est provisionnée, RDS for Db2 accorde le rôle `master_user_role` à l’utilisateur principal. L’utilisateur principal peut à son tour accorder ces rôles à d’autres utilisateurs, groupes ou rôles à l’aide d’instructions `GRANT` natives en se connectant à la base de données.
+ **DBA** : RDS for Db2 crée ce rôle vide avec l’autorisation `DATAACCESS`. L’utilisateur principal peut ajouter d’autres autorisations ou privilèges à ce rôle, puis accorder le rôle à d’autres utilisateurs, groupes ou rôles. 
+ **DBA\$1RESTRICTED** : RDS for Db2 crée ce rôle vide. L’utilisateur principal peut ajouter des privilèges à ce rôle, puis accorder le rôle à d’autres utilisateurs, groupes ou rôles.
+ **DEVELOPER** : RDS for Db2 crée ce rôle vide avec l’autorisation `DATAACCESS`. L’utilisateur principal peut ajouter d’autres autorisations ou privilèges à ce rôle, puis accorder le rôle à d’autres utilisateurs, groupes ou rôles. 
+ **ROLE\$1NULLID\$1PACKAGES** : RDS for Db2 accorde des privilèges `EXECUTE` à ce rôle sur les packages `ALL NULLID` qui étaient liés par Db2 lors de l’exécution de `CREATE DATABASE`.
+ **ROLE\$1PROCEDURES** : RDS for Db2 accorde des privilèges `EXECUTE` à ce rôle sur toutes les procédures `SYSIBM`.
+ **ROLE\$1TABLESPACES** : RDS for Db2 accorde des privilèges `USAGE` sur les tablespaces créés par la commande `CREATE DATABASE`.

# Paramètres Amazon RDS for Db2
<a name="db2-supported-parameters"></a>

Amazon RDS for Db2 utilise trois types de paramètres : les paramètres de configuration du gestionnaire de base de données, les variables de registre et les paramètres de configuration de base de données. Vous pouvez gérer les deux premiers types par le biais de groupes de paramètres et le dernier par le biais de la procédure stockée [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Par défaut, une instance de base de données RDS for Db2 utilise un groupe de paramètres de base de données qui est spécifique à une base de données Db2 et une instance de base de données. Ce groupe de paramètres contient les paramètres du moteur de base de données IBM Db2, en particulier les paramètres de configuration du gestionnaire de base de données et les variables de registre. Pour plus d’informations sur l’utilisation des groupes de paramètres, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

Les paramètres de configuration de la base de données RDS for Db2 sont définis aux valeurs par défaut du moteur de stockage que vous avez sélectionné. Pour plus d’informations sur les paramètres Db2, consultez [Paramètres de configuration de la base de données Db2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-database-configuration) dans la documentation IBM Db2.

**Topics**
+ [Affichage des paramètres dans des groupes de paramètres](#db2-viewing-parameter-group-parameters)
+ [Affichage de tous les paramètres avec les commandes Db2](#db2-viewing-parameters-db2-commands)
+ [Modification des paramètres dans les groupes de paramètres](#db2-modifying-parameter-group-parameters)
+ [Modification des paramètres de configuration de la base de données à l’aide des commandes Db2](#db2-modifying-parameters-db2-commands)

## Affichage des paramètres dans des groupes de paramètres
<a name="db2-viewing-parameter-group-parameters"></a>

Les paramètres de configuration du gestionnaire de base de données et les variables de registre sont définis dans des groupes de paramètres. Vous pouvez consulter les paramètres de configuration du gestionnaire de base de données et les variables de registre pour une version spécifique de DB2 à l'aide de l' AWS Management Console AWS CLI API, de ou de l'API RDS.

### Console
<a name="db2-viewing-parameter-group-parameters-console"></a>

**Pour afficher les valeurs de paramètres pour un groupe de paramètres DB**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes de paramètres**.

   Les groupes de paramètres DB s’affichent dans une liste.

1. Choisissez le nom du groupe de paramètres pour consulter la liste des paramètres associée.

### AWS CLI
<a name="db2-viewing-parameter-group-parameters-cli"></a>

Vous pouvez consulter les paramètres de configuration du gestionnaire de base de données et les variables de registre pour une version Db2 en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html). Spécifiez l'une des valeurs suivantes pour l'option `--db-parameter-group-family` :
+ `db2-ae-11.5`
+ `db2-se-11.5`

Par exemple, pour afficher les paramètres de Db2 Standard Edition 11.5, exécutez la commande suivante :

```
aws rds describe-engine-default-parameters --db-parameter-group-family db2-se-11.5
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :



```
{
    "EngineDefaults": {
        "Parameters": [
            {
                "ParameterName": "agent_stack_sz",
                "ParameterValue": "1024",
                "Description": "You can use this parameter to determine the amount of memory that is allocated by Db2 for each agent thread stack.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "256-32768",
                "IsModifiable": false
            },
            {
                "ParameterName": "agentpri",
                "ParameterValue": "-1",
                "Description": "This parameter controls the priority given to all agents and to other database manager instance processes and threads by the operating system scheduler. This priority determines how CPU time is allocated to the database manager processes, agents, and threads relative to other processes and threads running on the machine.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "1-99",
                "IsModifiable": false
            },
            ...
        ]
    }
}
```

Pour répertorier uniquement les paramètres modifiables pour Db2 Standard Edition 11.5, exécutez la commande suivante :

Pour Linux, macOS ou Unix :

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family db2-se-11.5 \
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

Pour Windows :

```
aws rds describe-engine-default-parameters ^
    --db-parameter-group-family db2-se-11.5 ^
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

### API RDS
<a name="db2-viewing-parameter-group-parameters-api"></a>

Pour afficher les valeurs de paramètre d’un groupe de paramètres de base de données, utilisez l’opération [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) avec le paramètre requis suivant.
+ `DBParameterGroupName`

## Affichage de tous les paramètres avec les commandes Db2
<a name="db2-viewing-parameters-db2-commands"></a>

Vous pouvez afficher les paramètres de configuration du gestionnaire de base de données, les paramètres de configuration de base de données et les variables de registre à l’aide des commandes Db2.

**Affichage des paramètres**

1. Connectez-vous à votre base de données Db2. Dans l'exemple suivant, remplacez *database\$1name**master\$1username*, et *master\$1password* par vos informations.

   ```
   db2 "connect to database_name user master_username using master_password"
   ```

1. Recherchez la version Db2 prise en charge.

   ```
   db2 "select service_level, fixpack_num from table(sysproc.env_get_inst_info()) as instanceinfo"
   ```

1. Affichez les paramètres d’une version Db2 spécifique.
   + Pour afficher les paramètres de configuration du gestionnaire de base de données, exécutez la commande suivante :

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value
         from sysibmadm.dbmcfg
         order by name asc with UR"
     ```
   + Affichez les paramètres de configuration de base de données en exécutant la commande suivante :

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value 
         from table(db_get_cfg(null)) order by name asc, member asc with UR"
     ```
   + Affichez les variables de registre actuellement définies en exécutant la commande suivante :

     ```
     db2 "select cast(substr(reg_var_name,1,50) as varchar(50)) as reg_var_name, 
         cast(substr(reg_var_value,1,50) as varchar(50)) as reg_var_value, 
         level from table(env_get_reg_variables(null)) 
         order by reg_var_name,member with UR"
     ```

## Modification des paramètres dans les groupes de paramètres
<a name="db2-modifying-parameter-group-parameters"></a>

Vous pouvez modifier les paramètres de configuration du gestionnaire de base de données et les variables de registre dans les groupes de paramètres personnalisés à l' AWS Management Console aide de l'API AWS CLI, de ou de l'API RDS. Pour de plus amples informations, veuillez consulter [Groupes de paramètres de base de données pour les instances de base de données Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).

### Console
<a name="db2-modifying-parameter-group-parameters-console"></a>

**Pour modifier les paramètres de configuration du gestionnaire de base de données et les variables de registre**

1. Créez un groupe de paramètres personnalisés. Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés. Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### AWS CLI
<a name="db2-modifying-parameter-group-parameters-cli"></a>

**Pour modifier les paramètres de configuration du gestionnaire de base de données et les variables de registre**

1. Créez un groupe de paramètres personnalisés en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous créez.
   + `--db-parameter-group-family` : édition et version majeure du moteur Db2. Valeurs valides : `db2-se-11.5`, `db2-ae-11.5`. 
   + `--description` : description de ce groupe de paramètres.

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés que vous avez créé en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous avez créé.
   + `--parameters` : tableau des noms de paramètres, des valeurs et méthode d’application pour la mise à jour des paramètres.

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### API RDS
<a name="db2-modifying-parameter-group-parameters-api"></a>

**Pour modifier les paramètres de configuration du gestionnaire de base de données et les variables de registre**

1. Créez un groupe de paramètres de base de données personnalisés à l’aide de l’opération [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés que vous avez créé à l’aide de l’opération [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `Parameters`

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

## Modification des paramètres de configuration de la base de données à l’aide des commandes Db2
<a name="db2-modifying-parameters-db2-commands"></a>

Vous pouvez modifier les paramètres de configuration de la base de données à l’aide des commandes Db2.

**Modification des paramètres de configuration de la base de données**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifiez les paramètres de configuration de la base de données en appelant la procédure stockée `rdsadmin.update_db_param`. Pour plus d’informations, consultez [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param). 

   ```
   db2 "call rdsadmin.update_db_param(
       'database_name', 
       'parameter_to_modify', 
       'changed_value',
       'restart_database')"
   ```

# Classement EBCDIC pour les bases de données Db2 sur Amazon RDS
<a name="db2-ebcdic"></a>

Amazon RDS for Db2 prend en charge le classement EBCDIC pour les bases de données Db2. Vous ne pouvez spécifier une séquence de classement EBCDIC pour une base de données que lorsque vous créez la base de données à l’aide de la procédure stockée Amazon RDS [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database). 

Lorsque vous créez une instance de base de données RDS for Db2 à l’aide de la AWS Management Console, l’AWS CLI ou l’API RDS, vous pouvez spécifier un nom de base de données. Si vous spécifiez un nom de base de données, Amazon RDS crée une base de données avec le classement par défaut de `SYSTEM`. Si vous devez créer une base de données avec un classement EBCDIC, ne spécifiez pas de nom de base de données lorsque vous créez une instance de base de données.

Le classement d’une base de données dans RDS for Db2 est défini au moment de la création et est immuable.

**Création d’une base de données Db2 avec classement EBCDIC**

1. Si vous n’avez pas d’instance de base de données RDS for Db2, créez-en une sans spécifier de nom de base de données. Vous pouvez créer une instance de base de données à l’aide de la AWS Management Console, l’AWS CLI ou l’API RDS. Pour plus d’informations, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

1. Créez une base de données Db2 et définissez l’option de classement sur une valeur EBCDIC en appelant la procédure stockée `rdsadmin.create_database`. Pour plus d’informations, consultez [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).
**Important**  
Une fois que vous avez créé une base de données à l’aide de la procédure stockée, vous ne pouvez pas modifier la séquence de classement. Si vous souhaitez qu’une base de données utilise une séquence de classement différente, supprimez-la en appelant la procédure stockée [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database). Créez ensuite une base de données avec la séquence de classement requise.

# Fuseau horaire local pour les instances de base de données Amazon RDS for Db2
<a name="db2-time-zone"></a>

Le fuseau horaire d’une instance de base de données Amazon RDS qui exécute Db2 est défini par défaut. La valeur par défaut est UTC (temps universel coordonné). Vous pouvez définir le fuseau horaire de votre instance de base de données à un fuseau horaire local, correspondant à celui de vos applications.

Vous définissez le fuseau horaire lorsque vous créez votre instance de base de données. Vous pouvez créer une instance de base de données à l’aide de la AWS Management Console, de l’API RDS ou de l’AWS CLI. Pour plus d’informations, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

Si votre instance de base de données fait partie d’un déploiement multi-AZ, en cas de basculement, son fuseau horaire demeure le fuseau horaire local que vous avez défini.

Vous pouvez restaurer votre instance de base de données à un instant que vous spécifiez. L’heure est affichée dans votre fuseau horaire local. Pour plus d’informations, consultez [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

La définition du fuseau horaire local sur votre instance de base de données présente les limites suivantes :
+ Vous ne pouvez pas modifier le fuseau horaire d’une instance de base de données Amazon RDS for Db2 existante.
+ Vous ne pouvez pas restaurer un instantané à partir d'une instance de base de données dans un fuseau horaire dans une instance de base de données d'un autre fuseau horaire.
+ Nous vous recommandons vivement de ne pas restaurer de fichier de sauvegarde d'un fuseau horaire dans un autre fuseau horaire. Si vous restaurez un fichier de sauvegarde d’un fuseau horaire dans un autre fuseau horaire, vous devez auditer vos requêtes et vos applications afin de déterminer les effets du changement de fuseau horaire.

## Fuseaux horaires disponibles
<a name="db2-time-zone-values"></a>

Vous pouvez utiliser les valeurs suivantes pour la définition du fuseau horaire.


| disponibilité | Fuseau horaire | 
| --- | --- | 
|  Afrique  |  Afrique/le Caire, Afrique/Casablanca, Afrique/Harare, Afrique/Lagos, Afrique/Luanda, Afrique/Monrovia, Afrique/Nairobi, Afrique/Tripoli, Afrique/Windhoek  | 
|  Amérique  |  Amérique/Araguaina, Amérique/Argentine/Buenos\$1Aires, Amérique/Asuncion, Amérique/Bogota, Amérique/Caracas, Amérique/Chicago, Amérique/Chihuahua, Amérique/Cuiaba, Amérique/Denver, Amérique/Detroit, Amérique/Fortaleza, Amérique/Godthab, Amérique/Guatemala, Amérique/Halifax, Amérique/Lima, Amérique/Los\$1Angeles, Amérique/Manaus, Amérique/Matamoros, Amérique/Mexico\$1City, Amérique/Monterrey, Amérique/Montevideo, Amérique/New\$1York, Amérique/Phoenix, AmériquI/Oantiago, AmériquI/Oao\$1Paulo, Amérique/Tijuana, Amérique/Toronto  | 
|  Asie  |  Asie/Amman, Asie/Achgabat, Asie/Bagdad, Asie/Bakou, Asie/Bangkok, Asie/Beyrouth, Asie/Calcutta, Asie/Damas, Asie/Dhaka, Asie/Hong\$1Kong, Asie/Irkoutsk, Asie/Jakarta, Asie/Jérusalem, Asie/Kaboul, Asie/Karachi, Asie/Katmandou, Asie/Kolkata, Asie/Krasnoïarsk, Asie/Magadan, Asie/Manille, Asie/Muscat, Asie/Novosibirsk, Asie/Rangoon, Asie/Riyad, AsiI/Oéoul, AsiI/Ohanghai, AsiI/Oingapour, Asie/Taipei, Asie/Téhéran, Asie/Tokyo, Asie/Oulan\$1Bator, Asie/Vladivostok, Asie/Iakoutsk, Asie/Yerevan  | 
|  Atlantique  |  Atlantique/Açores, Atlantic/Cap\$1Vert  | 
|  Australie  |  Australie/Adelaide, Australie/Brisbane, Australie/Darwin, Australie/Eucla, Australie/Hobart, Australie/Lord\$1Howe, Australie/Perth, AustraliI/Oydney  | 
|  Brésil  |  Brésil/DeNoronha, Brésil/Est  | 
|  Canada  |  Canada/Terre-Neuve, Canada/Saskatchewan  | 
|  Etc  |  Etc/GMT-3  | 
|  Europe  |  Europe/Amsterdam, Europe/Athènes, Europe/Berlin, Europe/Dublin, Europe/Helsinki, Europe/Kaliningrad, Europe/Londres, Europe/Madrid, Europe/Moscou, Europe/Paris, Europe/Prague, Europe/Rome, Europe/Sarajevo, Europe/Stockholm  | 
|  Pacifique  |  Pacifique/Apia, Pacifique/Auckland, Pacifique/Chatham, Pacifique/Fidji, Pacifique/Guam, Pacifique/Honolulu, Pacifique/Kiritimati, Pacifique/Marquises, PacifiquI/Oamoa, Pacifique/Tongatapu, Pacifique/Wake  | 
|  ETATS-UNIS  |  États-Unis/Alaska, États-Unis/Centre, États-Unis/Indiana Est, États-Unis/Est, États-Unis/Pacifique  | 
|  UTC  |  UTC  | 

# Conditions préalables à la création d’une instance de base de données Amazon RDS for Db2
<a name="db2-db-instance-prereqs"></a>

Voici les conditions préalables à remplir avant de créer une instance de base de données. 

**Topics**
+ [Compte administrateur](#db2-prereqs-admin-account)
+ [Considérations supplémentaires](#db2-prereqs-additional-considerations)

## Compte administrateur
<a name="db2-prereqs-admin-account"></a>

Lorsque vous créez une instance de base de données, vous devez désigner un compte administrateur pour l’instance. Amazon RDS octroie l’autorité `DBADM` à ce compte administrateur de base de données local.

Le compte administrateur présente les caractéristiques, capacités et limites suivantes :
+ Est un utilisateur local et non un Compte AWS.
+ Il ne dispose pas d’autorités au niveau de l’instance Db2 telles que `SYSADM`, `SYSMAINT` ou `SYSCTRL`.
+ Il ne peut pas arrêter ou démarrer une instance Db2.
+ Il ne peut pas supprimer une base de données Db2 si vous avez indiqué le nom lors de la création de l’instance de base de données.
+ Il dispose d’un accès complet à la base de données Db2, y compris les tables et les vues du catalogue.
+ Il peut créer des utilisateurs et des groupes locaux à l’aide des procédures stockées Amazon RDS.
+ Il peut octroyer et révoquer des autorisation et des privilèges.

Le compte administrateur peut effectuer les tâches suivantes : 
+ Créer, modifier ou supprimer des instances de base de données.
+ Créer un instantané de base de données.
+ Lancez les point-in-time restaurations.
+ Créer des sauvegardes automatiques des instantanés de la base de données.
+ Créer des sauvegardes manuelles des instantanés de la base de données.
+ Utiliser d’autres fonctionnalités Amazon RDS.

## Considérations supplémentaires
<a name="db2-prereqs-additional-considerations"></a>

Avant de créer une instance de base de données, tenez compte des points suivants :
+ Chaque instance de base de données Amazon RDS for Db2 peut héberger jusqu’à 50 bases de données Db2. Pour plus d’informations, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md). 
+ Nom de la base de données initiale
  + Si vous ne fournissez pas de nom de base de données lorsque vous créez une instance de base de données, Amazon RDS ne crée pas de base de données. 
  + Ne fournissez pas de nom de base de données dans les circonstances suivantes :
    + Vous souhaitez modifier le paramètre `db2_compatibility_vector`. Pour plus d’informations, consultez [Définition du paramètre db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).
+ Dans le modèle Apportez votre propre licence (BYOL), vous devez d’abord créer un groupe de paramètres personnalisés qui contient votre IBM Customer ID et votre IBM Site ID. Pour de plus amples informations, veuillez consulter [Apportez votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-licensing-options-byol).
+ Dans le AWS Marketplace modèle de licence DB2, vous avez besoin d'un AWS Marketplace abonnement actif pour l'IBM Db2édition particulière que vous souhaitez utiliser. Si vous n’en avez pas encore, [abonnez-vous à Db2 dans AWS Marketplace](db2-licensing.md#db2-marketplace-subscribing-registering) pour l’édition IBM Db2 que vous souhaitez utiliser. Pour plus d’informations, consultez [Licence DB2 via AWS Marketplace](db2-licensing.md#db2-licensing-options-marketplace).

# Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2
<a name="db2-multiple-databases"></a>

Vous pouvez créer plusieurs bases de données sur une seule instance de base de données RDS for Db2 en appelant la procédure stockée [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database). Une seule instance de base de données RDS for Db2 est limitée à 50 bases de données. Ce nombre inclut les bases de données activées et désactivées. 

**Note**  
Si vous créez plusieurs bases de données sur une instance de base de données RDS for Db2 créée avant le 15 novembre 2024, vous devez redémarrer l’instance de base de données pour activer la prise en charge de plusieurs bases de données.

Par défaut, Amazon RDS active les bases de données lorsque vous les créez. Pour optimiser les ressources mémoire, vous pouvez désactiver les bases de données que vous utilisez rarement, puis les activer ultérieurement en cas de besoin. Pour plus d’informations, consultez [Désactivation d’une base de données](db2-managing-databases.md#db2-deactivating-database) et [Activation d’une base de données](db2-managing-databases.md#db2-activating-database). 

Le nombre de bases de données activées sur une instance de base de données dépend des ressources mémoire disponibles sur le serveur. Les ressources mémoire varient en fonction de la classe d’instance de base de données et de la quantité de mémoire configurée pour la base de données. Pour plus d’informations sur les classes d’instance de base de données, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md). Pour plus d’informations sur la manière de mettre à jour la mémoire d’une base de données RDS for Db2, consultez [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Nous vous recommandons de choisir une classe d’instance de base de données dotée de 2 Go de mémoire pour les tâches de base de données courantes, les exigences du système d’exploitation et les autres tâches d’automatisation Amazon RDS telles que les sauvegardes. Pour plus d’informations sur le changement de classe d’instance de base de données, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

En outre, IBM recommande un minimum de 1 Go de mémoire pour chaque base de données active. Pour plus d’informations, consultez [Exigences en matière de disque et de mémoire](https://www.ibm.com/docs/en/db2/11.5?topic=servers-disk-memory-requirements) dans la documentation IBM.

Vous pouvez calculer le nombre maximum de bases de données actives qu’une instance de base de données peut avoir à l’aide de la formule suivante :

```
Active database limit = (total server memory - 2 GB) / 1 GB 
```

L’exemple suivant montre le nombre maximum de bases de données actives pour une instance de base de données avec une classe d’instance de base de données db.m6i.xlarge :

```
Active database limit = (total server memory - 2 GB) / 1 GB 
                      = (16 GB - 2 GB) / 1 GB 
                      = 14 databases
```

Lorsqu’Amazon RDS récupère une base de données après un incident, la base de données est activée si elle était précédemment active. Dans certains cas, par exemple lorsque vous modifiez une classe d’instance de base de données pour une configuration de mémoire inférieure, la mémoire peut être insuffisante pour activer toutes les bases de données de l’instance de base de données. Dans ces cas, Amazon RDS active les bases de données dans leur ordre de création.

**Note**  
Toutes les bases de données qu’Amazon RDS ne peut pas activer en raison d’une mémoire insuffisante restent désactivées.

# Connexion à votre instance de base de données Db2
<a name="USER_ConnectToDb2DBInstance"></a>

Après qu’Amazon RDS a provisionné votre instance de base de données Amazon RDS pour Db2, vous pouvez utiliser n’importe quelle application cliente SQL standard pour vous connecter à l’instance de base de données. Amazon RDS étant un service géré, vous ne pouvez pas vous connecter en tant que `SYSADM`, `SYSCTRL`, `SECADM` ou `SYSMAINT`.

Vous pouvez vous connecter à une instance de base de données qui exécute le moteur de base de données IBM Db2 en utilisant IBM Db2 CLP, IBM CLPPlus, DBeaver ou IBM Db2 Data Management Console. 

**Note**  
La connexion à une base de données Db2 peut échouer si votre instance de base de données RDS pour Db2 ne dispose pas de suffisamment de mémoire. Pour plus d’informations, consultez [Erreur de connexion de la base de données](db2-troubleshooting.md#db2-database-connection-error).

**Topics**
+ [Recherche du point de terminaison de votre instance de base de données Amazon RDS for Db2](db2-finding-instance-endpoint.md)
+ [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 CLP](db2-connecting-with-clp-client.md)
+ [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM CLPPlus](db2-connecting-with-ibm-clpplus-client.md)
+ [Connexion à votre instance de base de données Amazon RDS for Db2 avec DBeaver](db2-connecting-with-dbeaver.md)
+ [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md)
+ [Considérations relatives aux groupes de sécurité avec Amazon RDS for Db2](db2-security-groups-considerations.md)

# Recherche du point de terminaison de votre instance de base de données Amazon RDS for Db2
<a name="db2-finding-instance-endpoint"></a>

Chaque instance de base de données Amazon RDS possède un point de terminaison. Chaque point de terminaison possède le nom DNS et le numéro de port de l'instance de base de données. Pour connecter votre instance de base de données Amazon RDS for Db2 à l’aide d’une application cliente SQL, vous avez besoin du nom DNS et du numéro de port de votre instance de base de données.

Vous pouvez trouver le point de terminaison d'une instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

## Console
<a name="db2-finding-instance-endpoint-console"></a>

**Recherche du point de terminaison d’une instance de base de données RDS for Db2**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1.  Dans le coin supérieur droit de la console, choisissez celle de votre instance de base Région AWS de données.

1. Trouvez le numéro de port et le nom DNS pour votre instance de base de données RDS for Db2. 

   1. Choisissez **Bases de données** pour afficher une liste de vos instances de bases de données. 

   1. Choisissez le nom de l’instance de base de données RDS for Db2 pour afficher les détails de l’instance. 

   1. Dans l'onglet **Connectivity & security (Connectivité et sécurité)**, copiez le point de terminaison. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter à l'instance de base de données.   
![\[L’onglet Connectivité et sécurité d’une instance de base de données qui indique le point de terminaison et le port.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-connectivity-security.png)

## AWS CLI
<a name="db2-finding-instance-endpoint-cli"></a>

Pour trouver le point de terminaison d’une instance de base de données RDS for Db2, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). Dans l'exemple suivant, remplacez *database-1* par le nom de votre instance de base de données.

Pour Linux, macOS ou Unix :

```
aws rds describe-db-instances \
    --db-instance-identifier database-1 \
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' \
    --output json
```

Pour Windows :

```
aws rds describe-db-instances ^
    --db-instance-identifier database-1 ^
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' ^
    --output json
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant. La ligne `Address` de la sortie contient le nom DNS. 

```
[
    {
        "DBInstanceIdentifier": "database-1",
        "DBName": "DB2DB",
        "Endpoint": {
            "Address": "database-1.123456789012.us-east-2.amazonaws.com",
            "Port": 50000,
            "HostedZoneId": "Z2OC4A7DETW6VH"
        }
    }
]
```

# Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 CLP
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

Vous pouvez utiliser un utilitaire de ligne de commande, par exemple IBM Db2 CLP, pour vous connecter aux instances de base de données Amazon RDS for Db2. Cet utilitaire fait partie de IBM Data Server Runtime Client. Pour télécharger le client** **depuis IBM Fix Central, consultez [Packages client serveur de données IBM version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885) dans Support IBM. 

**Topics**
+ [Terminologie](#db2-connecting-ibm-clp-terms)
+ [Installation du client](#db2-connecting-ibm-clp-install-client)
+ [Connexion à une instance de base de données](#db2-connecting-ibm-clp-connect-db-instance)
+ [Résolution des problèmes de connexion à votre instance de base de données RDS for Db2](#db2-troubleshooting-connections-clp)

## Terminologie
<a name="db2-connecting-ibm-clp-terms"></a>

Les termes suivants expliquent les commandes utilisées lors de la [connexion à votre instance de base de données RDS for Db2](#db2-connecting-ibm-clp-connect-db-instance).

**catalog tcpip node**  
Cette commande enregistre un nœud de base de données distante auprès d’un client Db2 local, ce qui rend le nœud accessible à l’application cliente. Pour cataloguer un nœud, vous devez fournir des informations telles que le nom d’hôte, le numéro de port et le protocole de communication du serveur. Le nœud catalogué représente ensuite un serveur cible sur lequel résident une ou plusieurs bases de données distantes. Pour plus d’informations, consultez [Commande CATALOG TCPIP/TCPIP4/TCPIP6 NODE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node) dans la documentation IBM Db2.

**catalog database**  
Cette commande enregistre une base de données distante auprès d’un client Db2 local, ce qui rend la base de données accessible à l’application cliente. Pour cataloguer une base de données, vous devez fournir des informations telles que l’alias de la base de données, le nœud sur lequel elle réside et le type d’authentification nécessaire pour se connecter à la base de données. Pour plus d’informations, consultez [Commande CATALOG DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database) dans la documentation IBM Db2.

## Installation du client
<a name="db2-connecting-ibm-clp-install-client"></a>

Après le [downloading the package for Linux](#db2-downloading-package), installez le client en utilisant les privilèges racines ou administrateur.

**Note**  
Pour installer le client sur AIX ou Windows, suivez la même procédure, mais modifiez les commandes de votre système d’exploitation.

**Installation du client sur Linux**

1. Exécutez **`./db2_install -f sysreq`** et choisissez **`yes`** pour accepter la licence.

1. Choisissez l’emplacement où installer le client.

1. Courez **`clientInstallDir/instance/db2icrt -s client`*instance\$1name***. Remplacez *instance\$1name* par un utilisateur de système d'exploitation valide activéLinux. Sous Linux, le nom de l’instance de base de données Db2 est lié au nom d’utilisateur du système d’exploitation.

   Cette commande crée un répertoire **`sqllib`** dans le répertoire de base de l’utilisateur désigné sur Linux.

## Connexion à une instance de base de données
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

Pour vous connecter à votre instance de base de données RDS for Db2, vous avez besoin de son nom DNS et de son numéro de port. Pour savoir comment les trouver, consultez [Recherche du point de terminaison](db2-finding-instance-endpoint.md). Vous devez également connaître le nom de la base de données, le nom d’utilisateur principal et le mot de passe principal que vous avez définis lors de la création de votre instance de base de données RDS for Db2. Pour savoir comment les trouver, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Se connecter à une instance de base de données RDS for Db2 avec IBM Db2 CLP**

1. Connectez-vous avec le nom d’utilisateur que vous avez spécifié lors de l’installation du client IBM Db2 CLP.

1. Cataloguez votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *node\$1name**dns\$1name*, et *port* par le nom du nœud dans le catalogue local, le nom DNS de votre instance de base de données et le numéro de port.

   ```
   1. db2 catalog TCPIP node node_name remote dns_name server port
   ```

   **Exemple**

   ```
   db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
   ```

1. Cataloguez la base de données `rdsadmin` et votre base de données. Cela vous permettra de vous connecter à la base de données `rdsadmin` pour effectuer certaines tâches administratives à l’aide des procédures stockées Amazon RDS. Pour de plus amples informations, veuillez consulter [Administration de votre instance de base de données RDS for Db2](db2-administering-db-instance.md).

   Dans l'exemple suivant, remplacez *database\$1alias**node\$1name*, et par *database\$1name* des alias pour cette base de données, le nom du nœud défini à l'étape précédente et le nom de votre base de données. `server_encrypt`chiffre votre nom d'utilisateur et votre mot de passe sur le réseau.

   ```
   db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt
       
   db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt
   ```

   **Exemple**

   ```
   db2 catalog database rdsadmin at node remnode authentication server_encrypt
       
   db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
   ```

1. Connectez-vous à votre base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par le nom de votre base de données, le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

   Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

   ```
   Database Connection Information
       
       Database server        = DB2/LINUXX8664 11.5.9.0
       SQL authorization ID   = ADMIN
       Local database alias   = TESTDB
   ```

1. Exécutez des requêtes et visionnez les résultats. L’exemple suivant montre une instruction SQL qui sélectionne la base de données que vous avez créée.

   ```
   db2 "select current server from sysibm.dual"
   ```

   Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

   ```
   1
       ------------------
       TESTDB
       
       1 record(s) selected.
   ```

## Résolution des problèmes de connexion à votre instance de base de données RDS for Db2
<a name="db2-troubleshooting-connections-clp"></a>

Si le message d’erreur `NULLID` suivant s’affiche, cela indique généralement que les versions de votre client et du serveur RDS for Db2 ne correspondent pas. Pour les versions du client Db2 prises en charge, consultez [Combinaisons de clients, de pilotes et de niveaux de serveur prises en charge](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels) dans la documentation IBM Db2.

```
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
```

Après avoir reçu cette erreur, vous devez lier les packages de votre ancien client Db2 à une version de serveur Db2 prise en charge par RDS for Db2. 

**Liaison des packages d’un ancien client Db2 à un serveur Db2 plus récent**

1. Localisez les fichiers de liaison sur la machine cliente. Généralement, ces fichiers se trouvent dans le répertoire **bnd** du chemin d’installation du client Db2 et portent l’extension **.bnd**.

1. Connectez-vous au serveur Db2. Dans l'exemple suivant, remplacez *database\$1name* par le nom de votre serveur DB2. Remplacez *master\$1username* et *master\$1password* par vos informations. Cet utilisateur dispose d’une autorité `DBADM`. 

   ```
   db2 connect to database_name user master_username using master_password
   ```

1. Exécuter la commande `bind` pour lier les packages.

   1. Accédez au répertoire où se trouvent les fichiers de liaison sur l’ordinateur client.

   1. Exécutez la commande `bind` pour chaque fichier.

      Les options suivantes sont requises :
      + `blocking all` : lie tous les packages du fichier de liaison dans une seule demande de base de données. 
      + `grant public` : octroie à `public` l’autorisation d’exécuter le package.
      + `sqlerror continue` : indique que le processus `bind` continue même si des erreurs se produisent.

      Pour plus d’informations sur la commande `bind`, consultez [Commande BIND](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind) dans la documentation IBM Db2.

1. Vérifiez que la liaison a réussi en interrogeant la vue du catalogue `syscat.package` ou en vérifiant le message renvoyé après la commande `bind`.

Pour plus d'informations, consultez la [DB2 version 11.5 de la liste des noms de fichiers et de packages dans](https://www.ibm.com/support/pages/node/6190455) SupportIBM.

# Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM CLPPlus
<a name="db2-connecting-with-ibm-clpplus-client"></a>

Vous pouvez utiliser un utilitaire, par exemple IBM CLPPlus, pour vous connecter à une instance de base de données Amazon RDS for Db2. Cet utilitaire fait partie de IBM Data Server Runtime Client. Pour télécharger le client** **depuis IBM Fix Central, consultez [Packages client serveur de données IBM version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885) dans Support IBM. 

**Important**  
Nous vous recommandons d’exécuter IBM CLPPlus sur un système d’exploitation prenant en charge les interfaces utilisateur graphiques telles que macOS, Windows ou Linux avec Desktop. Si vous exécutez Linux sans périphériques, utilisez le commutateur **-nw** avec les commandes CLPPlus.

**Topics**
+ [Installation du client](#db2-connecting-ibm-clpplus-install-client)
+ [Connexion à une instance de base de données](#db2-connecting-ibm-clpplus-connect-db-instance)
+ [Récupération de données CLOB à partir de procédures stockées DB2](#db2-connecting-ibm-clpplus-retrieve-clob-data)

## Installation du client
<a name="db2-connecting-ibm-clpplus-install-client"></a>

Après avoir téléchargé le package pour Linux, installez le client. 

**Note**  
Pour installer le client sur AIX ou Windows, suivez la même procédure, mais modifiez les commandes de votre système d’exploitation.

**Installation du client sur Linux**

1. Exécutez **`./db2_install`**.

1. Courez **`clientInstallDir/instance/db2icrt -s client`*instance\$1name***. Remplacez *instance\$1name* par un utilisateur de système d'exploitation valide activéLinux. Sous Linux, le nom de l’instance de base de données Db2 est lié au nom d’utilisateur du système d’exploitation.

   Cette commande crée un répertoire **`sqllib`** dans le répertoire de base de l’utilisateur désigné sur Linux.

## Connexion à une instance de base de données
<a name="db2-connecting-ibm-clpplus-connect-db-instance"></a>

Pour vous connecter à votre instance de base de données RDS for Db2, vous avez besoin de son nom DNS et de son numéro de port. Pour savoir comment les trouver, consultez [Recherche du point de terminaison](db2-finding-instance-endpoint.md). Vous devez également connaître le nom de la base de données, le nom d’utilisateur principal et le mot de passe principal que vous avez définis lors de la création de votre instance de base de données RDS for Db2. Pour savoir comment les trouver, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Se connecter à une instance de base de données RDS for Db2 avec IBM CLPPlus**

1. Vérifiez la syntaxe de la commande. Dans l'exemple suivant, remplacez *clientDir* par l'emplacement où le client est installé. 

   ```
   cd clientDir/bin
       ./clpplus -h
   ```

1. Configurez votre serveur Db2. Dans l'exemple suivant, remplacez*dsn\$1name*,, et *port* par le nom DSN *database\$1name**endpoint*, le nom de la base de données, le point de terminaison et le port de votre instance de base de données RDS pour DB2. Pour de plus amples informations, veuillez consulter [Recherche du point de terminaison de votre instance de base de données Amazon RDS for Db2](db2-finding-instance-endpoint.md).

   ```
   db2cli writecfg add -dsn dsn_name -database database_name -host endpoint -port port -parameter "Authentication=SERVER_ENCRYPT"
   ```

1. Connectez-vous à une instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *dsn\$1name* par le nom d'utilisateur principal et le nom DSN.

   ```
   ./clpplus -nw master_username@dsn_name
   ```

1. Une fenêtre Java Shell s’ouvre. Entrez le mot de passe principal pour votre instance de base de données RDS for Db2. 
**Note**  
Si aucune fenêtre Java Shell ne s’ouvre pas, exécuté `./clpplus -nw` pour utiliser la même fenêtre de ligne de commande.

   ```
   Enter password: *********
   ```

   Une connexion est établie et produit une sortie similaire à ce qui suit :

   ```
   Database Connection Information :
   ---------------------------------
   Hostname = database-1.abcdefghij.us-east-1.rds.amazonaws.com
   Database server = DB2/LINUXX8664  SQL110590
   SQL authorization ID = admin
   Local database alias = DB2DB
   Port = 50000
   ```

1. Exécutez des requêtes et visionnez les résultats. L’exemple suivant montre une instruction SQL qui sélectionne la base de données que vous avez créée. 

   ```
   SQL > select current server from sysibm.dual;
   ```

   Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

   ```
   1
       --------------------
       DB2DB
       SQL>
   ```

## Récupération de données CLOB à partir de procédures stockées DB2
<a name="db2-connecting-ibm-clpplus-retrieve-clob-data"></a>

Les procédures stockées telles que rdsadmin.db2pd\$1command renvoient les résultats sous forme de colonnes CLOB, qui prennent en charge jusqu'à 2 Go de données. Cependant, le DB2 CLP limite la sortie CLOB à 8 Ko (8192 octets), tronquant ainsi toutes les données au-delà de ce seuil. Pour récupérer la sortie complète, utilisez plutôt CLPPLUS.

1. Obtenir l'ID de tâche (task\$1id) 

   ```
   db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params,
   cast(task_output as varchar(500)) as task_output, CREATED_AT, LAST_UPDATED_AT from table(rdsadmin.get_task_status(null,null,null))"
   ```

1. Exécuter la commande CLPPLUS

   Après avoir obtenu le task\$1id, exécutez la commande suivante à partir de l'invite Unix (remplacez TASK\$1ID par l'identifiant numérique réel de la tâche) :

   ```
   $ (echo "select task_output from table(rdsadmin.get_task_status(task_id,null,null));" ; echo "disconnect;" ; echo "exit;") | clpplus -nw -silent masteruser/MasterUserPassword@hostname:port_num/rdsadmin
   ```

# Connexion à votre instance de base de données Amazon RDS for Db2 avec DBeaver
<a name="db2-connecting-with-dbeaver"></a>

Vous pouvez utiliser des outils tiers tels que DBeaver pour vous connecter aux instances de base de données Amazon RDS for Db2. Pour télécharger cet utilitaire, consultez [Communauté DBeaver](https://dbeaver.io/). 

Pour vous connecter à votre instance de base de données RDS for Db2, vous avez besoin de son nom DNS et de son numéro de port. Pour savoir comment les trouver, consultez [Recherche du point de terminaison](db2-finding-instance-endpoint.md). Vous devez également connaître le nom de la base de données, le nom d’utilisateur principal et le mot de passe principal que vous avez définis lors de la création de votre instance de base de données RDS for Db2. Pour savoir comment les trouver, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Se connecter à une instance de base de données RDS for Db2 avec DBeaver**

1. Démarrer **DBeaver**.

1. Choisissez l’icône **Nouvelle connexion** dans la barre d’outils, puis choisissez **Db2 for LUW**.  
![\[Menu qui répertorie les types de moteurs dans DBeaver.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/dbeaver-add-connection.png)

1. Dans la fenêtre **Connexion à un base de données**, fournissez les informations relatives à votre instance de base de données RDS for Db2.

   1.  Entrez les informations suivantes :
      + Pour **Hôte**, saisissez le nom DNS de l’instance de base de données.
      + Pour **Port**, saisissez le numéro de port de votre instance de base de données.
      + Pour **Base de données**, saisissez le nom de la base de données.
      + Pour **Nom d'utilisateur**, saisissez le nom de l'administrateur de base de données pour l'instance de base de données.
      + Pour **Mot de passe**, saisissez le mot de passe de l’administrateur de base de données pour l’instance de base de données.

   1. Sélectionnez **Enregistrer le mot de passe**.

   1. Choisissez **Paramètres du pilote**.   
![\[Fenêtre Connexion à une base de données contenant différents paramètres de connexion dans DBeaver.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/dbeaver-connect-database.png)

1. Dans la fenêtre **Modifier le pilote**, indiquez des propriétés de sécurité supplémentaires.

   1. Choisissez l’onglet **Propriétés du pilote**.

   1. Ajoutez deux **propriétés de l’utilisateur**.

      1. Ouvrez le menu contextuel (clic droit), puis choisissez **Ajouter une nouvelle propriété**.

      1. Dans **Nom de la propriété**, ajoutez **encryptionAlgorithm**, puis choisissez **OK**.

      1. La ligne **encryptionAlgorithm** étant sélectionnée, choisissez la colonne **Valeur** et ajoutez **2**.

      1. Ouvrez le menu contextuel (clic droit), puis choisissez **Ajouter une nouvelle propriété**.

      1. Pour **Nom de la propriété**, ajoutez **securityMechanism**, puis choisissez **OK**.

      1. La ligne **securityMechanism** étant sélectionnée, choisissez la colonne **Valeur** et ajoutez **7**.

   1. Choisissez **OK**.  
![\[Onglet Propriétés du pilote dans la fenêtre Modifier le pilote dans DBeaver.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/dbeaver-driver-properties-tab.png)

1. Dans la fenêtre **Connexion à une base de données**, sélectionnez **Tester la connexion**. Si aucun pilote DB2 JBDC n'est installé sur votre ordinateur, le pilote est automatiquement téléchargé.

1. Choisissez **OK**.

1. Choisissez **Finish** (Terminer).

1. Dans l’onglet **Navigation dans la base de données**, choisissez le nom de la base de données. Vous pouvez désormais explorer des objets.

Vous êtes maintenant prêt à exécuter des commandes SQL.

**Exécution des commandes SQL et affichage des résultats**

1. Dans le menu supérieur, choisissez **SQL**. Un panneau de script SQL s’ouvre.

1. Dans le panneau **Script**, entrez une commande SQL.

1. Pour exécuter la commande, cliquez sur le bouton **Exécuter la requête SQL**.

1. Dans le panneau de résultats SQL, consultez les résultats de vos requêtes SQL.  
![\[Fenêtre montrant comment exécuter une commande SQL et afficher les résultats dans DBeaver.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/dbeaver-sql-run-example.png)

# Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console
<a name="db2-connecting-with-ibm-data-management-console"></a>

Vous pouvez vous connecter à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console. IBM Db2 Data Management Console peut administrer et surveiller plusieurs instances de base de données RDS for Db2. 

**Note**  
Vous devez disposer d’une machine Amazon EC2 Linux ou Windows qui se trouve sur le même VPC et le même groupe de sécurité que votre instance de base de données RDS for Db2. Le VPC et le groupe de sécurité contrôlent la connexion à votre instance de base de données via le réseau interne. 

IBM Db2 Data Management Console nécessite une base de données de référentiel Db2 pour stocker les métadonnées et les mesures de performance, mais ne peut pas créer automatiquement une base de données de référentiel pour RDS for Db2. Au lieu de cela, vous devez d’abord créer une base de données de référentiel pour surveiller une ou plusieurs instances de base de données RDS for Db2. Vous pouvez ensuite installer IBM Db2 Data Management Console et vous connecter à votre instance de base de données RDS for Db2 avec IBM Db2 Data Management Console.

**Topics**
+ [Étape 1 : création d’une base de données de référentiel pour surveiller les instances de base de données](#db2-creating-repo-db-monitoring-dmc)
+ [Étape 2 : installation et configuration d’IBM Db2 Data Management Console](#db2-install-setup-dmc)
+ [Étape 3 : configuration de la base de données du référentiel et connexion aux instances de base de données RDS for Db2](#db2-connecting-db-instances-with-dmc)
+ [Utilisation de IBM Db2 Data Management Console](#db2-using-dmc)

## Étape 1 : création d’une base de données de référentiel pour surveiller les instances de base de données
<a name="db2-creating-repo-db-monitoring-dmc"></a>

Vous pouvez utiliser une instance de base de données RDS for Db2 existante correctement dimensionnée comme référentiel pour IBM Db2 Data Management Console afin surveiller d’autres instances de base de données RDS for Db2. Cependant, comme l’utilisateur administrateur n’a pas l’autorité `SYSCTRL` pour créer des groupes de mémoires tampons et des tablespaces, l’utilisation de la création de référentiel IBM Db2 Data Management Console pour créer une base de données de référentiel échoue. Au lieu de cela, vous devez créer une base de données de référentiel. Cette base de données de référentiel surveille vos instances de base de données RDS for Db2. 

Vous pouvez créer une base de données de référentiel de deux manières différentes. Vous pouvez créer une base de données RDS for Db2, puis créer manuellement un groupe de mémoires tampons, un tablespace utilisateur et un tablespace temporaire du système. Vous pouvez également créer une instance Amazon EC2 distincte pour héberger une base de données de référentiel IBM Db2 Data Management Console.

**Topics**
+ [Création manuelle d’un groupe de mémoires tampons, d’un tablespace utilisateur et d’un tablespace temporaire du système](#db2-manually-creating-dmc)
+ [Création d’une instance Amazon EC2 pour héberger un référentiel IBM Db2 Data Management Console](#db2-creating-ec2-dmc)

### Création manuelle d’un groupe de mémoires tampons, d’un tablespace utilisateur et d’un tablespace temporaire du système
<a name="db2-manually-creating-dmc"></a>

**Création d’un groupe de mémoires tampons, d’un tablespace utilisateur et d’un tablespace temporaire du système**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password  
   ```

1. Créez un groupe de mémoires tampons pour IBM Db2 Data Management Console. Dans l'exemple suivant, remplacez *database\$1name* par le nom du référentiel que vous avez créé pour surveiller votre RDS IBM Db2 Data Management Console pour les instances de base de données DB2. 

   ```
   db2 "call rdsadmin.create_bufferpool('database_name', 
        'BP4CONSOLE', 1000, 'Y', 'Y', 32768)"
   ```

1. Créez un tablespace utilisateur pour IBM Db2 Data Management Console. Dans l'exemple suivant, remplacez *database\$1name* par le nom du référentiel que vous avez créé pour surveiller votre RDS IBM Db2 Data Management Console pour les instances de base de données DB2. 

   ```
   db2 "call rdsadmin.create_tablespace('database_name', 
        'TS4CONSOLE', 'BP4CONSOLE', 32768)"
   ```

1. Créez un tablespace temporaire du système pour IBM Db2 Data Management Console. Dans l'exemple suivant, remplacez *database\$1name* par le nom du référentiel que vous avez créé pour surveiller votre RDS IBM Db2 Data Management Console pour les instances de base de données DB2. 

   ```
   db2 "call rdsadmin.create_tablespace('database_name',
       'TS4CONSOLE_TEMP', 'BP4CONSOLE', 32768, 0, 0, 'S')"
   ```

Vous êtes maintenant prêt à installer IBM Db2 Data Management Console. Pour plus d’informations sur l’installation et la configuration, consultez [Étape 2 : installation et configuration d’IBM Db2 Data Management Console](#db2-install-setup-dmc).

### Création d’une instance Amazon EC2 pour héberger un référentiel IBM Db2 Data Management Console
<a name="db2-creating-ec2-dmc"></a>

Vous pouvez créer une instance Amazon Elastic Compute Cloud (Amazon EC2) distincte pour héberger un référentiel IBM Db2 Data Management Console. Pour plus d’informations sur la création d’une instance Amazon EC2, consultez [Didacticiel : démarrez avec les instances Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Étape 2 : installation et configuration d’IBM Db2 Data Management Console
<a name="db2-install-setup-dmc"></a>

Après avoir créé un groupe de mémoires tampons, un tablespace utilisateur et un tablespace temporaire du système, vous êtes prêt à procéder à l’installation et à la configuration d’IBM Db2 Data Management Console. 

**Important**  
Vous devez disposer d’une machine Amazon EC2 Linux ou Windows qui se trouve sur le même VPC et le même groupe de sécurité que votre instance de base de données RDS for Db2. Le VPC et le groupe de sécurité contrôlent la connexion à votre instance de base de données via le réseau interne. En outre, vous devez avoir [créé une base de données de référentiel](#db2-creating-repo-db-monitoring-dmc) pour IBM Db2 Data Management Console.

**Installation et configuration d’IBM Db2 Data Management Console.**

1. Téléchargez IBM Db2 Data Management Console à partir des [versions d’IBM Db2 Data Management Console 3.1x](https://www.ibm.com/support/pages/ibm-db2-data-management-console-version-31x-releases-new-features-and-enhancements) sur le site Web du support IBM.

1. Installer IBM Db2 Data Management Console.

1. Ouvrez IBM Db2 Data Management Console et utilisez l’adresse IP de votre machine Amazon EC2 et le numéro de port que vous avez utilisé pour la connexion HTTP ou HTTPS à votre instance Amazon EC2. Par exemples, utilisez `http://xx.xx.xx.xx:11080` ou `https://xx.xx.xx.xx.11081`. Remplacez `xx.xx.xx.xx` par l’adresse IP de votre machine Amazon EC2. `11080` et `11081` sont les ports par défaut pour les connexions HTTP et HTTPS.

1. (Facultatif) Si vous souhaitez utiliser le port 80 ou 443 sur votre instance Amazon EC2, vous pouvez utiliser Apache httpd ou un serveur HTTP Nginx pour rediriger le port IBM Db2 Data Management Console vers le port 80 ou 443. Pour plus d’informations, consultez [Projet de serveur HTTP Apache](https://httpd.apache.org) et [le site Web nginx](https://nginx.org/en/).

   Pour autoriser la connexion à IBM Db2 Data Management Console, vous devez modifier les règles de trafic entrant dans votre groupe de sécurité. Si vous utilisez un proxy, modifiez le TCP/IP port 80 ou 443 pour rediriger vers les IBM Db2 Data Management Console ports. Si vous n'utilisez pas de proxy, remplacez le TCP/IP port 80 ou 443 par les ports par défaut 11080 (HTTP) ou 11081 (HTTPS).

Vous êtes maintenant prêt à vous connecter à IBM Db2 Data Management Console pour configurer la base de données du référentiel et pour vous connecter à vos instances de base de données RDS for Db2. Pour plus d’informations, consultez [Configuration de la base de données du référentiel et connexion aux instances de base de données](#db2-connecting-db-instances-with-dmc).

## Étape 3 : configuration de la base de données du référentiel et connexion aux instances de base de données RDS for Db2
<a name="db2-connecting-db-instances-with-dmc"></a>

Lorsque vous vous connectez à la base de données du référentiel pour la première fois, IBM Db2 Data Management Console configure automatiquement le référentiel. Une fois la base de données du référentiel configurée, vous pouvez ajouter des connexions de base de données à IBM Db2 Data Management Console. 

Pour vous connecter à votre instance de base de données RDS for Db2, vous avez besoin de son nom DNS et de son numéro de port. Pour savoir comment les trouver, consultez [Recherche du point de terminaison](db2-finding-instance-endpoint.md). Vous devez également connaître le nom de la base de données, le nom d’utilisateur principal et le mot de passe principal que vous avez définis lors de la création de votre instance de base de données RDS for Db2. Pour savoir comment les trouver, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating). Si vous vous connectez via Internet, autorisez le trafic vers le port de base de données. Pour plus d’informations, consultez [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Se connecter à des instances de base de données RDS for Db2 avec IBM Db2 Data Management Console**

1. Connectez-vous à IBM Db2 Data Management Console à l’aide des informations d’identification que vous avez définies lors de l’installation.

1. Configurez le référentiel. 

   1. Dans la section **Connexion et base de données**, entrez les informations suivantes pour votre instance de base de données RDS for Db2 : 
      + Pour **Hôte**, saisissez le nom DNS de l’instance de base de données.
      + Pour **Port**, saisissez le numéro de port de votre instance de base de données.
      + Pour **Base de données**, saisissez le nom de la base de données.  
![\[La section Connexion et base de données d’IBM Db2 Data Management Console avec les champs Hôte, Port et Base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-connection-database.png)

   1. Dans la section **Sécurité et informations d’identification**, entrez les informations suivantes pour votre instance de base de données RDS for Db2 :
      + Pour **Type de sécurité**, choisissez **Utilisateur et mot de passe chiffrés**.
      + Pour **Nom d'utilisateur**, saisissez le nom de l'administrateur de base de données pour l'instance de base de données.
      + Pour **Mot de passe**, saisissez le mot de passe de l’administrateur de base de données pour l’instance de base de données.

   1. Choisissez **Test connection** (Tester la connexion).
**Note**  
Si la connexion échoue, vérifiez que le port de base de données est ouvert conformément aux règles entrantes de votre groupe de sécurité. Pour plus d’informations, consultez [Considérations relatives aux groupes de sécurité avec Amazon RDS for Db2](db2-security-groups-considerations.md).

      Si vous n’avez pas [créé manuellement un groupe de mémoires tampons, un tablespace utilisateur et un tablespace temporaire système](#db2-manually-creating-dmc) dans RDS for Db2, le message d’erreur suivant peut s’afficher :   
![\[Message d’erreur indiquant que vous n’êtes pas autorisé à effectuer des opérations.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-error-message.png)

      Assurez-vous d’avoir créé une table de mémoires tampons, un tablespace et des objets pour un référentiel IBM Db2 Data Management Console afin de surveiller votre instance de base de données RDS for Db2. Vous pouvez également utiliser une instance de base de données Amazon EC2 Db2 pour héberger un référentiel IBM Db2 Data Management Console afin de surveiller votre instance de base de données RDS for Db2. Pour plus d’informations, consultez [Étape 1 : création d’une base de données de référentiel pour surveiller les instances de base de données](#db2-creating-repo-db-monitoring-dmc).

   1. Après avoir testé votre connexion avec succès, choisissez **Suivant**.  
![\[La section Sécurité et informations d’identification d’IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-security-credential.png)

   Si IBM Db2 Data Management Console trouve le groupe de mémoires tampons, le tablespace utilisateur et le tablespace temporaire du système dans l’instance de base de données RDS for Db2, IBM Db2 Data Management Console configure alors automatiquement la base de données du référentiel. Si vous utilisez votre instance Db2 sur votre instance Amazon EC2 comme base de données de référentiel, IBM Db2 Data Management Console crée alors automatiquement le groupe de mémoires tampons et d’autres objets.

1. Dans la fenêtre **Définir l’activation du moniteur d’événements statistiques**, cliquez sur **Suivant**. 

1. (Facultatif) Ajoutez une nouvelle connexion. Si vous souhaitez utiliser une autre instance de base de données RDS for Db2 à des fins d’administration et de surveillance, ajoutez une connexion à une instance de base de données RDS for Db2 hors référentiel.

   1. Dans la section **Connexion et base de données**, entrez les informations suivantes pour l’instance de base de données RDS for Db2 à utiliser pour l’administration et la surveillance :
      + Dans **Nom de la connexion**, saisissez l’identifiant de base de données Db2. 
      + Pour **Hôte**, saisissez le nom DNS de l’instance de base de données.
      + Pour **Port**, saisissez le numéro de port de votre instance de base de données.
      + Pour **Base de données**, saisissez le nom de la base de données.  
![\[Section Connexion et base de données pour une nouvelle connexion dans IBM Db2 Data Management Console avec les champs Hôte, Port et Base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-connection-database.png)

   1. Dans la section **Sécurité et informations d’identification****,** sélectionnez **Activer la collecte des données de surveillance**.

   1. Entrez les informations suivantes pour votre instance de base de données RDS for Db2 : 
      + Pour **Nom d'utilisateur**, saisissez le nom de l'administrateur de base de données pour l'instance de base de données.
      + Pour **Mot de passe**, saisissez le mot de passe de l’administrateur de base de données pour l’instance de base de données.

   1. Choisissez **Test connection** (Tester la connexion).

   1. Après avoir testé votre connexion avec succès, choisissez **Enregistrer**.  
![\[Section Sécurité et informations d’identification pour une nouvelle connexion dans IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-security-credential.png)

   Une fois la connexion ajoutée, une fenêtre similaire à la suivante s’affiche. Cette fenêtre indique que votre base de données a été correctement configurée.  
![\[Fenêtre indiquant que votre base de données a été correctement configurée dans IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-configuration-success.png)

1. Choisissez **Accéder aux bases de données**. Une fenêtre de base de données similaire à la suivante s’affiche. Cette fenêtre est un tableau de bord qui affiche les métriques, les statuts et les connexions.  
![\[Fenêtre d’aperçu des bases de données dans IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-database-view.png)

Vous pouvez maintenant commencer à utiliser IBM Db2 Data Management Console.

## Utilisation de IBM Db2 Data Management Console
<a name="db2-using-dmc"></a>

Vous pouvez utiliser IBM Db2 Data Management Console pour effectuer les types de tâches suivants :
+ Gérer plusieurs instances de base de données RDS for Db2.
+ Exécutez des commandes SQL.
+ Explorer, créer ou modifier des données et des objets de base de données.
+ Créer des instructions `EXPLAIN PLAN` dans SQL.
+ Régler les requêtes.

**Exécution des commandes SQL et affichage des résultats**

1. Dans la barre de navigation de gauche, choisissez **SQL**.

1. Entrez une commande SQL.

1. Choisissez **Tout exécuter**.

1. Pour afficher les résultats, choisissez l’onglet **Résultats**.

![\[Fenêtre Base de données montrant comment exécuter une commande SQL et afficher les résultats dans IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ibm-dmc-sql-run-example.png)


# Considérations relatives aux groupes de sécurité avec Amazon RDS for Db2
<a name="db2-security-groups-considerations"></a>

Pour vous connecter à votre instance de base de données Amazon RDS for Db2, celle-ci doit être associée à un groupe de sécurité contenant les adresses IP et la configuration réseau nécessaires. Votre instance de base de données RDS for Db2 peut utiliser le groupe de sécurité par défaut. Si vous assignez un groupe de sécurité non configuré par défaut lors de la création de l’instance de base de données RDS for Db2, le pare-feu empêche les connexions. Pour obtenir des informations sur la création d'un groupe de sécurité, consultez [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md).

Une fois le groupe de sécurité créé, vous devez modifier votre instance de base de données pour l'associer au groupe de sécurité. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

Vous pouvez améliorer la sécurité en utilisant SSL pour chiffrer les connexions à votre instance de base de données. Pour de plus amples informations, veuillez consulter [Utilisation SSL/TLS avec une instance de base de données Amazon RDS pour DB2](Db2.Concepts.SSL.md).

# Sécurisation des connexions aux instances de base de données Amazon RDS for Db2
<a name="Db2.Concepts.RestrictedDBAPrivileges"></a>

Amazon RDS for Db2 permet d’améliorer la sécurité de votre instance de base de données RDS for Db2. 

**Topics**
+ [Utilisation SSL/TLS avec une instance de base de données Amazon RDS pour DB2](Db2.Concepts.SSL.md)
+ [Utilisation de l’authentification Kerberos pour Amazon RDS for Db2](db2-kerberos.md)

# Utilisation SSL/TLS avec une instance de base de données Amazon RDS pour DB2
<a name="Db2.Concepts.SSL"></a>

SSL est un protocole de norme industrielle utilisé pour sécuriser les connexions réseau entre client et serveur. Après la version 3.0 de SSL, le nom du protocole est devenu TLS, mais nous y faisons souvent référence en tant que SSL. Amazon RDS prend en charge le chiffrement SSL pour les instances de base de données Amazon RDS for Db2. L'utilisation SSL/TLS, you can encrypt a connection between your application client and your RDS for Db2 DB instance. SSL/TLS du support est disponible dans tous les cas Régions AWS pour RDS pour Db2.



Pour activer SSL/TLS le chiffrement d'une instance de base de données RDS pour DB2, ajoutez l'option SSL DB2 au groupe de paramètres associé à l'instance de base de données. Amazon RDS utilise un deuxième port, comme l'exige Db2, pour les SSL/TLS connexions. Cette approche permet aussi bien aux communications en texte clair que celles à chiffrement SSL de se produire simultanément entre une instance de base de données et un client Db2. Par exemple, vous pouvez utiliser le port avec une communication en texte clair pour communiquer avec d’autres ressources à l’intérieur d’un VPC, tout en utilisant le port avec une communication à chiffrement SSL pour communiquer avec des ressources extérieures au VPC. 

**Topics**
+ [Création d'une SSL/TLS connexion](#db2-creating-ssl-connection)
+ [Connexion à votre serveur de base de données Db2](#db2-connecting-to-server-ssl)

## Création d'une SSL/TLS connexion
<a name="db2-creating-ssl-connection"></a>

Pour créer une SSL/TLS connexion, choisissez une autorité de certification (CA), téléchargez un ensemble de certificats pour tous Régions AWS et ajoutez des paramètres à un groupe de paramètres personnalisé.

### Étape 1 : choix d’une autorité de certification et téléchargement d’un certificat
<a name="db2-creating-ssl-connection-prereq"></a>

Choisissez une autorité de certification (CA) et téléchargez un ensemble de certificats pour toutes les Régions AWS. Pour plus d’informations, consultez [](UsingWithRDS.SSL.md).

### Étape 2 : mise à jour des paramètres dans un groupe de paramètres personnalisés
<a name="db2-updating-parameters-ssl"></a>

**Important**  
Si vous utilisez le modèle Apportez votre propre licence (BYOL) pour RDS for Db2, modifiez le groupe de paramètres personnalisés que vous avez créé pour votre IBM Customer ID et votre IBM Site ID. Si vous utilisez un modèle de licence différent pour RDS for Db2, suivez la procédure pour ajouter des paramètres à un groupe de paramètres personnalisés. Pour plus d’informations, consultez [Options de licence Amazon RDS for Db2](db2-licensing.md). 

Vous ne pouvez pas modifier les groupes de paramètres par défaut pour les instances de base de données RDS for Db2. Par conséquent, vous devez créer un groupe de paramètres personnalisés, le modifier, puis l’attacher à vos instances de base de données RDS for Db2. Pour plus d’informations sur les groupes de paramètres, consultez [Groupes de paramètres de base de données pour les instances de base de données Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).

 Utilisez les valeurs de paramètres du tableau ci-dessous.


| Paramètre | Value | 
| --- | --- | 
| DB2COMM | TCPIP,SSL ou SSL | 
| SSL\$1SVCENAME | <any port number except the number used for the non-SSL port> | 

**Mise à jour des paramètres dans un groupe de paramètres personnalisés**

1. Créez un groupe de paramètres personnalisés en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous créez.
   + `--db-parameter-group-family` : édition et version majeure du moteur Db2. Valeurs valides : `db2-se-11-5`, `db2-ae-11.5`. 
   + `--description` : description de ce groupe de paramètres.

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez les paramètres du groupe de paramètres personnalisés que vous avez créé en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous avez créé.
   + `--parameters` : tableau des noms de paramètres, des valeurs et méthode d’application pour la mise à jour des paramètres.

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

1. Associez le groupe de paramètres à votre instance de base de données RDS for Db2. Pour plus d’informations, consultez [Association d’un groupe de paramètres de base de données à une instance de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

## Connexion à votre serveur de base de données Db2
<a name="db2-connecting-to-server-ssl"></a>

Les instructions de connexion à votre serveur de base de données Db2 sont spécifiques à la langue.

------
#### [ Java ]

**Connexion à votre serveur de base de données Db2 à l’aide de Java**

1. Téléchargez le pilote JDBC. Pour plus d'informations, consultez la section [Versions et téléchargements du pilote DB2 JDBC](https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads) dans la documentation de IBM support.

1. Créez un fichier script shell avec le contenu suivant. Ce script ajoute tous les certificats du bundle à un Java KeyStore.
**Important**  
Vérifiez que `keytool` existe sur le chemin d’accès indiqué dans le script afin que celui-ci puisse le localiser. Si vous utilisez un client Db2, vous pouvez trouver le `keytool` sous `~sqlib/java/jdk64/jre/bin`.

   ```
   #!/bin/bash
   PEM_FILE=$1
   PASSWORD=$2
   KEYSTORE=$3
   # number of certs in the PEM file
   CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l)
   for N in $(seq 0 $(($CERTS - 1))); do
       ALIAS="${PEM_FILE%.*}-$N"
       cat $PEM_FILE |
       awk "n==$N { print }; /END CERTIFICATE/ { n++ }" |
       keytool -noprompt -import -trustcacerts -alias $ALIAS -keystore $KEYSTORE -storepass $PASSWORD
   done
   ```

1. Pour exécuter le script shell et importer le fichier PEM contenant le bundle de certificats dans un Java KeyStore, exécutez la commande suivante. *shell\$1file\$1name.sh*Remplacez-le par le nom de votre fichier de script shell et *password* par le mot de passe de votreJava KeyStore.

   ```
    ./shell_file_name.sh global-bundle.pem password truststore.jks
   ```

1. Pour vous connecter à votre serveur Db2, exécutez la commande suivante. Remplacez les espaces réservés suivants dans l’exemple par les informations sur votre instance de base de données RDS for Db2.
   + *ip\$1address*— L'adresse IP du point de terminaison de votre instance de base de données.
   + *port*— Le numéro de port de la connexion SSL. Il peut s’agir de n’importe quel numéro de port à l’exception du numéro utilisé pour le port non SSL.
   + *database\$1name*— Le nom de votre base de données dans votre instance de base de données.
   + *master\$1username*— Le nom d'utilisateur principal de votre instance de base de données.
   + *master\$1password*— Le mot de passe principal de votre instance de base de données.

   ```
   export trustStorePassword=MyPassword
   java -cp ~/dsdriver/jdbc_sqlj_driver/linuxamd64/db2jcc4.jar \
   com.ibm.db2.jcc.DB2Jcc -url \
   "jdbc:db2://ip_address:port/database_name:\
   sslConnection=true;sslTrustStoreLocation=\
   ~/truststore.jks;\
   sslTrustStorePassword=${trustStorePassword};\
   sslVersion=TLSv1.2;\
   encryptionAlgorithm=2;\
   securityMechanism=7;" \
   -user master_username -password master_password
   ```

------
#### [ Node.js ]

**Connexion à votre serveur de base de données Db2 à l’aide de Node.js**

1. Installez le pilote **node-ibm\$1db**. Pour plus d’informations, consultez [Installation du pilote node-ibm\$1db sur les systèmes Linux et UNIX](https://www.ibm.com/docs/en/db2/11.5?topic=nodejs-installing-node-db-driver-linux-unix-systems) dans la documentation IBM Db2.

1. Créez un fichier JavaScript basé sur le contenu suivant. Remplacez les espaces réservés suivants dans l’exemple par les informations sur votre instance de base de données RDS for Db2.
   + *ip\$1address*— L'adresse IP du point de terminaison de votre instance de base de données.
   + *master\$1username*— Le nom d'utilisateur principal de votre instance de base de données.
   + *master\$1password*— Le mot de passe principal de votre instance de base de données.
   + *database\$1name*— Le nom de votre base de données dans votre instance de base de données.
   + *port*— Le numéro de port de la connexion SSL. Il peut s’agir de n’importe quel numéro de port à l’exception du numéro utilisé pour le port non SSL.

   ```
   var ibmdb = require("ibm_db");
   const hostname = "ip_address";
   const username = "master_username";
   const password = "master_password";
   const database = "database_name";
   const port = "port";
   const certPath = "/root/qa-bundle.pem";
   ibmdb.open("DRIVER={DB2};DATABASE=" + database + ";HOSTNAME=" + hostname + ";UID=" + username + ";PWD=" + password + ";PORT=" + port + ";PROTOCOL=TCPIP;SECURITY=SSL;SSLServerCertificate=" + certPath + ";", function (err, conn){
    if (err) return console.log(err);
    conn.close(function () {
    console.log('done');
    });
   });
   ```

1. Pour modifier le fichier JavaScript, exécutez la commande suivante.

   ```
   node ssl-test.js
   ```

------
#### [ Python ]

**Connexion à votre serveur de base de données Db2 à l’aide de Python**

1. Créez un fichier Python avec le contenu suivant. Remplacez les espaces réservés suivants dans l’exemple par les informations sur votre instance de base de données RDS for Db2.
   + *port*— Le numéro de port de la connexion SSL. Il peut s’agir de n’importe quel numéro de port à l’exception du numéro utilisé pour le port non SSL.
   + *master\$1username*— Le nom d'utilisateur principal de votre instance de base de données.
   + *master\$1password*— Le mot de passe principal de votre instance de base de données.
   + *database\$1name*— Le nom de votre base de données dans votre instance de base de données.
   + *ip\$1address*— L'adresse IP du point de terminaison de votre instance de base de données.

   ```
   import click
   import ibm_db
   import sys
   
   port = port;
   master_user_id = "master_username" # Master id used to create your DB instance
   master_password = "master_password" # Master password used to create your DB instance
   db_name = "database_name" # If not given "db-name'
   vpc_customer_private_ip = "ip_address" # Hosts end points - Customer private IP Addressicert_path = "/root/ssl/global-bundle.pem" # cert path
   
   @click.command()        
   @click.option("--path", help="certificate path")
   def db2_connect(path):
   
       try:
           conn = ibm_db.connect(f"DATABASE={db_name};HOSTNAME={vpc_customer_private_ip};PORT={port};
               PROTOCOL=TCPIP;UID={master_user_id};PWD={master_password};SECURITY=ssl;SSLServerCertificate={path};", "", "")
           try:
               ibm_db.exec_immediate(conn, 'create table tablename (a int);')
               print("Query executed successfully")
           except Exception as e:
               print(e)
           finally:
               ibm_db.close(conn)
               sys.exit(1)
       except Exception as ex:
           print("Trying to connect...")
   
   if __name__ == "__main__":
       db2_connect()
   ```

1. Créez le script shell suivant, qui exécute le fichier Python que vous avez créé. Remplacez *python\$1file\$1name.py* par le nom de votre fichier script Python.

   ```
   #!/bin/bash
   PEM_FILE=$1
   # number of certs in the PEM file
   CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l)
   
   for N in $(seq 0 $(($CERTS - 1))); do
       ALIAS="${PEM_FILE%.*}-$N"
       cert=`cat $PEM_FILE | awk "n==$N { print }; /END CERTIFICATE/ { n++ }"`
       cat $PEM_FILE | awk "n==$N { print }; /END CERTIFICATE/ { n++ }" > $ALIAS.pem
       python3 <python_file_name.py> --path $ALIAS.pem
       output=`echo $?`
       if [ $output == 1 ]; then
           break
       fi
   done
   ```

1. Pour importer le fichier PEM contenant le bundle de certificats et exécuter le script shell, exécutez la commande suivante. *shell\$1file\$1name.sh*Remplacez-le par le nom de votre fichier de script shell.

   ```
   ./shell_file_name.sh global-bundle.pem
   ```

------
#### [ Db2 CLP ]

**Connexion à votre serveur de base de données Db2 à l’aide de Db2 CLP**

1. Pour vous connecter à votre instance Db2 à l'aide deDb2 CLP, vous avez besoin GSKit de ce que vous pouvez télécharger sur [IBM Fix Central](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=Security+Systems&product=ibm/Tivoli/IBM+Global+Security+Kit&release=All&platform=All&function=fixId&fixids=8.0.*&source=fc). Pour utiliser Db2 CLP, vous avez également besoin du client IBM Db2, que vous pouvez télécharger depuis [Télécharger les clients et les pilotes de la version 11.5 initiale](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers) sur le support IBM.

1. Créez un magasin de clés.

   ```
   gsk8capicmd_64 -keydb -create -db "directory/keystore-filename" -pw "changeThisPassword" -type pkcs12 -stash
   ```

1. Importez les bundles de certificats dans le magasin de clés.

   ```
   gsk8capicmd_64 -cert -import -file global-bundle.pem -target directory/keystore-filename> -target_stashed
   ```

1. Mettez à jour la configuration de l’instance Db2. 

   ```
   db2 update dbm cfg using SSL_CLNT_KEYDB keystore-filename SSL_CLNT_STASH keystore stash file immediate
   ```

1. Cataloguez le nœud et la base de données.

   ```
   db2 catalog tcpip node ssluse1 REMOTE endpoint SERVER ssl_svcename security ssl
   
   db2 catalog database testdb as ssltest at node ssluse1
   ```

1. Connectez-vous à la base de données .

   ```
   db2 connect to ssltest user username using password
   ```

------

# Utilisation de l’authentification Kerberos pour Amazon RDS for Db2
<a name="db2-kerberos"></a>

Vous pouvez désormais utiliser l’authentification Kerberos pour authentifier les utilisateurs lorsqu’ils se connectent à votre instance de base de données Amazon RDS for Db2. Dans cette configuration, votre instance de base de données fonctionne avec AWS Directory Service for Microsoft Active Directory, également appelée AWS Managed Microsoft AD. Vous ajoutez le domaine et les autres informations de votre AWS Managed Microsoft AD répertoire à votre instance de base de données RDS pour DB2. Lorsque les utilisateurs s'authentifient auprès d'une instance de base de données RDS pour DB2 jointe au domaine de confiance, les demandes d'authentification sont transmises au AWS Managed Microsoft AD répertoire que vous avez créé avec. Directory Service

Vous pouvez gagner du temps et de l'argent en conservant toutes les informations d'identification dans le même annuaire. Cette approche vous permet d'avoir un endroit centralisé de stockage et de gestion des informations d'identification pour plusieurs instances de base de données. L’utilisation d’un annuaire peut également améliorer votre profil de sécurité global.

Vous pouvez également accéder aux informations d’identification à partir de votre propre annuaire Microsoft Active Directory sur site. Pour ce faire, vous créez une relation de domaine d’approbation afin que l’annuaire AWS Managed Microsoft AD approuve votre annuaire Microsoft Active Directory sur site. De cette façon, vos utilisateurs peuvent accéder à vos instances de base de données RDS for Db2 avec la même expérience d’authentification unique (SSO) Windows que lorsqu’ils accèdent aux charges de travail de votre réseau sur site.

Pour plus d'informations, voir [Qu'est-ce que c'est Directory Service ?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) dans le *Guide AWS Directory Service d'administration*.

Pour plus d’informations sur l’authentification Kerberos, consultez les rubriques suivantes :

**Rubriques**
+ [Configuration de l’authentification Kerberos pour les instances de base de données Amazon RDS for Db2](db2-kerberos-setting-up.md)
+ [Connexion à Amazon RDS for Db2 avec l’authentification Kerberos](db2-kerberos-connecting.md)

## Disponibilité des régions et des versions
<a name="db2-kerberos-setting-up.RegionVersionAvailability"></a>

La disponibilité et la prise en charge des fonctionnalités varient selon les versions spécifiques de chaque moteur de base de données, et selon les Régions AWS. Pour plus d’informations sur la disponibilité des versions et des régions de RDS for Db2 avec l’authentification Kerberos, consultez [Régions et moteurs de base de données pris en charge pour l’authentification Kerberos dans Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md).

**Note**  
L’authentification Kerberos n’est pas prise en charge pour les classes d’instance de base de données qui sont obsolètes pour les instances de base de données RDS for Db2. Pour plus d’informations, consultez [Classes d’instance Amazon RDS for Db2](Db2.Concepts.General.InstanceClasses.md).

## Présentation de l’authentification Kerberos pour les instances de bases de données RDS for Db2
<a name="db2-kerberos-setting-up-overview"></a>

Pour configurer l’authentification Kerberos pour une instance de base de données RDS for Db2, effectuez les étapes générales suivantes, décrites plus en détails par la suite : 

1.  AWS Managed Microsoft AD À utiliser pour créer un AWS Managed Microsoft AD répertoire. Vous pouvez utiliser le AWS Management Console, le AWS Command Line Interface (AWS CLI) ou Directory Service pour créer le répertoire. Pour plus d'informations, consultez la section [Création de votre AWS Managed Microsoft AD répertoire](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html) dans le *Guide d'AWS Directory Service administration*. 

1. Créez un rôle Gestion des identités et des accès AWS (IAM) qui utilise la politique IAM gérée. `AmazonRDSDirectoryServiceAccess` Le rôle IAM autorise Amazon RDS à effectuer des appels vers votre annuaire. 

   Pour que le rôle IAM autorise l'accès, le point de terminaison AWS Security Token Service (AWS STS) doit être activé correctement Région AWS pour votre Compte AWS. AWS STS les points de terminaison sont actifs par défaut dans tous les cas Régions AWS, et vous pouvez les utiliser sans autre action. Pour plus d'informations, consultez la section [Activation et désactivation AWS STS dans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) et Région AWS dans le guide de l'*utilisateur IAM*. 

1. Créez ou modifiez une instance de base de données RDS pour DB2 à l'aide de l' AWS Management Console API RDS ou de l'API RDS selon l'une des méthodes suivantes : AWS CLI
   + Créez une nouvelle instance de base de données RDS pour DB2 à l'aide de la console, de la [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)commande ou de l'opération [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) API. Pour obtenir des instructions, veuillez consulter [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
   + Modifiez une instance de base de données RDS for Db2 à l’aide de la console, de la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) ou de l’opération d’API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Pour obtenir des instructions, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 
   + Restaurez une instance de base de données RDS for Db2 à partir d’un instantané de base de données à l’aide de la console, de la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) ou de l’opération d’API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html). Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md). 
   + Restaurez une instance de base de données RDS pour DB2 à point-in-time l'aide de la console, de la [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)commande ou de l'opération [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)API. Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md). 

   Vous pouvez localiser l'instance de base de données dans le même Amazon Virtual Private Cloud (VPC) que le répertoire ou dans un autre VPC. Compte AWS Lors de la création ou de la modification de l’instance de base de données RDS for Db2, procédez comme suit :
   + Fournissez l’identifiant du domaine (identifiant `d-*`) qui a été généré lors de la création de votre annuaire.
   + Fournissez le nom du rôle IAM que vous avez créé.
   + Veillez à ce que le groupe de sécurité de l’instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de l’annuaire.

1. Configurez votre client DB2 et vérifiez que le trafic peut circuler entre l'hôte du client et Directory Service pour les ports suivants :
   + TCP/UDP port 53 : DNS
   + TCP 88 — authentification Kerberos
   + TCP 389 : LDAP
   + TCP 464 — authentification Kerberos

## Gestion d’une instance de base de données dans un domaine
<a name="db2-kerberos-managing-domain"></a>

Vous pouvez utiliser l'API AWS Management Console AWS CLI, la ou l'API RDS pour gérer votre instance de base de données et sa relation avec votreMicrosoft Active Directory. Par exemple, vous pouvez associer un annuaire Active Directory de façon à activer l’authentification Kerberos. Vous pouvez également supprimer l’association d’un annuaire Active Directory pour désactiver l’authentification Kerberos. Vous pouvez également transférer une instance de base de données vers une autre afin qu’elle soit authentifiée en externe par un Microsoft Active Directory.

Par exemple, en exécutant la commande de l’interface de ligne de commande (CLI) [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html), vous pouvez effectuer les actions suivantes :
+ Retenter l’activation de l’authentification Kerberos en cas d’échec d’appartenance en spécifiant l’ID d’annuaire d’appartenance actuel pour l’option `--domain`.
+ Désactiver l’authentification Kerberos sur une instance de base de données en spécifiant `none` pour l’option `--domain`.
+ Transférer une instance de base de données d’un domaine vers un autre en spécifiant l’identifiant du nouveau domaine pour l’option `--domain`.

### Présentation de l’appartenance au domaine
<a name="db2-kerberos-managing-domain.understanding"></a>

Après la création ou la modification de votre instance de base de données, elle devient un membre du domaine. Vous pouvez consulter le statut de l’appartenance au domaine dans la console ou en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). Le statut de l’instance de base de données peut avoir les valeurs suivantes : 
+ `kerberos-enabled` : l’instance de base de données a l’authentification Kerberos activée.
+ `enabling-kerberos`— AWS est en train d'activer l'Kerberosauthentification sur cette instance de base de données.
+ `pending-enable-kerberos` : l’activation de l’authentification Kerberos est en attente sur cette instance de base de données.
+ `pending-maintenance-enable-kerberos`— AWS tentera d'activer Kerberos l'authentification sur l'instance de base de données lors de la prochaine fenêtre de maintenance planifiée.
+ `pending-disable-kerberos` : la désactivation de l’authentification Kerberos est en attente sur cette instance de base de données.
+ `pending-maintenance-disable-kerberos`— AWS tentera de désactiver Kerberos l'authentification sur l'instance de base de données lors de la prochaine fenêtre de maintenance planifiée.
+ `enable-kerberos-failed` : un problème de configuration a empêché AWS d’activer l’authentification Kerberos sur l’instance de base de données. Corrigez le problème de configuration avant de réémettre la commande de modification de l’instance de base de données.
+ `disabling-kerberos`— AWS est en train de désactiver l'Kerberosauthentification sur cette instance de base de données.

Une demande d’activation de l’authentification Kerberos peut échouer à cause d’un problème de connectivité réseau ou d’un rôle IAM incorrect. Dans certains cas, la tentative d’activation de l’authentification Kerberos peut échouer lorsque vous créez ou modifiez une instance de base de données. Si tel est le cas, vérifiez que vous utilisez le rôle IAM correct, puis modifiez l’instance de base de données afin qu’elle soit attachée au domaine.

# Configuration de l’authentification Kerberos pour les instances de base de données Amazon RDS for Db2
<a name="db2-kerberos-setting-up"></a>

Vous utilisez AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) pour configurer l'Kerberosauthentification pour une instance de base de données RDS pour DB2. Pour configurer l’authentification Kerberos, procédez comme suit :

**Topics**
+ [Étape 1 : créer un répertoire à l'aide de AWS Managed Microsoft AD](#db2-kerberos-setting-up.create-directory)
+ [Étape 2 : Créer une approbation](#db2-kerberos-setting-up-create-forest-trust)
+ [Étape 3 : créer un rôle IAM auquel Amazon RDS pourra accéder Directory Service](#db2-kerberos-setting-up-create-iam-role)
+ [Étape 4 : Créer et configurer des utilisateurs](#db2-kerberos-setting-up.create-users)
+ [Étape 5 : créer un groupe d'administrateurs RDS pour DB2 dans AWS Managed Microsoft AD](#db2-kerberos-setting-up-vpc-peering)
+ [Étape 6 : modification du paramètre de base de données](#db2-kerberos-setting-up-modify-db-parameter)
+ [Étape 7 : création ou modification d’une instance de base de données RDS for Db2](#db2-kerberos-setting-up-create-modify)
+ [Étape 8 : récupérer le SID du groupe Active Directory dans PowerShell](#db2-kerberos-setting-up-retrieve-ad-group-sid)
+ [Étape 9 : ajouter un SID aux GroupName mappages vers votre instance de base de données RDS pour DB2](#db2-kerberos-setting-up-add-sid-group-mapping)
+ [Étape 10 : configuration d’un client Db2](#db2-kerberos-setting-up-create-logins)

## Étape 1 : créer un répertoire à l'aide de AWS Managed Microsoft AD
<a name="db2-kerberos-setting-up.create-directory"></a>

Directory Service crée un système entièrement géré Active Directory dans le AWS Cloud. Lorsque vous créez un AWS Managed Microsoft AD annuaire, il Directory Service crée deux contrôleurs de domaine et deux serveurs DNS pour vous. Les serveurs de répertoire sont créés dans des sous-réseaux différents d’un VPC. Cette redondance permet de s’assurer que votre répertoire reste accessible y compris en cas de défaillance. 

 Lorsque vous créez un AWS Managed Microsoft AD répertoire, il Directory Service exécute les tâches suivantes en votre nom : 
+ Configuration d’un annuaire Active Directory dans votre VPC. 
+ Création d’un compte d’administrateur d’annuaire avec le nom d’utilisateur `Admin` et le mot de passe spécifié. Ce compte est utilisé pour gérer votre annuaire. 
**Important**  
Assurez-vous d'enregistrer ce mot de passe. Directory Service ne stocke pas ce mot de passe et il ne peut pas être récupéré ou réinitialisé.
+ Création d’un groupe de sécurité pour les contrôleurs de l’annuaire. Le groupe de sécurité doit autoriser la communication avec l’instance de base de données RDS for Db2.

Lorsque vous lancez AWS Directory Service for Microsoft Active Directory, AWS crée une unité organisationnelle (UO) qui contient tous les objets de votre répertoire. Cette unité organisationnelle, qui porte le nom NetBIOS que vous avez entré lorsque vous avez créé votre annuaire, est située dans la racine du domaine. La racine du domaine est détenue et gérée par AWS. 

Le `Admin` compte créé avec votre AWS Managed Microsoft AD annuaire dispose d'autorisations pour les activités administratives les plus courantes de votre unité d'organisation : 
+ Créer, mettre à jour et supprimer des utilisateurs.
+ Ajouter des ressources à votre domaine, comme des serveurs de fichiers ou d’impression, puis attribuer des autorisations pour ces ressources aux utilisateurs dans votre unité organisationnelle. 
+ Créez OUs des conteneurs supplémentaires. 
+ Déléguer des autorités.
+ Restaurer des objets supprimés de la corbeille Active Directory. 
+ Exécuter Active Directory et les modules DNS (Domain Name Service) pour Windows PowerShell sur l’ Directory Service. 

Le compte `Admin` dispose également de droits pour exécuter les activités suivantes au niveau du domaine : 
+ Gérer les configurations DNS (ajouter, supprimer ou mettre à jour des enregistrements, des zones et des redirecteurs) 
+ Afficher les journaux d'événements DNS. 
+ Afficher les journaux d'événements de sécurité. 

**Pour créer un répertoire avec AWS Managed Microsoft AD**

1. Connectez-vous à la Directory Service console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1. Choisissez **Configurer le répertoire**.

1. Choisissez **AWS Managed Microsoft AD**. AWS Managed Microsoft AD est la seule option actuellement prise en charge pour une utilisation avec Amazon RDS. 

1. Choisissez ******Suivant******.

1. Sur la page ******Enter directory information****** (Saisir les détails du répertoire), renseignez les informations suivantes : 
   + **Édition** : choisissez l’édition qui correspond à vos besoins.
   + **Nom DNS du répertoire**** **: nom complet du répertoire, par exemple `corp.example.com`. 
   + **Nom NetBIOS du répertoire**** **: nom court facultatif pour le répertoire, par exemple `CORP`.
   + **Description du répertoire** : description facultative du répertoire. 
   + **Mot de passe administrateur**** **: mot de passe de l’administrateur du répertoire. Le processus de création d’un annuaire crée un compte d’administrateur avec le nom d’utilisateur `Admin` et ce mot de passe. 

     Le mot de passe de l’administrateur de l’annuaire ne peut pas contenir le terme « admin ». Le mot de passe est sensible à la casse et doit comporter entre 8 et 64 caractères. Il doit également contenir au moins un caractère de trois des quatre catégories suivantes : 
     + Lettres minuscules (a–z) 
     + Lettres majuscules (A–Z) 
     + Chiffres (0–9) 
     + Caractères non alphanumériques (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"’<>,.?/) 
     + Confirmer le mot de passe : saisissez à nouveau le mot de passe de l’administrateur. 
**Important**  
Assurez-vous d'enregistrer ce mot de passe. Directory Service ne stocke pas ce mot de passe et il ne peut pas être récupéré ou réinitialisé.

1. Choisissez **Suivant**.

1. Sur la page **Choose VPC and subnets** (Choisir un VPC et des sous-réseaux), indiquez les informations suivantes :
   + **VPC** : sélectionnez le VPC pour le répertoire. Vous pouvez créer l’instance de base de données RDS for Db2 dans ce même VPC ou dans un autre VPC. 
   + **Sous-réseaux** : choisissez les sous-réseaux pour les serveurs de répertoires. Les deux sous-réseaux doivent être dans des zones de disponibilité différentes. 

1. Choisissez **Suivant**.

1. Vérifiez les informations du répertoire. Si vous devez apporter des modifications, choisissez **Previous** (Précédent) et entrez ces modifications. Lorsque les informations sont correctes, choisissez **Create directory (Créer l’annuaire)**.   
![\[La fenêtre Réviser et créer lors de la création du répertoire dans la Directory Service console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-create-ADS-directory.png)

La création de l’annuaire prend plusieurs minutes. Lorsqu’il est créé, la valeur du champ **Statut** devient **Actif**. 

Pour consulter les informations relatives à votre annuaire, choisissez l’ID d’annuaire sous **ID d’annuaire**. Notez la valeur de **Directory ID** (ID du répertoire). Vous en aurez besoin pour créer ou modifier votre instance de base de données RDS for Db2. 

![\[La section Détails du répertoire avec l'ID du répertoire dans la Directory Service console.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-ADS-directory-details.png)


## Étape 2 : Créer une approbation
<a name="db2-kerberos-setting-up-create-forest-trust"></a>

Si vous prévoyez d'utiliser AWS Managed Microsoft AD uniquement, passez à[Étape 3 : créer un rôle IAM auquel Amazon RDS pourra accéder Directory Service](#db2-kerberos-setting-up-create-iam-role).

Pour activer l’authentification Kerberos à l’aide de votre Active Directory autogéré, vous devez créer une relation d’approbation de forêt entre votre Active Directory autogéré et le . Une approbation forestière est une relation de confiance entre un Microsoft AD et un Active Directory autogéré et AWS Managed Microsoft AD créé à l'étape précédente. L’approbation peut également être bidirectionnelle. Dans ce cas, les deux Active Directory s’approuvent mutuellement. Pour plus d'informations sur la configuration des approbations forestières [à l'aide Directory Service de la section Quand créer une relation d'approbation](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust.html) dans le *Guide d'administration du AWS Directory Service*.

## Étape 3 : créer un rôle IAM auquel Amazon RDS pourra accéder Directory Service
<a name="db2-kerberos-setting-up-create-iam-role"></a>

Pour qu'Amazon RDS puisse vous appeler Directory Service , vous avez Compte AWS besoin d'un rôle IAM qui utilise la politique IAM gérée. `AmazonRDSDirectoryServiceAccess` Ce rôle permet à Amazon RDS d’appeler Directory Service.

Lorsque vous créez une instance de base de données à l'aide de AWS Management Console et que votre compte utilisateur de console dispose de l'`iam:CreateRole`autorisation, la console crée automatiquement le rôle IAM nécessaire. Dans ce cas, le nom du rôle est `rds-directoryservice-kerberos-access-role`. Sinon, vous devez créer le rôle IAM manuellement. Lorsque vous créez ce rôle IAM`Directory Service`, choisissez et associez la politique AWS gérée `AmazonRDSDirectoryServiceAccess` à celui-ci. 

Pour plus d'informations sur la création de rôles IAM pour un service, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le Guide de l'*utilisateur IAM*. 

**Note**  
Le rôle IAM utilisé pour l’authentification Windows pour RDS for Microsoft SQL Server ne peut pas être utilisé pour RDS for Db2.

Vous pouvez également créer des stratégies avec les autorisations obligatoires au lieu d’utiliser la politique gérée `AmazonRDSDirectoryServiceAccess`. Dans ce cas, le rôle IAM doit avoir la politique d’approbation IAM suivante :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Le rôle doit également avoir la politique de rôle IAM suivante :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

## Étape 4 : Créer et configurer des utilisateurs
<a name="db2-kerberos-setting-up.create-users"></a>

Vous pouvez créer des utilisateurs à l’aide de l’outil Active Directory Users and Computers. C’est l’un des outils Active Directory Domain Services et Active Directory Lightweight Directory Services. Pour plus d’informations, consultez [Ajouter des utilisateurs et des ordinateurs au domaine Active Directory](https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/create-an-active-directory-server#add-users-and-computers-to-the-active-directory-domain) dans la documentation Microsoft. Dans ce cas, les utilisateurs sont des individus ou d’autres entités, tels que leurs ordinateurs, qui font partie du domaine et dont les identités sont conservées dans l’annuaire. 

Pour créer des utilisateurs dans un Directory Service annuaire, vous devez être connecté à une instance Amazon EC2 Windows basée qui est membre de l' Directory Service annuaire. Parallèlement, vous devez être connecté en tant qu’utilisateur disposant de privilèges pour créer des utilisateurs. Pour plus d’informations, consultez [Créer un utilisateur](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups_create_user.html) dans le *Guide d’administration AWS Directory Service *.

## Étape 5 : créer un groupe d'administrateurs RDS pour DB2 dans AWS Managed Microsoft AD
<a name="db2-kerberos-setting-up-vpc-peering"></a>

RDS for Db2 ne prend pas en charge l’authentification Kerberos de l’utilisateur principal ou des deux utilisateurs réservés Amazon RDS `rdsdb` et `rdsadmin`. Au lieu de cela, vous devez créer un nouveau groupe appelé `masterdba` in AWS Managed Microsoft AD. Pour plus d’informations, consultez [Créer un compte de groupe Active Directory](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/create-a-group-account-in-active-directory) dans la documentation Microsoft. Tous les utilisateurs que vous ajoutez à ce groupe auront des privilèges d’utilisateur principal.

Une fois l’authentification Kerberos activée, l’utilisateur principal perd son rôle `masterdba`. Par conséquent, l’utilisateur principal ne pourra pas accéder à l’appartenance au groupe d’utilisateurs local de l’instance, sauf si vous désactivez l’authentification Kerberos. Pour continuer à utiliser l’utilisateur principal connecté par mot de passe, créez un utilisateur sur AWS Managed Microsoft AD portant le même nom que l’utilisateur principal. Ajoutez ensuite cet utilisateur au groupe `masterdba`.

## Étape 6 : modification du paramètre de base de données
<a name="db2-kerberos-setting-up-modify-db-parameter"></a>

Si vous prévoyez d'utiliser AWS Managed Microsoft AD uniquement, passez à[Étape 7 : création ou modification d’une instance de base de données RDS for Db2Étape 7 : création ou modification d’une instance de base de données](#db2-kerberos-setting-up-create-modify).

Pour activer l’authentification Kerberos à l’aide de votre Active Directory autogéré, vous devez définir le paramètre `rds.active_directory_configuration` sur `AWS_MANAGED_AD_WITH_TRUST` dans votre groupe de paramètres. Par défaut, ce paramètre est défini sur `AWS_MANAGED_AD` pour l'utilisation de AWS Managed Microsoft AD uniquement.

Pour plus d’informations sur la modification des paramètres de base de données, consultez [Modification des paramètres dans les groupes de paramètres](db2-supported-parameters.md#db2-modifying-parameter-group-parameters).

## Étape 7 : création ou modification d’une instance de base de données RDS for Db2
<a name="db2-kerberos-setting-up-create-modify"></a>

Créez ou modifiez une instance de base de données RDS for Db2 en vue de son utilisation avec votre répertoire. Vous pouvez utiliser la AWS Management Console, l’ AWS CLI ou l’API RDS pour associer une instance de base de données à un répertoire. Vous pouvez effectuer cette opération de différentes manières :
+ Créez une nouvelle instance de base de données RDS for Db2 à l’aide de la console, de la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) ou de l’opération d’API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Pour obtenir des instructions, veuillez consulter [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Modifiez une instance de base de données RDS pour DB2 existante à l'aide de la console, de la [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)commande ou de l'opération [Modify DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) API. Pour obtenir des instructions, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 
+ Restaurez une instance de base de données RDS for Db2 à partir d’un instantané de base de données à l’aide de la console, de la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) ou de l’opération d’API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html). Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md). 
+ Restaurez une instance de base de données RDS pour DB2 à point-in-time l'aide de la console, de la [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)commande ou de l'opération [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)API. Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md). 

L’authentification Kerberos est uniquement prise en charge pour les instances de base de données RDS for Db2 dans un VPC. L’instance de base de données peut être dans le même VPC que l’annuaire ou dans un VPC différent. L’instance de base de données doit utiliser un groupe de sécurité qui accepte les entrées et les sorties du VPC de l’annuaire, afin que l’instance de base de données puisse communiquer avec le répertoire.

### Console
<a name="db2-kerberos-setting-up-create-modify-console"></a>

Lorsque vous utilisez la console pour créer, modifier ou restaurer une instance de bases de données, choisissez **Mot de passe et authentification Kerberos** dans la section **Authentification de base de données**. Ensuite, choisissez **Browse Directory** (Parcourir le répertoire). Sélectionnez le répertoire ou choisissez **Créer un nouveau répertoire** pour utiliser Directory Service.

![\[La section Authentification de base de données avec mot de passe et authentification Kerberos sélectionnée dans la console Amazon RDS.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-database-authentication-directory.png)


### AWS CLI
<a name="db2-kerberos-setting-up-create-modify-cli"></a>

Lorsque vous utilisez le AWS CLI, les paramètres suivants sont requis pour que l'instance de base de données puisse utiliser le répertoire que vous avez créé :
+ Pour le paramètre `--domain`, vous devez indiquer l’identifiant du domaine (identifiant « `d-*` ») généré lors de la création de l’annuaire.
+ Pour le paramètre `--domain-iam-role-name`, utilisez le rôle que vous avez créé qui utilise la politique IAM gérée `AmazonRDSDirectoryServiceAccess`.

L’exemple suivant modifie une instance de base de données de façon à utiliser un répertoire. Remplacez les placeholders suivants dans l’exemple par vos propres valeurs :
+ *db\$1instance\$1name*— Le nom de votre instance de base de données RDS pour DB2.
+ *directory\$1id*— L'ID du AWS Directory Service for Microsoft Active Directory répertoire que vous avez créé.
+ *role\$1name*— Le nom du rôle IAM que vous avez créé.

```
aws rds modify-db-instance --db-instance-identifier db_instance_name --domain d-directory_id --domain-iam-role-name role_name 
```

**Important**  
Si vous modifiez une instance de base de données de façon à activer l’authentification Kerberos, redémarrez l’instance de base de données après avoir effectué la modification.

## Étape 8 : récupérer le SID du groupe Active Directory dans PowerShell
<a name="db2-kerberos-setting-up-retrieve-ad-group-sid"></a>

Un identifiant de sécurité (SID) permet d’identifier de manière unique un principal ou un groupe de sécurité. Lorsqu’un groupe ou un compte de sécurité est créé dans Active Directory, Active Directory attribue un SID au groupe. Pour récupérer le SID du groupe de sécurité AD depuis Active Directory, utilisez l’applet de commande `Get-ADGroup` sur un ordinateur client Windows qui fait partie du domaine Active Directory. Le paramètre `Identity` indique le nom du groupe Active Directory pour lequel vous souhaitez obtenir le SID.

L’exemple suivant renvoie le SID du groupe Active Directory `adgroup1`.

```
C:\Users\Admin> Get-ADGroup -Identity adgroup1 | select SID

             SID
-----------------------------------------------
S-1-5-21-3168537779-1985441202-1799118680-1612
```

Vous devez générer ce mappage pour tous les groupes concernés par la base de données.

## Étape 9 : ajouter un SID aux GroupName mappages vers votre instance de base de données RDS pour DB2
<a name="db2-kerberos-setting-up-add-sid-group-mapping"></a>

Vous devez ajouter le SID aux GroupName mappages créés à l'étape précédente à votre instance de base de données RDS pour DB2. Pour chaque mappage, appelez la procédure stockée suivante. Remplacez le *SID* et *group\$1name* par vos propres informations. 

```
db2 connect to rdsadmin
db2 "call rdsadmin.set_sid_group_mapping(?, 'SID','group_name')"
```

Pour de plus amples informations, veuillez consulter [rdsadmin.set\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-set-sid-group-mapping). 

Pour plus d’informations sur la vérification du statut d’une tâche, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

## Étape 10 : configuration d’un client Db2
<a name="db2-kerberos-setting-up-create-logins"></a>

**Configuration d’un client Db2**

1. Créez un fichier **/etc/krb5.conf** (ou équivalent) pointant vers le domaine.
**Note**  
Pour les systèmes d’exploitation Windows, créez un fichier **C:\$1windows\$1krb5.ini**.

1. Vérifiez que le trafic peut circuler entre l'hôte client et Directory Service. Utilisez un utilitaire réseau tel que Netcat pour les tâches suivantes :

   1. Vérifiez le trafic via DNS pour le port 53.

   1. Vérifiez que le trafic est dépassé TCP/UDP pour le port 53 et pourKerberos, y compris les ports 88 et 464 pour Directory Service.

1. Vérifiez que le trafic peut circuler entre l’hôte du client et l’instance de base de données via le port de la base de données. Vous pouvez utiliser la commande `db2` pour vous connecter à la base de données et y accéder.

L'exemple suivant est le contenu du fichier /etc/krb5.conf pour : AWS Managed Microsoft AD

```
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = example.com
admin_server = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
```

# Connexion à Amazon RDS for Db2 avec l’authentification Kerberos
<a name="db2-kerberos-connecting"></a>

Utilisez la procédure suivante pour vous connecter à votre instance de base de données Amazon RDS for Db2 à l’aide de l’authentification Kerberos.

**Pour se connecter à Amazon RDS for Db2 avec l’authentification Kerberos**

1. A partir d’une invite de commande, exécutez la commande suivante. Dans l'exemple suivant, remplacez-le *username* par votre Microsoft Active Directory nom d'utilisateur.

   ```
   kinit username
   ```

1. Si l’instance de base de données RDS for Db2 utilise un VPC accessible au public, ajoutez l’adresse IP pour le point de terminaison de votre instance de base de données dans votre fichier `/etc/hosts` sur le client Amazon EC2. L’exemple suivant permettent d’obtenir l’adresse IP et de l’ajouter au fichier `/etc/hosts`.

   ```
   % dig +short Db2-endpoint.AWS-Region.rds.amazonaws.com  
   ;; Truncated, retrying in TCP mode.
   ec2-34-210-197-118.AWS-Region.compute.amazonaws.com.
   34.210.197.118 
   
   % echo "34.210.197.118  Db2-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
   ```

1. Utilisez la commande suivante pour vous connecter à une instance de base de données RDS for Db2 associée à Active Directory. *database\$1name*Remplacez-le par le nom de votre base de données RDS pour DB2.

   ```
   db2 connect to database_name
   ```

# Administration de votre instance de base de données Amazon RDS for Db2
<a name="db2-administering-db-instance"></a>

Cette rubrique couvre les tâches de gestion courantes que vous effectuez avec une instance de base de données Amazon RDS for Db2. Certaines tâches sont les mêmes pour toutes les instances de base de données Amazon RDS. D’autres tâches sont spécifiques à RDS for Db2.

Les tâches suivantes sont communes à toutes les bases de données RDS. Il existe également des tâches spécifiques à RDS for Db2, telles que la connexion à une base de données RDS for Db2 avec un client SQL standard.


| Type de tâche | Documentation | 
| --- | --- | 
|  **Classes d’instance, stockage et PIOPS** Si vous créez une instance de production, découvrez comment fonctionnent les classes d'instance, les types de stockage et les IOPS provisionnées dans Amazon RDS.   |  [Classes d'instances de base de données ](Concepts.DBInstanceClass.md) [Types de stockage Amazon RDS](CHAP_Storage.md#Concepts.Storage)  | 
|  **Déploiements multi-AZ** Une instance de base de données de production doit utiliser des déploiements multi-AZ. Les déploiements Multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes pour les instances de bases de données.   |  [Configuration et gestion d’un déploiement multi-AZ pour Amazon RDS](Concepts.MultiAZ.md)  | 
|  **Amazon VPC** Si vous disposez Compte AWS d'un cloud privé virtuel (VPC) par défaut, votre instance de base de données est automatiquement créée dans le VPC par défaut. Si votre compte n'a pas de VPC par défaut et que vous voulez que l'instance de base de données soit dans un VPC, créez le VPC et les groupes de sous-réseaux avant de créer l'instance de base de données.   |  [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md)  | 
|  **Groupes de sécurité** Par défaut, les instances de base de données utilisent un pare-feu qui empêche l’accès. Veillez à créer un groupe de sécurité avec les adresses IP et la configuration réseau voulues pour accéder à l'instance de base de données.  |  [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md)  | 
|  **Groupes de paramètres** Étant donné que votre instance de base de données RDS for Db2 nécessite que vous ajoutiez les paramètres `rds.ibm_customer_id` et `rds.ibm_site_id`, créez un groupe de paramètres avant de créer l’instance de base de données. Si votre instance de base de données nécessite d’autres paramètres de base de données spécifiques, ajoutez-les à ce groupe de paramètres avant de créer l’instance de base de données.  |  [Ajout IBM IDs à un groupe de paramètres pour les instances de base de données RDS pour DB2](db2-licensing.md#db2-licensing-options-byol-adding-ids) [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md)  | 
|  **Groupes d’options** Si votre instance de base de données nécessite des options spécifiques, créez un groupe d'options avant de créer l'instance de base de données.  |  [Options pour les instances de base de données Amazon RDS for Db2](Db2.Options.md)  | 
|  **Connexion à votre instance de base de données** Après avoir créé un groupe de sécurité et l’avoir associé à une instance de base de données, vous pouvez vous connecter à l’instance de base de données en utilisant une application cliente SQL standard quelconque telle que IBM Db2 CLP.   |  [Connexion à votre instance de base de données Db2](USER_ConnectToDb2DBInstance.md)  | 
|  **Sauvegarde et restauration** Vous pouvez configurer votre instance de base de données pour que les sauvegardes de stockage soient exécutées automatiquement ou que les instantanés de stockage soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés.   | [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md) | 
|  **Surveillance** Vous pouvez surveiller une instance de base de données RDS for Db2 avec IBM Db2 Data Management Console.  Vous pouvez également surveiller une instance de base de données RDS pour DB2 à l'aide des métriques, des événements et de la surveillance améliorée d' CloudWatch Amazon RDS.   |  [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md) [Affichage des métriques dans la console Amazon RDS](USER_Monitoring.md) [Affichage d’événements Amazon RDS](USER_ListEvents.md) [Surveillance des métriques du système d’exploitation à l’aide de la Surveillance améliorée](USER_Monitoring.OS.md)  | 
|  **Les fichiers journaux** Vous pouvez accéder aux fichiers journaux de votre instance de base de données RDS for Db2.  |  [Surveillance des fichiers journaux Amazon RDS](USER_LogAccess.md)  | 

**Topics**
+ [Exécution des tâches système courantes pour les instances de base de données RDS for Db2](db2-performing-common-system-tasks-db-instances.md)
+ [Exécution des tâches de base de données courantes pour les instances de base de données RDS for Db2](db2-performing-common-database-tasks-db-instances.md)

# Exécution des tâches système courantes pour les instances de base de données RDS for Db2
<a name="db2-performing-common-system-tasks-db-instances"></a>

Vous pouvez effectuer certaines tâches d’administrateur de base de données courantes liées au système sur vos instances de base de données Amazon RDS en exécutant Db2. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. 

Pour plus d’informations sur l’octroi et la révocation de privilèges et sur l’attachement à la base de données distante pour RDS for Db2, consultez les rubriques suivantes.

**Rubriques**
+ [Octroi et révocation de privilèges pour RDS for Db2](db2-granting-revoking-privileges.md)
+ [Connexion à l’instance de base de données RDS for Db2 distante](db2-attaching-to-remote.md)

## Création d’un point de terminaison de base de données personnalisé
<a name="db2-creating-custom-database-endpoint"></a>

Lorsque vous migrez vers Amazon RDS pour DB2, vous pouvez utiliser un point de terminaison de base de données personnalisé URLs afin de minimiser les modifications apportées à votre application. Par exemple, si vous utilisez `db2.example.com` comme enregistrement DNS actuel, vous pouvez l’ajouter à Amazon Route 53. Dans Route 53, vous pouvez utiliser des zones hébergées privées pour mapper le point de terminaison de votre base de données DNS actuel à un point de terminaison de base de données RDS for Db2. Pour ajouter un enregistrement `A` ou `CNAME` pour un point de terminaison de base de données Amazon RDS, consultez [Enregistrement et gestion de domaines à l’aide d’Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html) dans le *Guide du développeur Amazon Route 53*.

**Note**  
Si vous ne parvenez pas à transférer votre domaine vers Route 53, vous pouvez utiliser votre fournisseur DNS pour créer un enregistrement `CNAME` pour l’URL du point de terminaison de base de données RDS for Db2. Consultez la documentation de votre fournisseur DNS.

# Octroi et révocation de privilèges pour RDS for Db2
<a name="db2-granting-revoking-privileges"></a>

Les utilisateurs accèdent aux bases de données par le biais de l’appartenance à des groupes attachés aux bases de données.

Utilisez les procédures suivantes pour accorder et révoquer des privilèges afin de contrôler l’accès à votre base de données. 

Ces procédures utilisent IBM Db2 CLP exécuté sur une machine locale pour se connecter à une instance de base de données RDS for Db2. Assurez-vous de cataloguer le nœud TCP/IP et la base de données pour vous connecter à votre instance de base de données RDS for Db2 exécutée sur votre machine locale. Pour plus d’informations, consultez [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 CLP](db2-connecting-with-clp-client.md).

**Topics**
+ [Octroi à un utilisateur l’accès à votre base de données](#db2-granting-user-access)
+ [Modification du mot de passe d’un utilisateur](#db2-changing-user-password)
+ [Ajout de groupes à un utilisateur](#db2-adding-group-to-user)
+ [Suppression des groupes d’un utilisateur](#db2-removing-groups-from-user)
+ [Suppression d’un utilisateur](#db2-removing-user)
+ [Affichage d’une liste d’utilisateurs](#db2-listing-users-database)
+ [Création d'un rôle](#db2-creating-role)
+ [Octroi d’un rôle](#db2-granting-role)
+ [Révocation d’un rôle](#db2-revoking-role)
+ [Suppression d’un rôle](#db2-dropping-role)
+ [Octroi des autorisations de base de donnée](#db2-granting-dbadmin-auth)
+ [Révocation de l’autorisation de base de données](#db2-revoking-dbadmin-auth)

## Octroi à un utilisateur l’accès à votre base de données
<a name="db2-granting-user-access"></a>

**Pour accorder à un utilisateur l’accès à votre base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

   Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

   ```
   Database Connection Information
       
   Database server        = DB2/LINUXX8664 11.5.8.0
   SQL authorization ID   = ADMIN
   Local database alias   = RDSADMIN
   ```

1. Ajoutez un utilisateur à votre liste d’autorisation en appelant `rdsadmin.add_user`. Pour plus d’informations, consultez [rdsadmin.add\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-add-user). 

   ```
   db2 "call rdsadmin.add_user(
       'username',
       'password',
       'group_name,group_name')"
   ```

1. (Facultatif) Ajoutez des groupes supplémentaires à l’utilisateur en appelant `rdsadmin.add_groups`. Pour plus d’informations, consultez [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

1. Vérifiez les autorisations dont dispose l’utilisateur. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1user*, et *master\$1password* par vos propres informations. Remplacez également *username* par le nom d'utilisateur de l'utilisateur.

   ```
   db2 terminate
   db2 connect to rds_database_alias user master_user using master_password
   db2 "SELECT SUBSTR(AUTHORITY,1,20) AUTHORITY, D_USER, D_GROUP, D_PUBLIC
          FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('username', 'U') ) AS T
          ORDER BY AUTHORITY"
   ```

   Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

   ```
   AUTHORITY            D_USER D_GROUP D_PUBLIC
   -------------------- ------ ------- --------
   ACCESSCTRL           N      N       N
   BINDADD              N      N       N
   CONNECT              N      N       N
   CREATETAB            N      N       N
   CREATE_EXTERNAL_ROUT N      N       N
   CREATE_NOT_FENCED_RO N      N       N
   CREATE_SECURE_OBJECT N      N       N
   DATAACCESS           N      N       N
   DBADM                N      N       N
   EXPLAIN              N      N       N
   IMPLICIT_SCHEMA      N      N       N
   LOAD                 N      N       N
   QUIESCE_CONNECT      N      N       N
   SECADM               N      N       N
   SQLADM               N      N       N
   SYSADM               *      N       *
   SYSCTRL              *      N       *
   SYSMAINT             *      N       *
   SYSMON               *      N       *
   WLMADM               N      N       N
   ```

1. Accordez les rôles RDS for Db2 pour `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` et `ROLE_PROCEDURES` au groupe auquel vous avez ajouté l’utilisateur. Pour plus d’informations, consultez [Rôles par défaut d’Amazon RDS for Db2](db2-default-roles.md).
**Note**  
Nous créons des instances de base de données RDS for Db2 en mode `RESTRICTIVE`. Par conséquent, les rôles RDS for Db2 `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` et `ROLE_PROCEDURES` accorde des privilèges d’exécution sur les packages `NULLID` pour IBM Db2 CLP et Dynamic SQL. Ces rôles accordent également des privilèges aux utilisateurs sur les tablespaces. 

   1. Connectez-vous à votre base de données Db2. Dans l'exemple suivant, remplacez *database\$1name**master\$1user*, et *master\$1password* par vos propres informations.

      ```
      db2 connect to database_name user master_user using master_password
      ```

   1. Accordez le rôle `ROLE_NULLED_PACKAGES` à un groupe. Dans l'exemple suivant, remplacez *group\$1name* par le nom du groupe auquel vous souhaitez ajouter le rôle.

      ```
      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
      ```

   1. Accordez le rôle `ROLE_TABLESPACES` au même groupe. Dans l'exemple suivant, remplacez *group\$1name* par le nom du groupe auquel vous souhaitez ajouter le rôle.

      ```
      db2 "grant role ROLE_TABLESPACES to group group_name"
      ```

   1. Accordez le rôle `ROLE_PROCEDURES` au même groupe. Dans l'exemple suivant, remplacez *group\$1name* par le nom du groupe auquel vous souhaitez ajouter le rôle.

      ```
      db2 "grant role ROLE_PROCEDURES to group group_name"
      ```

1. Accordez les autorités `connect`, `bindadd`, `createtab` et `IMPLICIT_SCHEMA` au groupe auquel vous avez ajouté l’utilisateur. Dans l'exemple suivant, remplacez *group\$1name* par le nom du deuxième groupe auquel vous avez ajouté l'utilisateur.

   ```
   db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public"
   db2 "grant connect, bindadd, createtab, implicit_schema on database to group group_name"
   ```

1. Répétez les étapes 4 à 6 pour chaque groupe supplémentaire auquel vous avez ajouté l’utilisateur.

1. Testez l’accès de l’utilisateur en vous connectant en tant qu’utilisateur, en créant une table, en insérant des valeurs dans la table et en renvoyant les données de la table. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**username*, et *password* par le nom de la base de données ainsi que le nom d'utilisateur et le mot de passe de l'utilisateur.

   ```
   db2 connect to rds_database_alias user username using password
   db2 "create table t1(c1 int not null)"
   db2 "insert into t1 values (1),(2),(3),(4)"
   db2 "select * from t1"
   ```

## Modification du mot de passe d’un utilisateur
<a name="db2-changing-user-password"></a>

**Pour modifier le mot de passe d’un utilisateur**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Modifiez le mot de passe en appelant `rdsadmin.change_password`. Pour plus d’informations, consultez [rdsadmin.change\$1password](db2-sp-granting-revoking-privileges.md#db2-sp-change-password). 

   ```
   db2 "call rdsadmin.change_password(
       'username',
       'new_password')"
   ```

## Ajout de groupes à un utilisateur
<a name="db2-adding-group-to-user"></a>

**Pour ajouter des groupes à un utilisateur**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Ajoutez des groupes à un utilisateur en appelant `rdsadmin.add_groups`. Pour plus d’informations, consultez [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

## Suppression des groupes d’un utilisateur
<a name="db2-removing-groups-from-user"></a>

**Suppression de groupes d’un utilisateur**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Supprimez des groupes en appelant `rdsadmin.remove_groups`. Pour plus d’informations, consultez [rdsadmin.remove\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-remove-groups). 

   ```
   db2 "call rdsadmin.remove_groups(
       'username',
       'group_name,group_name')"
   ```

## Suppression d’un utilisateur
<a name="db2-removing-user"></a>

**Suppression d’un utilisateur de la liste d’autorisations**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Supprimez un utilisateur de votre liste d’autorisation en appelant `rdsadmin.remove_user`. Pour plus d’informations, consultez [rdsadmin.remove\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-remove-user). 

   ```
   db2 "call rdsadmin.remove_user('username')"
   ```

## Affichage d’une liste d’utilisateurs
<a name="db2-listing-users-database"></a>

Pour afficher les utilisateurs sur une liste d’autorisation, appelez la procédure stockée `rdsadmin.list_users`. Pour plus d’informations, consultez [rdsadmin.list\$1users](db2-sp-granting-revoking-privileges.md#db2-sp-list-users).

```
db2 "call rdsadmin.list_users()"
```

## Création d'un rôle
<a name="db2-creating-role"></a>

Vous pouvez utiliser la procédure stockée [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role) pour créer un rôle.

**Création d’un rôle**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Configurez Db2 pour qu’il affiche le contenu.

   ```
   db2 set serveroutput on 
   ```

1. Créez un rôle. Pour plus d’informations, consultez [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role).

   ```
   db2 "call rdsadmin.create_role(
       'database_name',
       'role_name')"
   ```

1. Configurez Db2 pour qu’il n’affiche le contenu.

   ```
   db2 set serveroutput off
   ```

## Octroi d’un rôle
<a name="db2-granting-role"></a>

Vous pouvez utiliser la procédure stockée [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role) pour attribuer un rôle à un rôle, à un utilisateur ou à un groupe.

**Attribution d’un rôle**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Configurez Db2 pour qu’il affiche le contenu.

   ```
   db2 set serveroutput on 
   ```

1. Attribuez un rôle. Pour plus d’informations, consultez [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role).

   ```
   db2 "call rdsadmin.grant_role(
       'database_name',
       'role_name',
       'grantee',
       'admin_option')"
   ```

1. Configurez Db2 pour qu’il n’affiche le contenu.

   ```
   db2 set serveroutput off
   ```

## Révocation d’un rôle
<a name="db2-revoking-role"></a>

Vous pouvez utiliser la procédure stockée [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role) pour révoquer un rôle d’un rôle, d’un utilisateur ou d’un groupe.

**Pour révoquer un rôle**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Révoquez un rôle. Pour plus d’informations, consultez [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role).

   ```
   db2 "call rdsadmin.revoke_role(
       ?,
       'database_name',
       'role_name',
       'grantee')"
   ```

## Suppression d’un rôle
<a name="db2-dropping-role"></a>

Vous pouvez utiliser la procédure stockée [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role) pour supprimer un rôle.

**Pour supprimer un rôle**

1. Connectez-vous à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Supprimez un rôle. Pour plus d’informations, consultez [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role).

   ```
   db2 "call rdsadmin.drop_role(
       ?,
       'database_name',
       'role_name')"
   ```

## Octroi des autorisations de base de donnée
<a name="db2-granting-dbadmin-auth"></a>

L’utilisateur principal, qui dispose de l’autorisation `DBADM`, peut octroyer l’autorisation `DBADM`, `ACCESSCTRL` ou `DATAACCESS` à un rôle, un utilisateur ou un groupe.

**Pour accorder des autorisations de base de donnée**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Accordez l’accès à un utilisateur en appelant `rdsadmin.dbadm_grant`. Pour plus d’informations, consultez [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```

**Exemple de cas d’utilisation**

La procédure suivante explique comment créer un rôle, octroyer une autorisation `DBADM` au rôle, attribuer le rôle à un utilisateur et octroyer le rôle à un groupe.

****

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Créez un rôle appelé `PROD_ROLE` pour une base de données appelée `TESTDB`. Pour plus d’informations, consultez [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role). 

   ```
   db2 "call rdsadmin.create_role(
       'TESTDB',
       'PROD_ROLE')"
   ```

1. Attribuez le rôle à un utilisateur appelé `PROD_USER`. Le `PROD_USER` reçoit l’autorisation d’attribuer des rôles. Pour plus d’informations, consultez [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role). 

   ```
   db2 "call rdsadmin.grant_role(
       ?,
       'TESTDB',
       'PROD_ROLE',
       'USER PROD_USER',
       'Y')"
   ```

1. (Facultatif) Fournissez des autorisations ou des privilèges supplémentaires. L’exemple suivant octroie l’autorisation `DBADM` à un rôle nommé `PROD_ROLE` pour une base de données appelée`FUNDPROD`. Pour plus d’informations, consultez [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'FUNDPROD',
       'DBADM',
       'ROLE PROD_ROLE')"
   ```

1. Mettez fin à votre séance.

   ```
   db2 terminate
   ```

1. Connectez-vous à la base de données `TESTDB` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to TESTDB user master_username using master_password
   ```

1. Ajoutez d’autres autorisations au rôle.

   ```
   db2 "grant connect, implicit_schema on database to role PROD_ROLE"
   ```

1. Accordez le rôle `PROD_ROLE` à un groupe.

   ```
   db2 "grant role PROD_ROLE to group PRODGRP"
   ```

Les utilisateurs appartenant au groupe `PRODGRP` peuvent désormais effectuer des actions telles que la connexion à la base de données `TESTDB`, la création de tables ou la création de schémas.

## Révocation de l’autorisation de base de données
<a name="db2-revoking-dbadmin-auth"></a>

L’utilisateur principal, qui dispose de l’autorisation `DBADM`, peut révoquer l’autorisation `DBADM`, `ACCESSCTRL` ou `DATAACCESS` d’un rôle, d’un utilisateur ou d’un groupe.

**Pour révoquer l’autorisation de base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Révoquez l’accès de l’utilisateur en appelant `rdsadmin.dbadm_revoke`. Pour plus d’informations, consultez [rdsadmin.dbadm\$1revoke](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-revoke). 

   ```
   db2 "call rdsadmin.dbadm_revoke(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```

# Connexion à l’instance de base de données RDS for Db2 distante
<a name="db2-attaching-to-remote"></a>

Suivez les étapes suivantes pour vous connecter à votre instance de base de données RDS for Db2 distante et exécutez les opérations `get snapshot`.

**Se connecter à l’instance de base de données RDS for Db2 distante**

1. Exécutez une session côté client IBM Db2 CLP. Pour plus d’informations sur le catalogage de votre instance de base de données RDS for Db2 et votre base de données, consultez [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 CLP](db2-connecting-with-clp-client.md). Notez le nom d’utilisateur principal et le mot de passe principal de votre instance de base de données RDS for Db2.

1. Connectez-vous à l’instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *node\$1name**master\$1username*, et *master\$1password* par le nom du nœud TCP/IP que vous avez catalogué ainsi que le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

   ```
   db2 attach to node_name user master_username using master_password
   ```

Après vous être connecté à l’instance de base de données RDS for Db2 distante, vous pouvez exécuter les commandes suivantes et d’autres commandes `get snapshot`. Pour plus d’informations, consultez [Commande GET SNAPSHOT](https://www.ibm.com/docs/en/db2/11.5?topic=commands-get-snapshot) dans la documentation IBM Db2.

```
db2 list applications
db2 get snapshot for all databases
db2 get snapshot for database manager
db2 get snapshot for all applications
```

# Exécution des tâches de base de données courantes pour les instances de base de données RDS for Db2
<a name="db2-performing-common-database-tasks-db-instances"></a>

Vous pouvez effectuer certaines tâches DBA courantes liées aux bases de données sur vos instances de base de données Amazon RDS for Db2. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. En outre, l’utilisateur principal ne peut pas exécuter de commandes ou d’utilitaires nécessitant les autorisations `SYSADM`, `SYSMAINT` ou `SYSCTRL`.

Pour plus d’informations sur les tâches courantes relatives aux groupes de mémoires tampons, aux bases de données et aux tablespaces, consultez les rubriques suivantes.

**Rubriques**
+ [Tâches courantes pour les pools de mémoires tampons](db2-managing-buffer-pools.md)
+ [Tâches courantes pour les bases de données](db2-managing-databases.md)
+ [Tâches courantes pour les tablespaces](db2-managing-tablespaces.md)

# Tâches courantes pour les pools de mémoires tampons
<a name="db2-managing-buffer-pools"></a>

Vous pouvez créer, modifier ou supprimer des pools de mémoires tampons pour votre base de données RDS for Db2. La création, la modification ou la suppression de pools de mémoires tampons nécessitent une autorité `SYSADM` ou `SYSCTRL` de niveau supérieur, qui n’est pas disponible pour l’utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.

Vous pouvez également vider les pools de mémoires tampons.

**Topics**
+ [Création d’un pool de mémoires tampons](#db2-creating-buffer-pool)
+ [Modification d’un pool de mémoires tampons](#db2-altering-buffer-pool)
+ [Suppression d’un pool de mémoires tampons](#db2-dropping-buffer-pool)
+ [Vidage des pools de mémoires tampons](#db2-flushing-buffer-pools)

## Création d’un pool de mémoires tampons
<a name="db2-creating-buffer-pool"></a>

Pour créer un pool de mémoires tampons pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.create_bufferpool`. Pour plus d’informations, consultez [Instruction CREATE BUFFERPOOL](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-bufferpool) dans la documentation IBM Db2.

**Pour créer un pool de mémoires tampons**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Créez un pool de mémoires tampons en appelant `rdsadmin.create_bufferpool`. Pour plus d’informations, consultez [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool).

   ```
   db2 "call rdsadmin.create_bufferpool(
       'database_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       'immediate', 
       'automatic', 
       page_size, 
       number_block_pages, 
       block_size)"
   ```

## Modification d’un pool de mémoires tampons
<a name="db2-altering-buffer-pool"></a>

Pour modifier un pool de mémoires tampons pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.alter_bufferpool`. Pour plus d’informations, consultez [Instruction ALTER BUFFERPOOL](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-bufferpool) dans la documentation IBM Db2.

**Pour modifier un pool de mémoires tampons**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifiez un pool de mémoires tampons en appelant `rdsadmin.alter_bufferpool`. Pour plus d’informations, consultez [rdsadmin.alter\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-alter-buffer-pool).

   ```
   db2 "call rdsadmin.alter_bufferpool(
       'database_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       'immediate', 
       'automatic', 
       change_number_blocks, 
       number_block_pages, 
       block_size)"
   ```

## Suppression d’un pool de mémoires tampons
<a name="db2-dropping-buffer-pool"></a>

Pour supprimer un pool de mémoires tampons pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.drop_bufferpool`. Pour plus d’informations, consultez [Suppression de pools de mémoires tampons](https://www.ibm.com/docs/en/db2/11.5?topic=pools-dropping-buffer) dans la documentation IBM Db2.

**Important**  
Assurez-vous qu’aucun tablespace n’est attribué au pool de mémoires tampons que vous souhaitez supprimer. 

**Pour supprimer un pool de mémoires tampons**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Supprimez un pool de mémoires tampons en appelant `rdsadmin.drop_bufferpool`. Pour plus d’informations, consultez [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool).

   ```
   db2 "call rdsadmin.drop_bufferpool(
       'database_name', 
       'buffer_pool_name')"
   ```

## Vidage des pools de mémoires tampons
<a name="db2-flushing-buffer-pools"></a>

Vous pouvez vider les pools de mémoires tampons pour forcer un point de contrôle afin que RDS for Db2 enregistre des pages de la mémoire vers le stockage. 

**Note**  
Vous n’avez pas besoin de vider les pools de mémoires tampons. Db2 écrit les journaux de manière synchrone avant de valider les transactions. Les pages de modification se trouvent peut-être toujours dans un pool de mémoires tampons, mais Db2 les écrit dans le stockage de manière asynchrone. Même si le système s’arrête de façon inattendue, lorsque vous redémarrez la base de données, Db2 effectue automatiquement une récupération sur incident. Lors de la récupération sur incident, Db2 écrit les modifications validées dans la base de données ou annule les modifications pour les transactions non validées. 

**Pour vider les pools de mémoires tampons**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *rds\$1database\$1alias*, *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Videz les pools de mémoires tampons.

   ```
   db2 flush bufferpools all
   ```

# Tâches courantes pour les bases de données
<a name="db2-managing-databases"></a>

Vous pouvez créer, supprimer ou restaurer des bases de données sur votre instance de base de données RDS for Db2. La création, la suppression ou la restauration de bases de données nécessitent une autorité `SYSADM` de niveau supérieur, qui n’est pas disponible pour l’utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.

Vous pouvez également effectuer des tâches de gestion courantes telles que la surveillance, la maintenance et la collecte d’informations sur vos bases de données.

**Topics**
+ [Création d’une base de données](#db2-creating-database)
+ [Configuration des paramètres d’une base de données](#db2-configuring-database)
+ [Modification des paramètres de base de données](#db2-modifying-db-parameters)
+ [Configuration de la conservation des journaux](#db2-configuring-log-retention)
+ [Liste d’informations sur le journal](#db2-listing-log-information)
+ [Utilisation d'un contrôle d'accès précis (FGAC)](#db2-using-fine-grained-access-control)
+ [Désactivation d’une base de données](#db2-deactivating-database)
+ [Activation d’une base de données](#db2-activating-database)
+ [Réactivation d’une base de données](#db2-reactivating-database)
+ [Suppression d’une base de données.](#db2-dropping-database)
+ [Sauvegarde d'une base de données](#db2-backing-up-database)
+ [Copie des journaux d'archives vers Amazon S3](#db2-copying-archive-logs-to-s3)
+ [Restauration d'une base de données](#db2-restoring-database)
+ [Liste des bases de données](#db2-listing-databases)
+ [Collecte d’informations sur les bases de données](#db2-collecting-info-db)
+ [Forcer les applications à quitter les bases de données](#db2-forcing-application-off-db)
+ [Génération de rapports de performance](#db2-generating-performance-reports)

## Création d’une base de données
<a name="db2-creating-database"></a>

Pour créer une base de données pour votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.create_database`. Pour plus d’informations, consultez [Commande CREATE DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-create-database) dans la documentation IBM Db2.

**Note**  
Si vous envisagez de modifier le paramètre `db2_compatibility_vector`, modifiez-le avant de créer une base de données. Pour plus d’informations, consultez [Définition du paramètre db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).

**Pour créer une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Créez une base de données en appelant `rdsadmin.create_database`. Pour plus d’informations, consultez [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

   ```
   db2 "call rdsadmin.create_database(
       'database_name',
       'database_page_size',
       'database_code_set',
       'database_territory',
       'database_collation',
       'database_autoconfigure_str',
       'database_non-restrictive')"
   ```

1. (Facultatif) Créez des bases de données supplémentaires en appelant `rdsadmin.create_database` pour chaque base de données que vous souhaitez créer. Chaque instance de base de données Db2 peut contenir jusqu’à 50 bases de données. Pour plus d’informations, consultez [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

   ```
   db2 "call rdsadmin.create_database('database_name')"
   ```

1. (Facultatif) Vérifiez que votre base de données a été créée en utilisant l’une des méthodes suivantes : 
   + Appelez `rdsadmin.list_databases`. Pour plus d’informations, consultez [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases). 
   + Exécutez la commande SQL suivante : 

     ```
     db2 "select varchar(r.task_type,25) as task_type, r.database_name, 
         varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name,
         varchar(bson_to_json(task_input_params),256) as input_params, 
         varchar(r.task_output,1024) as task_output 
         from table(rdsadmin.get_task_status(null,null,'create_database')) 
         as r order by created_at desc"
     ```

## Configuration des paramètres d’une base de données
<a name="db2-configuring-database"></a>

Pour créer les paramètres d’une base de données sur votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.set_configuration`. Par exemple, vous pouvez configurer le nombre de mémoires tampons ou de manipulateurs de mémoire tampon à créer lors d’une opération de restauration.

**Pour configurer les paramètres d’une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. (Facultatif) Vérifiez vos paramètres de configuration actuels en appelant `rdsadmin.show_configuration`. Pour plus d’informations, consultez [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration).

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. Configurez les paramètres de la base de données en appelant `rdsadmin.set_configuration`. Pour plus d’informations, consultez [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

## Modification des paramètres de base de données
<a name="db2-modifying-db-parameters"></a>

Amazon RDS for Db2 utilise trois types de paramètres : les paramètres de configuration du gestionnaire de base de données, les variables de registre et les paramètres de configuration de base de données. Vous pouvez mettre à jour les deux premiers types par le biais de groupes de paramètres et le dernier par le biais de la procédure stockée [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

**Note**  
Vous ne pouvez modifier que les valeurs des paramètres existants. Vous ne pouvez pas ajouter de nouveaux paramètres que RDS for Db2 ne prend pas en charge.

Pour plus d’informations sur ces paramètres et sur la façon de modifier leurs valeurs, consultez [Paramètres Amazon RDS for Db2](db2-supported-parameters.md). 

## Configuration de la conservation des journaux
<a name="db2-configuring-log-retention"></a>

Pour configurer la durée pendant laquelle Amazon RDS conserve les fichiers journaux de votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.set_archive_log_retention`.

**Configuration de la conservation des journaux pour une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. (Facultatif) Vérifiez votre configuration actuelle pour la conservation des journaux en appelant `rdsadmin.show_archive_log_retention`. Pour plus d’informations, consultez [rdsadmin.show\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-show-archive-log-retention).

   ```
   db2 "call rdsadmin.show_archive_log_retention(
       ?,
       'database_name')"
   ```

1. Configurez la conservation des journaux pour la base de données en appelant `rdsadmin.set_archive_log_retention`. Pour plus d’informations, consultez [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention).

   ```
   db2 "call rdsadmin.set_archive_log_retention(
       ?,            
       'database_name',  
       'archive_log_retention_hours')"
   ```

## Liste d’informations sur le journal
<a name="db2-listing-log-information"></a>

Pour établir la liste des informations relatives aux fichiers journaux d’archivage, y compris des informations telles que la taille totale de stockage utilisée, appelez la procédure stockée `rdsadmin.list_archive_log_information`.

**Création de la liste des informations sur le journal d’une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Renvoyez une liste d’informations sur le fichier journal en appelant `rdsadmin.list_archive_log_information`. Pour de plus amples informations, veuillez consulter [rdsadmin.list\$1archive\$1log\$1information](db2-sp-managing-databases.md#db2-sp-list-archive-log-information).

   ```
   db2 "call rdsadmin.list_archive_log_information(
       ?,            
       'database_name')"
   ```

## Utilisation d'un contrôle d'accès précis (FGAC)
<a name="db2-using-fine-grained-access-control"></a>

Pour utiliser des commandes de contrôle d'accès détaillées afin de contrôler l'accès aux données de table d'une base de données sur une instance de base de données RDS pour DB2, appelez la procédure stockée. `rdsadmin.fgac_command` Vous pouvez utiliser le FGAC pour limiter l'accès aux données en fonction des rôles des utilisateurs ou des attributs des données. Par exemple, vous pouvez limiter l'accès aux données de santé des patients en fonction du type de données ou à certains prestataires de soins médicaux.

**Pour utiliser un contrôle d'accès précis pour contrôler l'accès aux données des tables dans une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Exécutez diverses commandes de contrôle d'accès détaillées en appelant. `rdsadmin.fgac_command` Pour de plus amples informations, veuillez consulter [rdsadmin.fgac\$1commandParameters](db2-sp-managing-databases.md#db2-sp-fgac-command). 

   ```
   db2 "call rdsadmin.fgac_command(     
       ?,
       'database_name',
       'fgac_command')"
   ```

## Désactivation d’une base de données
<a name="db2-deactivating-database"></a>

Pour désactiver une base de données sur votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.deactivate_database`.

Par défaut, Amazon RDS active une base de données lorsque vous créez une base de données sur votre instance de base de données RDS for Db2. Vous pouvez désactiver les bases de données peu utilisées pour économiser les ressources de mémoire.

**Pour désactiver une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Désactivez une base de données en appelant `rdsadmin.deactivate_database`. Pour plus d’informations, consultez [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database).

   ```
   db2 "call rdsadmin.deactivate_database(    
       ?, 
       'database_name')"
   ```

## Activation d’une base de données
<a name="db2-activating-database"></a>

Pour activer une base de données sur une instance de base de données RDS for Db2 autonome, appelez la procédure stockée `rdsadmin.activate_database`.

Par défaut, Amazon RDS active une base de données lorsque vous créez une base de données sur votre instance de base de données RDS for Db2. Vous pouvez désactiver les bases de données peu utilisées pour économiser les ressources de mémoire, puis activer ultérieurement une base de données désactivée.

**Pour activer une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Activez une base de données en appelant `rdsadmin.activate_database`. Pour plus d’informations, consultez [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database).

   ```
   db2 "call rdsadmin.activate_database(
       ?, 
       'database_name')"
   ```

## Réactivation d’une base de données
<a name="db2-reactivating-database"></a>

Pour réactiver une base de données sur une instance de base de données RDS for Db2 source de réplica, vous devez appeler la procédure stockée `rdsadmin.reactivate_database`. Après avoir modifié les configurations des bases de données, vous devrez peut-être réactiver une base de données sur une instance de base de données RDS for Db2. Pour déterminer si vous devez réactiver une base de données, connectez-vous à la base de données et exécutez `db2 get db cfg show detail`. 

Vous pouvez également appeler cette procédure stockée pour réactiver une base de données sur une instance de base de données RDS for Db2 autonome après avoir modifié les configurations de base de données. Vous pouvez également réactiver une base de données sur une instance de base de données RDS for Db2 autonome en appelant d’abord la procédure stockée `rdsadmin.deactivate_database`, puis la procédure stockée `rdsadmin.activate_database`. Pour plus d’informations, consultez [Désactivation d’une base de données](#db2-deactivating-database) et [Activation d’une base de données](#db2-activating-database).

**Pour réactiver une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Réactivez une base de données en appelant `rdsadmin.reactivate_database`. Pour plus d’informations, consultez [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database).

   ```
   db2 "call rdsadmin.reactivate_database(
       ?, 
       'database_name')"
   ```

## Suppression d’une base de données.
<a name="db2-dropping-database"></a>

Pour supprimer une base de données de votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.drop_database`. Pour plus d’informations, consultez [Suppression de bases de données](https://www.ibm.com/docs/en/db2/11.5?topic=databases-dropping) dans la documentation IBM Db2.

**Note**  
Vous ne pouvez supprimer une base de données en appelant la procédure stockée que si certaines conditions sont réunies. Pour plus d’informations, consultez [Notes d’utilisation](db2-sp-managing-databases.md#db2-sp-drop-database-usage-notes) pour `rdsadmin.drop_database`.

**Suppression d’une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Supprimez une base de données en appelant `rdsadmin.drop_database`. Pour de plus amples informations, veuillez consulter [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database).

   ```
   db2 "call rdsadmin.drop_database('database_name')"
   ```

## Sauvegarde d'une base de données
<a name="db2-backing-up-database"></a>

Pour sauvegarder une base de données de votre instance de base de données RDS pour DB2 sur Amazon S3, appelez la procédure `rdsadmin.backup_database` stockée. Pour plus d'informations, consultez la [commande BACKUP DATABASE](https://www.ibm.com/docs/en/db2/11.5.x?topic=commands-backup-database) dans la IBM Db2 documentation.

**Note**  
Cette procédure stockée utilise l'intégration avec Amazon S3. Assurez-vous d'avoir configuré l'intégration avant de continuer. Pour de plus amples informations, veuillez consulter [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).

**Pour sauvegarder une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Créez un point de terminaison de passerelle VPC pour S3. Si vous disposez déjà d'un point de terminaison de passerelle VPC pour S3, passez à l'étape 4. 

   Pour qu'une instance de base de données RDS for Db2 puisse interagir avec Amazon S3, vous devez disposer d'un VPC et d'un point de terminaison de passerelle Amazon S3 que les sous-réseaux privés peuvent utiliser. Pour de plus amples informations, veuillez consulter [Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3](db2-troubleshooting.md#db2-creating-endpoint).

1. Confirmez le point de terminaison de la passerelle VPC pour S3. Pour de plus amples informations, veuillez consulter [Étape 2 : vérification de l’existence du point de terminaison de votre passerelle VPC pour Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

1. Sauvegardez une base de données en appelant`rdsadmin.backup_database`. Pour de plus amples informations, veuillez consulter [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database).

   ```
   db2 "call rdsadmin.backup_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       'backup_type',
       'compression_option',
       'util_impact_priority', 
       'num_files',
       'parallelism',
       'num_buffers')"
   ```

1. Résiliez votre connexion.

   ```
   terminate
   ```

1. (Facultatif) Vérifiez que les fichiers de sauvegarde ont été chargés dans votre compartiment Amazon S3 sous*s3\$1prefix/dbi\$1resource\$1id/db\$1name*. Si les fichiers n'apparaissent pas sur*s3\$1prefix/dbi\$1resource\$1id/db\$1name*, vérifiez l'état de la sauvegarde de votre base de données pour identifier les éventuels problèmes. Pour de plus amples informations, veuillez consulter [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). Si vous ne parvenez pas à résoudre les problèmes identifiés, contactez le [AWS Support](https://aws.amazon.com/premiumsupport/).

1. (Facultatif) Une fois la sauvegarde sur Amazon S3 terminée, vous pouvez restaurer la sauvegarde sur une instance de base de données RDS pour DB2 ou sur un autre emplacement tel qu'un serveur local. Pour plus d'informations sur la restauration vers une instance de base de données RDS pour DB2, consultez. [Restauration d'une base de données](#db2-restoring-database)

## Copie des journaux d'archives vers Amazon S3
<a name="db2-copying-archive-logs-to-s3"></a>

Les journaux d'archive DB2 peuvent désormais être copiés depuis votre instance de base de données RDS pour DB2 vers Amazon S3. Les journaux d'archivage combinés à la sauvegarde native créée à l'aide `rdsadmin.backup_database` peuvent être utilisés pour restaurer et faire avancer la base de données à un moment précis sur une autre instance RDS pour Db2 ou une base de données EC2.

 Avant de configurer cette fonctionnalité, utilisez la procédure stockée `rdsadmin.backup_database` pour configurer RDS pour la base de données DB2. 

Cette fonctionnalité fonctionne au niveau de l'instance de base de données RDS pour DB2, bien que la copie des journaux d'archives puisse être activée ou désactivée par base de données.

**Pour configurer la copie du journal d'archives vers Amazon S3**

1. Connectez-vous à la `rdsadmin` base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Configurez la sauvegarde du journal des archives sur S3 en appelant[rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',
       'value')"
   ```

    **Exemple :** 

   ```
   db2 "call rdsadmin.set_configuration('ARCHIVE_LOG_COPY_TARGET_S3_ARN', 'arn:aws:s3:::my_rds_db2_backups/archive-log-copy/')"
   ```

1. Activez la copie du journal d'archivage pour une base de données en appelant`rdsadmin.enable_archive_log_copy`. Remplacez *database\$1name* par le nom de votre base de données.

   ```
   db2 "call rdsadmin.enable_archive_log_copy(?, 'database_name')"
   ```

1. De même, pour désactiver la copie du journal des archives d'une base de données, appelez`rdsadmin.disable_archive_log_copy`.

   ```
   db2 "call rdsadmin.disable_archive_log_copy(?, 'database_name')"
   ```

1. Confirmez l'état de copie du journal d'archivage en appelant`rdsadmin.list_databases`.

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

    **Exemple de sortie** : 

   ```
   DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
   --------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
   RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
   FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         7 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
   CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
   ...
   ```

## Restauration d'une base de données
<a name="db2-restoring-database"></a>

Pour déplacer une base de données d’un compartiment Amazon S3 vers votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.restore_database`. Pour plus d’informations, consultez [Commande RESTORE DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) dans la documentation IBM Db2. 

**Pour restaurer une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. (Facultatif) Vérifiez vos paramètres de configuration actuels pour optimiser l’opération de restauration en appelant `rdsadmin.show_configuration`. Pour plus d’informations, consultez [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration).

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. Configurez les paramètres pour optimiser l’opération de restauration en appelant `rdsadmin.set_configuration`. La définition explicite de ces valeurs peut améliorer les performances lors de la restauration de bases de données contenant de gros volumes de données. Pour plus d’informations, consultez [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

1. Restaurez la base de données en appelant `rdsadmin.restore_database`. Pour plus d’informations, consultez [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

   ```
   db2 "call rdsadmin.restore_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       restore_timestamp, 
       'backup_type')"
   ```

1. (Facultatif) Vérifiez que votre base de données a été restaurée en appelant `rdsadmin.list_databases` et en vérifiant que la base de données restaurée est répertoriée. Pour plus d’informations, consultez [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases). 

1. Remettez la base de données en ligne et appliquez des journaux de transactions supplémentaires en appelant `rdsadmin.rollforward_database`. Pour plus d’informations, consultez [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database).

   ```
   db2 "call rdsadmin.rollforward_database(
       ?,
       'database_name',
       's3_bucket_name', 
       s3_prefix, 
       'rollforward_to_option', 
       'complete_rollforward')"
   ```

1. (Facultatif) Vérifiez l’état de la procédure stockée `rdsadmin.rollforward_database` en appelant la procédure stockée [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status).

1. Si vous avez défini `complete_rollforward` sur `FALSE` à l’étape précédente, vous devez terminer de remettre la base de données en ligne en appelant `rdsadmin.complete_rollforward`. Pour plus d’informations, consultez [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward).

   ```
   db2 "call rdsadmin.complete_rollforward(
       ?,
       'database_name')"
   ```

1. (Facultatif) Vérifiez l’état de la procédure stockée `rdsadmin.complete_rollforward` en appelant la procédure stockée [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status).

## Liste des bases de données
<a name="db2-listing-databases"></a>

Vous pouvez établir la liste de toutes vos bases de données exécutées sur Amazon RDS for Db2 en appelant la fonction définie par l’utilisateur `rdsadmin.list_databases`. 

**Création de la liste de vos bases de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Établissez la liste de vos bases de données en appelant `rdsadmin.list_databases`. Pour plus d’informations, consultez [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases).

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

## Collecte d’informations sur les bases de données
<a name="db2-collecting-info-db"></a>

Pour collecter des informations sur une base de données sur une instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.db2pd_command`. Ces informations peuvent vous aider à surveiller vos bases de données ou à résoudre les problèmes.

**Collecte des informations sur une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Collectez des informations sur la base de données en appelant `rdsadmin.db2pd_command`. Pour plus d’informations, consultez [rdsadmin.db2pd\$1command](db2-sp-managing-databases.md#db2-sp-db2pd-command).

   ```
   db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
   ```

## Forcer les applications à quitter les bases de données
<a name="db2-forcing-application-off-db"></a>

Pour forcer les application à quitter une base de données sur votre instance de base de données RDS for Db2, appelez la procédure stockée `rdsadmin.force_application`. Avant de procéder à la maintenance de vos bases de données, forcez les applications à quitter vos bases de données.

**Forcer les applications à quitter une base de données**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Forcez les applications à quitter une base de données en appelant `rdsadmin.force_application`. Pour plus d’informations, consultez [rdsadmin.force\$1application](db2-sp-managing-databases.md#db2-sp-force-application).

   ```
   db2 "call rdsadmin.force_application(     
       ?,
       'applications')"
   ```

## Génération de rapports de performance
<a name="db2-generating-performance-reports"></a>

Vous pouvez générer des rapports de performance à l’aide d’une procédure ou d’un script. Pour plus d’informations sur l’utilisation d’une procédure, consultez [Procédure DBSUMMARY ‐ Générer un rapport récapitulatif des mesures de performance du système et de l’application](https://www.ibm.com/docs/en/db2/11.5?topic=mm-dbsummary-procedure-generate-summary-report-system-application-performance-metrics) dans la documentation IBM Db2. 

Db2 inclut un fichier `db2mon.sh` dans son annuaire `~sqllib/sample/perf`. L’exécution du script produit un rapport détaillé et peu coûteux sur les mesures SQL. Pour télécharger le fichier `db2mon.sh` et les fichiers de script associés, consultez l’annuaire [https://github.com/IBM/db2-samples/tree/master/perf](https://github.com/IBM/db2-samples/tree/master/perf) dans le référentiel IBM db2-samples GitHub.

**Génération des rapports de performance à l’aide du script**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Créez un groupe de mémoires tampons nommé `db2monbp` avec une taille de page de 4096 en appelant `rdsadmin.create_bufferpool`. Pour plus d’informations, consultez [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool).

   ```
   db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
   ```

1. Créez un tablespace temporaire nommé `db2montmptbsp` qui utilise le groupe de mémoires tampons `db2monbp` en appelant `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace).

   ```
   db2 "call rdsadmin.create_tablespace('database_name',\
       'db2montmptbsp','db2monbp',4096,1000,100,'T')"
   ```

1. Ouvrez le script `db2mon.sh` et modifiez la ligne concernant la connexion à une base de données. 

   1. Supprimez la ligne suivante.

      ```
      db2 -v connect to $dbName
      ```

   1. Remplacez la ligne de l’étape précédente par la ligne suivante. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

      ```
      db2 -v connect to $dbName user master_username using master_password
      ```

   1. Supprimez les lignes suivantes.

      ```
      db2 -v create bufferpool db2monbp
      
      db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp
      
      db2 -v drop tablespace db2montmptbsp
      
      db2 -v drop bufferpool db2monbp
      ```

1. Exécutez le script `db2mon.sh` pour générer un rapport à des intervalles spécifiés. Dans l'exemple suivant, remplacez *absolute\$1path* par le chemin complet du fichier de script, *rds\$1database\$1alias* par le nom de votre base de données et *seconds* par le nombre de secondes (0 à 3 600) entre la génération du rapport.

   ```
   absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

   **Exemples**

   L’exemple suivant montre que le fichier de script se trouve dans l’annuaire `perf` situé sous l’annuaire `home`.

   ```
   /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

1. Supprimez le groupe de mémoires tampons et le tablespace créés pour le fichier `db2mon.sh`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2. Remplacez *database\$1name* par le nom de votre base de données. Pour plus d'informations, consultez [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace) et [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool).

   ```
   db2 connect to rdsadmin user master_username using master_password
   
   db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')"
   
   db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"
   ```

## Gestion du stockage
<a name="db2-managing-storage"></a>

Db2 utilise le stockage automatique pour gérer le stockage physique des objets de base de données tels que les tables, les index et les fichiers temporaires. Au lieu d’allouer manuellement de l’espace de stockage et de suivre les chemins de stockage utilisés, le stockage automatique permet au système Db2 de créer et de gérer les chemins de stockage selon les besoins. Cela peut simplifier l’administration des bases de données Db2 et réduire le risque d’erreurs dues à des erreurs humaines. Pour plus d’informations, consultez [Stockage automatique](https://www.ibm.com/docs/en/db2/11.5?topic=overview-automatic-storage) dans la documentation IBM Db2.

Avec RDS for Db2, vous pouvez augmenter dynamiquement la taille de stockage grâce à l’extension automatique des volumes logiques et du système de fichiers. Pour de plus amples informations, veuillez consulter [Utilisation du stockage pour les instances de base de données Amazon RDS](USER_PIOPS.StorageTypes.md).

# Tâches courantes pour les tablespaces
<a name="db2-managing-tablespaces"></a>

Vous pouvez créer, modifier, renommer ou supprimer des tablespaces pour une base de données RDS for Db2. La création, la modification, le changement de nom ou la suppression de tablespaces nécessitent une autorité `SYSADM` de niveau supérieur, qui n’est pas disponible pour l’utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.

**Topics**
+ [Création d’un tablespace](#db2-creating-tablespace)
+ [Modification d’un tablespace](#db2-altering-tablespace)
+ [Changement de nom d’un tablespace](#db2-renaming-tablespace)
+ [Suppression d’un tablespace](#db2-dropping-tablespace)
+ [Vérification du statut d’un tablespace](#db2-checking-tablespaces-procedure)
+ [Renvoi d’informations détaillées sur les tablespaces](#db2-tablespaces-info-db2pd)
+ [Liste de l’état et du groupe de stockage d’un tablespace](#db2-state-storage-group-tablespace-sql)
+ [Liste des tablespaces d’une table](#db2-return-tablespaces-sql)
+ [Liste des conteneurs de tablespaces](#db2-listing-tablespace-containers)

## Création d’un tablespace
<a name="db2-creating-tablespace"></a>

Pour créer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [Instruction CREATE TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-tablespace) dans la documentation IBM Db2.

**Important**  
Pour créer un tablespace vous devez disposer d’un groupe de mémoires tampons de même taille de page à associer au tablespace. Pour plus d’informations, consultez [Tâches courantes pour les pools de mémoires tampons](db2-managing-buffer-pools.md).

**Pour créer un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Créez un tablespace en appelant `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace). 

   ```
   db2 "call rdsadmin.create_tablespace(
       'database_name', 
       'tablespace_name',
       'buffer_pool_name', 
       tablespace_initial_size, 
       tablespace_increase_size, 
       'tablespace_type')"
   ```

## Modification d’un tablespace
<a name="db2-altering-tablespace"></a>

Pour modifier un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.alter_tablespace`. Vous pouvez utiliser cette procédure stockée pour modifier le groupe de mémoires tampons d’un tablespace, abaisser la limite maximale ou mettre un tablespace en ligne. Pour plus d’informations, consultez [Instruction ALTER TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-tablespace) dans la documentation IBM Db2.

**Pour modifier un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifiez un tablespace en appelant `rdsadmin.alter_tablespace`. Pour plus d’informations, consultez [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace). 

   ```
   db2 "call rdsadmin.alter_tablespace(
       'database_name', 
       'tablespace_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       tablespace_increase_size, 
       'max_size', 'reduce_max', 
       'reduce_stop', 
       'reduce_value', 
       'lower_high_water', 
       'lower_high_water_stop', 
       'switch_online')"
   ```

## Changement de nom d’un tablespace
<a name="db2-renaming-tablespace"></a>

Pour changer le nom d’un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.rename_tablespace`. Pour plus d’informations, consultez [Instruction RENAME TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-rename-tablespace) dans la documentation IBM Db2.

**Modification du nom d’un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Renommez un tablespace en appelant `rdsadmin.rename_tablespace`. Pour plus d’informations, y compris les restrictions relatives au nom que vous pouvez donner à un tablespace, consultez [rdsadmin.rename\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace).

   ```
   db2 "call rdsadmin.rename_tablespace(
       'database_name', 
       'source_tablespace_name',
       'target_tablespace_name')"
   ```

## Suppression d’un tablespace
<a name="db2-dropping-tablespace"></a>

Pour supprimer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.drop_tablespace`. Avant de supprimer un espace disque logique, supprimez d'abord tous les objets qu'il contient, tels que des tables, des index ou des objets volumineux (). LOBs Pour plus d’informations, consultez [Suppression de tablespaces](https://www.ibm.com/docs/en/db2/11.5?topic=spaces-dropping-table) dans la documentation IBM Db2.

**Pour supprimer un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Supprimez un tablespace en appelant `rdsadmin.drop_tablespace`. Pour plus d’informations, consultez [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace). 

   ```
   db2 "call rdsadmin.drop_tablespace(
       'database_name', 
       'tablespace_name')"
   ```

## Vérification du statut d’un tablespace
<a name="db2-checking-tablespaces-procedure"></a>

 Vous pouvez vérifier le statut d’un tablespace en utilisant la fonction `cast`.

**Pour vérifier le statut d’un tablespace**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez une sortie récapitulative.

   Pour une sortie récapitulative :

   ```
   db2 "select cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
   ```

## Renvoi d’informations détaillées sur les tablespaces
<a name="db2-tablespaces-info-db2pd"></a>

Vous pouvez renvoyer des informations sur un tablespace pour un membre ou pour tous les membres à l’aide de la fonction `cast`. 

**Pour renvoyer des informations détaillées sur les tablespaces**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez des informations sur tous les tablespaces de la base de données pour un membre ou pour tous les membres.

   Pour un membre :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "
   ```

   Pour tous les membres :

   ```
   db2 "select cast(member as smallint) as member
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
   ```

## Liste de l’état et du groupe de stockage d’un tablespace
<a name="db2-state-storage-group-tablespace-sql"></a>

Vous pouvez répertorier l’état et le groupe de stockage d’un tablespace en exécutant une instruction SQL.

Pour répertorier l’état et le groupe de stockage d’un tablespace, exécutez l’instruction SQL suivante :

```
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name,
                  varchar(TBSP_STATE, 30) state,
                  tbsp_type,
                  varchar(storage_group_name,30) storage_group
FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
```

## Liste des tablespaces d’une table
<a name="db2-return-tablespaces-sql"></a>

Vous pouvez répertorier les tablespaces d’une table en exécutant une instruction SQL.

Pour répertorier les tablespaces d’une table, exécutez l’instruction SQL suivante. Dans l'exemple suivant, remplacez *SCHEMA\$1NAME* et par *TABLE\$1NAME* les noms de votre schéma et de votre table :

```
db2 "SELECT 
   VARCHAR(SD.TBSPACE,30) AS DATA_SPACE,
   VARCHAR(SL.TBSPACE,30) AS LONG_SPACE,
   VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE
 FROM 
   SYSCAT.DATAPARTITIONS P 
   JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID 
   LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID
   LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID
 WHERE
    TABSCHEMA = 'SCHEMA_NAME'
 AND TABNAME   = 'TABLE_NAME'"
```

## Liste des conteneurs de tablespaces
<a name="db2-listing-tablespace-containers"></a>

Vous pouvez répertorier tous les conteneurs de tablespaces ou des conteneurs de tablespaces spécifiques à l’aide de la commande `cast`.

**Création de la liste des conteneurs d’un tablespace**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations :

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez une liste de tous les conteneurs de tablespaces de la base de données ou de conteneurs de tablespaces spécifiques.

   Pour tous les conteneurs de tablespaces :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"
   ```

   Pour des conteneurs de tablespaces spécifiques :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"
   ```

# Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3
<a name="db2-s3-integration"></a>

Vous pouvez transférer les fichiers entre votre instance de base de données Amazon RDS for Db2 et un compartiment Amazon Simple Storage Service (Amazon S3) contenant les procédures stockées Amazon RDS. Pour de plus amples informations, veuillez consulter [Référence des procédures stockées Amazon RDS for Db2](db2-stored-procedures.md).

**Note**  
Votre instance de base de données et votre compartiment Amazon S3 doivent se trouver dans la même Région AWS.

Pour que RDS for Db2 s’intègre à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3 où réside RDS for Db2. Si vous n’avez pas de compartiment S3 à l’heure actuelle, [créez-en un](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket-overview.html).

**Topics**
+ [Étape 1 : créer une politique IAM](#db2-creating-iam-policy)
+ [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role)
+ [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](#db2-adding-iam-role)

## Étape 1 : créer une politique IAM
<a name="db2-creating-iam-policy"></a>

Au cours de cette étape, vous créez une politique Gestion des identités et des accès AWS (IAM) avec les autorisations requises pour transférer des fichiers de votre compartiment Amazon S3 vers votre instance de base de données RDS. Cette étape suppose également que vous avez déjà créé un compartiment S3. Pour plus d’informations, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.

Avant de créer la politique, notez les informations suivantes :
+ ARN (Amazon Resource Name) de votre compartiment
+ L'ARN de votre clé AWS Key Management Service (AWS KMS), si votre bucket utilise SSE-KMS SSE-S3 le chiffrement.

La politique IAM que vous créez doit contenir les informations suivantes. *\$1amzn-s3-demo-bucket\$1*Remplacez-le par le nom de votre compartiment S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowS3BucketAccess",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload",
                "s3:ListBucket",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                "arn:aws:s3:::${amzn-s3-demo-bucket}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Vous pouvez créer une politique IAM en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI). 

### Console
<a name="creating-iam-policy-console"></a>

**Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**, puis choisissez **JSON**.

1. Ajoutez des actions par service. Pour transférer les fichiers d’un compartiment Amazon S3 vers Amazon RDS, vous devez sélectionner les autorisations du compartiment et les autorisations d’objets.

1. Développer les **Ressources**. Vous devez spécifier les ressources de votre compartiment et de votre objet.

1. Choisissez **Suivant**.

1. Pour **Nom de la politique**, attribuez un nom à cette politique. 

1. (Facultatif) Pour **Description**, saisissez une description pour cette stratégie.

1. Choisissez **Create Policy** (Créer une politique).

### AWS CLI
<a name="creating-iam-policy-cli"></a>

**Pour créer une politique IAM afin d’autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1.  Créez un fichier JSON contenant le document de politique JSON suivant. *\$1amzn-s3-demo-bucket\$1*Remplacez-le par le nom de votre compartiment S3.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowS3BucketAccess",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt",
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:AbortMultipartUpload",
                   "s3:ListBucket",
                   "s3:GetObjectVersion",
                   "s3:ListMultipartUploadParts",
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                   "arn:aws:s3:::${amzn-s3-demo-bucket}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListAllMyBuckets"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1name* et *iam\$1policy\$1file\$1name* par le nom de votre politique IAM et le nom du fichier JSON que vous avez créé à l'étape 1. 

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-policy \
       --policy-name iam_policy_name \
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Action": [
               "kms:GenerateDataKey",
               "kms:Decrypt",
               "s3:PutObject",
               "s3:GetObject",
               "s3:AbortMultipartUpload",
               "s3:ListBucket",
               "s3:DeleteObject",
               "s3:GetObjectVersion",
               "s3:ListMultipartUploadParts"
             ],
             "Resource": [
               "arn:aws:s3:::s3_bucket_name/*",
               "arn:aws:s3:::s3_bucket_name"
             ]
           }
         ]
       }'
   ```

   Pour Windows :

   ```
   aws iam create-policy ^
       --policy-name iam_policy_name ^
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
               "Action": [
                 "s3:PutObject",
                 "s3:GetObject",
                 "s3:AbortMultipartUpload",
                 "s3:ListBucket",
                 "s3:DeleteObject",
                 "s3:GetObjectVersion",
                 "s3:ListMultipartUploadParts"
               ],
               "Resource": [
                 "arn:aws:s3:::s3_bucket_name/*",
                 "arn:aws:s3:::s3_bucket_name"
               ]
           }
         ]
       }'
   ```

1. Après avoir créé la politique, notez son ARN. Vous en aurez besoin pour [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role).

Pour plus d’informations sur la création d’une politique IAM, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le Guide de l’utilisateur IAM.

## Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM
<a name="db2-creating-iam-role"></a>

Cette étape suppose que vous avez créé la politique IAM dans [Étape 1 : créer une politique IAM](#db2-creating-iam-policy). Au cours de cette étape, vous créez un rôle IAM pour votre instance de base de données RDS for Db2, puis attachez votre politique IAM au rôle. 

Vous pouvez créer un rôle IAM pour votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

### Console
<a name="creating-iam-role-console"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Pour **Type d’entité de confiance**, choisissez **Service AWS**.

1. Pour **Service ou cas d’utilisation**, sélectionnez **RDS**, puis sélectionnez **RDS ****– ****Ajouter un rôle à la base de données**.

1. Choisissez **Suivant**.

1. Pour **Politiques d’autorisations**, recherchez et sélectionnez le nom de la politique IAM que vous avez créée.

1. Choisissez **Suivant**.

1. Pour **Role name** (Nom du rôle), saisissez un nom de rôle.

1. (Facultatif) Pour **Description**, saisissez une description pour le nouveau rôle.

1. Choisissez **Créer un rôle**.

### AWS CLI
<a name="creating-iam-role-cli"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Créez un fichier JSON contenant le document de politique JSON suivant :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "rds.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html). Dans l'exemple suivant, remplacez *iam\$1role\$1name* et *iam\$1assume\$1role\$1policy\$1file\$1name* par le nom de votre rôle IAM et le nom du fichier JSON que vous avez créé à l'étape 1.

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-role \
       --role-name iam_role_name \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

   Pour Windows :

   ```
   aws iam create-role ^
       --role-name iam_role_name ^
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

1. Une fois le rôle créé, notez son ARN. Vous en aurez besoin pour [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](#db2-adding-iam-role).

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1arn* par l'ARN de la politique IAM que vous avez créée dans[Étape 1 : créer une politique IAM](#db2-creating-iam-policy). *iam\$1role\$1name*Remplacez-le par le nom du rôle IAM que vous venez de créer.

   Pour Linux, macOS ou Unix :

   ```
   aws iam attach-role-policy \
      --policy-arn iam_policy_arn \
      --role-name iam_role_name
   ```

   Pour Windows :

   ```
   aws iam attach-role-policy ^
      --policy-arn iam_policy_arn ^
      --role-name iam_role_name
   ```

Pour plus d’informations, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.

## Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2
<a name="db2-adding-iam-role"></a>

Dans cette étape, vous ajoutez votre rôle IAM à votre instance de base de données RDS for Db2. Notez les critères suivants :
+ Vous devez avoir accès à un rôle IAM auquel est associée la politique d’autorisations Amazon S3 requise. 
+ Vous ne pouvez associer qu’un seul rôle IAM à la fois avec votre instance de base de données RDS for Db2.
+ Votre instance de base de données RDS for Db2 doit être dans l’état **Disponible**.

Vous pouvez ajouter un rôle IAM à votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

### Console
<a name="db2-adding-iam-role-console"></a>

**Ajout d’un rôle IAM à votre instance de base de données RDS for Db2**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez le nom de votre instance de base de données RDS for Db2.

1. Dans l’onglet **Connectivity & security** (Connectivité & sécurité), faites défiler l’écran jusqu’à l’onglet **Manage IAM roles** (Gérer les rôles IAM) au bas de la page.

1. Pour **Ajouter des rôles IAM à cette instance**, choisissez le rôle que vous avez créé dans[Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role).

1. Pour **Fonction**, choisissez **S3\$1INTEGRATION**.

1. Choisissez **Ajouter un rôle**.  
![\[La fonctionnalité S3_INTEGRATION a été ajoutée au rôle IAM pour une instance de base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-s3-integration-role.png)

### AWS CLI
<a name="db2-adding-iam-role-cli"></a>

Pour ajouter un rôle IAM à votre instance de base de données RDS for Db2, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html). Dans l'exemple suivant, remplacez *region**db\$1instance\$1name*, et *iam\$1role\$1arn* par le nom de l' Région AWS endroit où se trouve votre instance de base de données, le nom de votre instance de base de données et l'ARN du rôle IAM que vous avez créé dans[Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-creating-iam-role). 

Pour Linux, macOS ou Unix :

```
aws rds add-role-to-db-instance \
    --region $region \
    --db-instance-identifier $db_instance_name \
    --feature-name S3_INTEGRATION \
    --role-arn $iam_role_arn \
```

Pour Windows :

```
aws rds add-role-to-db-instance ^
    --region $region \
    --db-instance-identifier db_instance_name ^
    --feature-name S3_INTEGRATION ^
    --role-arn iam_role_arn ^
```

Pour confirmer que le rôle a bien été ajouté à votre instance de base de données RDS for Db2, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). Dans l'exemple suivant, remplacez *db\$1instance\$1name* par le nom de votre instance de base de données. 

Pour Linux, macOS ou Unix :

```
aws rds describe-db-instances \
    --filters "Name=db-instance-id,Values=db_instance_name" \
    --query 'DBInstances[].AssociatedRoles'
```

Pour Windows :

```
aws rds describe-db-instances ^
    --filters "Name=db-instance-id,Values=db_instance_name" ^
    --query 'DBInstances[].AssociatedRoles'
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

```
[
    [
        {
            "RoleArn": "arn:aws:iam::0123456789012:role/rds-db2-s3-role",
            "FeatureName": "S3_INTEGRATION",
            "Status": "ACTIVE"
        }
    ]
]
```

# Migration des données vers Amazon RDS for Db2
<a name="db2-migrating-data-to-rds"></a>

Vous pouvez migrer des bases de données Db2 autogérées vers Amazon RDS for Db2 en utilisant des outils Db2 AWS ou natifs.

Pour plus d’informations sur la migration de votre base de données Db2 vers Amazon RDS for Db2 à l’aide des services AWS, consultez [Utilisation des services AWS pour migrer des données de Db2 vers Amazon RDS for Db2](db2-migration-approaches.md).

Pour plus d’informations sur la migration de votre base de données Db2 vers Amazon RDS for Db2 à l’aide des outils Db2 natifs, consultez [Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2](db2-native-db2-tools.md).

# Utilisation des services AWS pour migrer des données de Db2 vers Amazon RDS for Db2
<a name="db2-migration-approaches"></a>

Dans Amazon RDS, il existe plusieurs méthodes pour migrer les données d’une base de données Db2 vers Amazon RDS for Db2. Vous pouvez effectuer une migration unique de votre base de données Db2 depuis des environnements Linux, AIX ou Windows vers Amazon RDS for Db2. Pour minimiser la durée d’indisponibilité, vous pouvez effectuer une migration quasiment sans durée d’indisponibilité. Vous pouvez migrer vos données en les enregistrant sur Amazon S3 et en les chargeant, une table à la fois, dans votre base de données Db2. Vous pouvez également effectuer une migration synchrone par le biais de la réplication ou utiliser AWS Database Migration Service.

Pour les migrations ponctuelles de bases de données Db2 basées sur Linux, Amazon RDS prend uniquement en charge les sauvegardes en ligne et hors ligne. Amazon RDS ne prend pas en charge les sauvegardes incrémentielles et Delta. Pour des migrations quasiment sans durée d’indisponibilité pour les bases de données Db2 basées sur Linux, Amazon RDS nécessite des sauvegardes en ligne. Nous vous recommandons d’utiliser des sauvegardes en ligne pour des migrations quasiment sans durée d’indisponibilité et des sauvegardes hors ligne pour des migrations capables de gérer les durées d’indisponibilité.

**Topics**
+ [Migration depuis Linux vers Linux pour Amazon RDS for Db2](db2-one-time-migration-linux.md)
+ [Migration de Linux vers Linux avec une durée d’indisponibilité quasiment nulle pour Amazon RDS for Db2](db2-near-zero-downtime-migration.md)
+ [Migration synchrone depuis Linux vers Linux pour Amazon RDS for Db2](db2-synchronous-migration-linux.md)
+ [Migration depuis AIX ou Windows vers Linux pour Amazon RDS for Db2](db2-one-time-migration-aix-windows-linux.md)
+ [Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2](db2-migration-load-from-s3.md)
+ [Migration vers Amazon RDS for Db2 avec AWS Database Migration Service (AWS DMS)](db2-migration-amazon-dms.md)

# Migration depuis Linux vers Linux pour Amazon RDS for Db2
<a name="db2-one-time-migration-linux"></a>

Avec cette approche de migration, vous sauvegardez votre base de données Db2 autogérée dans un compartiment Amazon S3. Vous utilisez ensuite les procédures stockées Amazon RDS pour restaurer votre base de données Db2 sur une instance de base de données Amazon RDS for Db2. Pour plus d’informations sur l’utilisation d’Amazon S3, consultez [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).

La sauvegarde et la restauration pour RDS for Db2 suivent les chemins d’accès et les restrictions de mise à niveau pris en charge par IBM Db2. Pour plus d’informations, consultez [Chemins d’accès de mise à niveau pris en charge pour les serveurs Db2](https://www.ibm.com/docs/en/db2/11.5?topic=servers-supported-upgrade-paths-db2) et [Restrictions de mise à niveau pour les serveurs Db2](https://www.ibm.com/docs/en/db2/11.5?topic=servers-upgrade-restrictions) dans la documentation IBM Db2.

**Topics**
+ [Limitations et recommandations relatives à l’utilisation de la restauration native](#db2-linux-migration-limitations)
+ [Sauvegarde de votre base de données sur Amazon S3](#db2-linux-backing-up-database)
+ [Création d’un groupe de stockage automatique par défaut](#db2-linux-creating-auto-storage-group)
+ [Restauration de votre base de données Db2](#db2-linux-restoring-db2-database)

## Limitations et recommandations relatives à l’utilisation de la restauration native
<a name="db2-linux-migration-limitations"></a>

Les limitations et recommandations suivantes s’appliquent à l’utilisation de la restauration native : 
+ Amazon RDS prend uniquement en charge la migration des versions sur site de Db2 qui correspondent aux versions RDS for Db2 prises en charge. Pour plus d’informations sur les versions prises en charge, consultez [Gestion des mises à niveau pour les instances Amazon RDS Db2](Db2.Concepts.VersionMgmt.Supported.md).
+ Amazon RDS prend uniquement en charge les sauvegardes hors ligne et en ligne pour la restauration native. Amazon RDS ne prend pas en charge les sauvegardes incrémentielles ou Delta.
+ Vous ne pouvez pas effectuer de restauration à partir d'un compartiment Amazon S3 situé dans une Région AWS région différente de la région dans laquelle se trouve votre instance de base de données RDS pour DB2. 
+ Amazon S3 limite la taille des fichiers chargés vers un compartiment Amazon S3 à 5 To. Si un fichier de sauvegarde de votre base de données dépasse 5 To, divisez celui-ci en plusieurs fichiers plus petits.
+ Amazon RDS ne prend pas en charge les routines externes non clôturées, les restaurations incrémentielles ou les restaurations Delta.
+ Vous ne pouvez pas restaurer à partir d'une base de données source chiffrée, mais vous pouvez restaurer vers une instance de base de données Amazon RDS chiffrée.

Le processus de restauration varie en fonction de votre configuration.

Si vous le configurez `USE_STREAMING_RESTORE``TRUE`, Amazon RDS diffuse directement votre sauvegarde depuis votre compartiment S3 lors de la restauration. Le streaming réduit considérablement les besoins en stockage. Il vous suffit de prévoir un espace de stockage égal ou supérieur à la taille de la sauvegarde ou à la taille de la base de données d'origine, la valeur la plus élevée étant retenue.

Si vous définissez cette `USE_STREAMING_RESTORE` option`FALSE`, Amazon RDS télécharge d'abord la sauvegarde sur votre instance de base de données RDS pour DB2, puis extrait la sauvegarde. L'extraction nécessite un espace de stockage supplémentaire. Vous devez allouer un espace de stockage égal ou supérieur à la somme de la taille de la sauvegarde et de la taille de la base de données d'origine.

La taille maximale de la base de données restaurée est égale à la taille maximale de base de données prise en charge moins l'espace requis pour le stockage temporaire pendant le processus de restauration.

## Sauvegarde de votre base de données sur Amazon S3
<a name="db2-linux-backing-up-database"></a>

Pour sauvegarder votre base de données sur Amazon S3, vous avez besoin des AWS composants suivants :
+ *Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde* : chargez tous les fichiers de sauvegarde que vous souhaitez migrer vers Amazon RDS. Nous vous recommandons d’utiliser des sauvegardes hors ligne pour les migrations qui peuvent supporter une durée d’indisponibilité. Si vous avez déjà un compartiment S3, vous pouvez l’utiliser. Si vous n’avez pas de compartiment S3, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.
**Note**  
Si votre base de données est volumineuse et que son transfert vers un compartiment S3 prend du temps, vous pouvez commander un AWS Snow Family appareil et demander AWS à effectuer la sauvegarde. Une fois que vous avez copié vos fichiers sur l’appareil et que vous les avez renvoyés à l’équipe Snow Family, celle-ci transfère vos images sauvegardées dans votre compartiment S3. Pour plus d’informations, consultez la [documentation AWS Snow Family](https://docs.aws.amazon.com/snowball/).
+ *Un rôle IAM pour accéder au compartiment S3* : si vous avez déjà un rôle IAM, vous pouvez l’utiliser. Si vous n’avez pas de rôle, consultez [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Une politique IAM avec des relations d’approbation et des autorisations associées à votre rôle IAM* : pour plus d’informations, consultez [Étape 1 : créer une politique IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *Le rôle IAM ajouté à votre instance de base de données RDS for Db2* : pour plus d’informations, consultez [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](db2-s3-integration.md#db2-adding-iam-role).

## Création d’un groupe de stockage automatique par défaut
<a name="db2-linux-creating-auto-storage-group"></a>

Votre base de données source doit disposer d’un groupe de stockage automatique par défaut. Si votre base de données ne dispose pas d’une instance automatique par défaut, vous devez en créer une.

**Pour créer un groupe de stockage automatique par défaut**

1. Connectez-vous à votre base de données source. Dans l'exemple suivant, remplacez *source\$1database* par le nom de votre base de données.

   ```
   db2 connect to source_database 
   ```

1. Créez un groupe de stockage automatique et définissez-le comme groupe par défaut. Dans l'exemple suivant, remplacez *storage\$1path* par le chemin absolu vers l'emplacement du groupe de stockage.

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. Mettez fin aux processus dorsaux.

   ```
   db2 terminate
   ```

1. Désactivez la base de données et arrêtez tous les services de base de données. Dans l'exemple suivant, remplacez *source\$1database* par le nom de la base de données pour laquelle vous avez créé le groupe de stockage.

   ```
   db2 deactivate db source_database
   ```

1. Sauvegardez la base de données. Dans l'exemple suivant, remplacez *source\$1database* par le nom de la base de données pour laquelle vous avez créé le groupe de stockage. Remplacez *file\$1system\$1path* par le chemin absolu vers l'endroit où vous souhaitez sauvegarder la base de données.

   ```
   db2 backup database source_database to file_system_path 
   ```

## Restauration de votre base de données Db2
<a name="db2-linux-restoring-db2-database"></a>

Après avoir sauvegardé votre base de données sur Amazon S3 et créé un groupe de stockage automatique, vous êtes prêt à restaurer votre base de données Db2 vers votre instance de base de données RDS for Db2.

**Pour restaurer votre base de données DB2 depuis votre compartiment Amazon S3 vers votre instance de base de données RDS pour DB2**

1. Connectez-vous à une instance de base de données RDS for Db2. Pour de plus amples informations, veuillez consulter [Connexion à votre instance de base de données Db2](USER_ConnectToDb2DBInstance.md).

1. (Facultatif) Pour vous assurer que votre base de données est configurée avec les paramètres optimaux, vérifiez les valeurs des paramètres suivants en appelant [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration) :
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)À utiliser pour modifier ces valeurs selon les besoins. La configuration correcte de ces paramètres peut améliorer considérablement les performances lors de la restauration de bases de données contenant de gros volumes de données. Pour la plupart des scénarios de migration, nous recommandons le réglage `USE_STREAMING_RESTORE` sur, `TRUE` car cela réduit les besoins en stockage et peut améliorer la vitesse de restauration.

1. Restaurez votre base de données en appelant `rdsadmin.restore_database`. Pour de plus amples informations, veuillez consulter [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database). 

# Migration de Linux vers Linux avec une durée d’indisponibilité quasiment nulle pour Amazon RDS for Db2
<a name="db2-near-zero-downtime-migration"></a>

Cette approche de migration vous permet de migrer une base de données Db2 basée sur Linux d’une base de données Db2 autogérée (source) vers Amazon RDS for Db2. Cette approche entraîne des interruptions ou des durées d’indisponibilité minimes, voire nulles, pour l’application ou les utilisateurs. Cette approche sauvegarde votre base de données et la restaure grâce à la réexécution des journaux, ce qui permet d’éviter toute interruption des opérations en cours et d’assurer une haute disponibilité de votre base de données. 

Pour obtenir une migration quasiment sans durée d’indisponibilité, RDS for Db2 met en œuvre une restauration avec relecture des journaux. Cette approche prend une sauvegarde de votre base de données Db2 autogérée basées sur Linux et la restaure sur le serveur RDS for Db2. Avec les procédures stockées d’Amazon RDS, vous appliquez ensuite des journaux de transactions pour mettre à jour la base de données. 

**Topics**
+ [Limites et recommandations pour une migration quasiment sans durée d’indisponibilité](#db2-near-zero-downtime-migration-limitations)
+ [Sauvegarde de votre base de données sur Amazon S3](#db2-near-zero-downtime-backing-up-database)
+ [Création d’un groupe de stockage automatique par défaut](#db2-near-zero-migration-creating-auto-storage-group)
+ [Migration de votre base de données Db2](#db2-migrating-db2-database)

## Limites et recommandations pour une migration quasiment sans durée d’indisponibilité
<a name="db2-near-zero-downtime-migration-limitations"></a>

Les limitations et recommandations suivantes s’appliquent à l’utilisation d’une migration quasiment sans durée d’indisponibilité :
+ Amazon RDS nécessite une sauvegarde en ligne pour une migrations quasiment sans durée d’indisponibilité. En effet, Amazon RDS maintient votre base de données dans un état d’attente par progression pendant que vous téléchargez vos journaux de transactions archivés. Pour de plus amples informations, veuillez consulter [Migration de votre base de données Db2](#db2-migrating-db2-database). 
+ Vous ne pouvez pas effectuer de restauration à partir d'un compartiment Amazon S3 situé dans une Région AWS région différente de la région dans laquelle se trouve votre instance de base de données RDS pour DB2. 
+ Amazon S3 limite la taille des fichiers chargés dans un compartiment S3 à 5 To. Si un fichier de sauvegarde de votre base de données dépasse 5 To, divisez celui-ci en plusieurs fichiers plus petits.
+ Amazon RDS ne prend pas en charge les routines externes non clôturées, les restaurations incrémentielles ou les restaurations Delta.
+ Vous ne pouvez pas restaurer à partir d'une base de données source chiffrée, mais vous pouvez restaurer vers une instance de base de données Amazon RDS chiffrée.

Le processus de restauration varie en fonction de votre configuration.

Si vous le configurez `USE_STREAMING_RESTORE``TRUE`, Amazon RDS diffuse directement votre sauvegarde depuis votre compartiment S3 pendant la restauration. Le streaming réduit considérablement les besoins en stockage. Il vous suffit de prévoir un espace de stockage égal ou supérieur à la taille de la sauvegarde ou à la taille de la base de données d'origine, la valeur la plus élevée étant retenue.

Si vous définissez cette `USE_STREAMING_RESTORE` option`FALSE`, Amazon RDS télécharge d'abord la sauvegarde sur votre instance de base de données RDS pour DB2, puis extrait la sauvegarde. L'extraction nécessite un espace de stockage supplémentaire. Vous devez allouer un espace de stockage égal ou supérieur à la somme de la taille de la sauvegarde et de la taille de la base de données d'origine.

La taille maximale de la base de données restaurée est égale à la taille maximale de base de données prise en charge moins l'espace requis pour le stockage temporaire pendant le processus de restauration. 

## Sauvegarde de votre base de données sur Amazon S3
<a name="db2-near-zero-downtime-backing-up-database"></a>

Pour sauvegarder votre base de données sur Amazon S3, vous avez besoin des AWS composants suivants :
+ *Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde* : chargez tous les fichiers de sauvegarde que vous souhaitez migrer vers Amazon RDS. Amazon RDS nécessite une sauvegarde en ligne pour une migrations quasiment sans durée d’indisponibilité. Si vous avez déjà un compartiment S3, vous pouvez l’utiliser. Si vous n’avez pas de compartiment S3, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.
**Note**  
Si votre base de données est volumineuse et que son transfert vers un compartiment S3 prend du temps, vous pouvez commander un AWS Snow Family appareil et demander AWS à effectuer la sauvegarde. Une fois que vous avez copié vos fichiers sur l’appareil et que vous les avez renvoyés à l’équipe Snow Family, celle-ci transfère vos images sauvegardées dans votre compartiment S3. Pour plus d’informations, consultez la [documentation AWS Snow Family](https://docs.aws.amazon.com/snowball/).
+ *Un rôle IAM pour accéder au compartiment S3* : si vous avez déjà un rôle Gestion des identités et des accès AWS (IAM), vous pouvez utiliser ce rôle. Si vous n’avez pas de rôle, consultez [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Une politique IAM avec des relations d’approbation et des autorisations associées à votre rôle IAM* : pour plus d’informations, consultez [Étape 1 : créer une politique IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *Le rôle IAM ajouté à votre instance de base de données RDS for Db2* : pour plus d’informations, consultez [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](db2-s3-integration.md#db2-adding-iam-role).

## Création d’un groupe de stockage automatique par défaut
<a name="db2-near-zero-migration-creating-auto-storage-group"></a>

Votre base de données source doit disposer d’un groupe de stockage automatique par défaut. Si votre base de données ne dispose pas d’une instance automatique par défaut, vous devez en créer une.

**Pour créer un groupe de stockage automatique par défaut**

1. Connectez-vous à votre base de données source. Dans l'exemple suivant, remplacez *source\$1database* par le nom de votre base de données.

   ```
   db2 connect to source_database 
   ```

1. Créez un groupe de stockage automatique et définissez-le comme groupe par défaut. Dans l'exemple suivant, remplacez *storage\$1path* par le chemin absolu vers l'emplacement du groupe de stockage.

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. Mettez fin aux processus dorsaux.

   ```
   db2 terminate
   ```

## Migration de votre base de données Db2
<a name="db2-migrating-db2-database"></a>

Après avoir configuré la migration pour un temps d'arrêt quasi nul, vous êtes prêt à migrer votre base de données DB2 de votre compartiment Amazon S3 vers votre instance de base de données RDS pour Db2.

**Pour effectuer une migration quasi nulle des fichiers de sauvegarde de votre compartiment Amazon S3 vers votre instance de base de données RDS pour DB2**

1. Effectuez une sauvegarde en ligne de votre base de données source. Pour plus d’informations, consultez [Commande BACKUP DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-backup-database) dans la documentation IBM Db2.

1. Copiez la sauvegarde de votre base de données dans un compartiment Amazon S3. Pour plus d’informations sur l’utilisation d’Amazon S3, consultez le [Guide de l’utilisateur Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html).

1. Connectez-vous au `rdsadmin` serveur avec *master\$1username* et *master\$1password* pour votre instance de base de données RDS pour DB2.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. (Facultatif) Pour vous assurer que votre base de données est configurée avec les paramètres optimaux, vérifiez les valeurs des paramètres suivants en appelant [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration) :
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)À utiliser pour modifier ces valeurs selon les besoins. La configuration correcte de ces paramètres peut améliorer considérablement les performances lors de la restauration de bases de données contenant de gros volumes de données. Pour la plupart des scénarios de migration, nous recommandons le réglage `USE_STREAMING_RESTORE` sur, `TRUE` car cela réduit les besoins en stockage et peut améliorer la vitesse de restauration.

1. Restaurez la sauvegarde sur le serveur RDS for Db2 en appelant `rdsadmin.restore_database`. Définissez `backup_type` sur `ONLINE`. Pour de plus amples informations, veuillez consulter [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

1. Copiez les journaux d’archivage depuis votre serveur source dans votre compartiment S3. Pour plus d’informations, consultez [Journaux d’archivage](https://www.ibm.com/docs/en/db2/11.5?topic=logging-archive) dans la documentation IBM Db2.

1. Appliquez les journaux d’archivage autant de fois que nécessaire en appelant`rdsadmin.rollforward_database`. Définissez `complete_rollforward` sur `FALSE` sur pour maintenir la base de données dans un état `ROLL-FORWARD PENDING`. Pour de plus amples informations, veuillez consulter [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database).

1. Après avoir appliqué tous les journaux d’archivage, mettez la base de données en ligne en appelant `rdsadmin.complete_rollforward`. Pour de plus amples informations, veuillez consulter [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward).

1. Transférez les connexions d’application vers le serveur RDS for Db2 en mettant à jour les points de terminaison de votre application pour la base de données ou en mettant à jour les points de terminaison DNS pour rediriger le trafic vers le serveur RDS for Db2. Vous pouvez également utiliser la fonction de réacheminement automatique du client Db2 sur votre base de données Db2 autogérée avec le point de terminaison de la base de données RDS for Db2. Pour plus d’informations, consultez [Description et configuration du réacheminement automatique du client](https://www.ibm.com/docs/en/db2/11.5?topic=reroute-configuring-automatic-client) dans la documentation IBM Db2.

1. (Facultatif) Arrêtez votre base de données source.

# Migration synchrone depuis Linux vers Linux pour Amazon RDS for Db2
<a name="db2-synchronous-migration-linux"></a>

Avec cette approche de migration, vous configurez la réplication entre votre base de données Db2 autogérée et votre instance de base de données Amazon RDS for Db2. Les modifications apportées à la base de données autogérée sont répliquées sur l’instance de base de données RDS for Db2 en temps quasi réel. Cette approche permet d’assurer une disponibilité continue et de minimiser la durée d’indisponibilité pendant le processus de migration.

# Migration depuis AIX ou Windows vers Linux pour Amazon RDS for Db2
<a name="db2-one-time-migration-aix-windows-linux"></a>

Avec cette approche de migration, vous utilisez des outils Db2 natifs pour sauvegarder votre base de données Db2 autogérée dans un compartiment Amazon S3. Les outils Db2 natifs incluent l’utilitaire `export`, la commande système `db2move` ou la commande système `db2look`. Votre base de données Db2 peut être autogérée ou dans Amazon Elastic Compute Cloud (Amazon EC2). Vous pouvez déplacer des données depuis votre système AIX ou Windows vers votre compartiment Amazon S3. Utilisez ensuite un client Db2 pour charger les données directement depuis le compartiment S3 vers votre base de données Amazon RDS for Db2. La durée d’indisponibilité dépend de la taille de votre base de données. Pour plus d’informations sur l’utilisation d’Amazon S3, consultez [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).

**Migration de votre base de données Db2 vers RDS for Db2**

1. Préparez-vous à sauvegarder votre base de données. Configurez une quantité de stockage suffisante pour conserver la sauvegarde sur votre système Db2 autogéré.

1. Sauvegardez votre base de données.

   1. Exécutez la [commande système db2look](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2look-db2-statistics-ddl-extraction-tool) pour extraire le fichier en langage de définition de données (DDL) pour tous les objets.

   1. Exécutez [l’utilitaire d’exportation Db2](https://www.ibm.com/docs/en/db2/11.5?topic=utility-exporting-data), la [commande système db2move](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2move-database-movement-tool) ou une [instruction CREATE EXTERNAL TABLE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-table-external) pour décharger les données de la table Db2 vers le stockage de votre système Db2.

1. Déplacez votre sauvegarder vers un compartiment Amazon S3. Pour plus d’informations, consultez [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md). 
**Note**  
Si votre base de données est volumineuse et que son transfert vers un compartiment S3 prend du temps, vous pouvez commander un appareil AWS Snow Family et demander à AWS d’effectuer la sauvegarde. Une fois que vous avez copié vos fichiers sur l’appareil et que vous les avez renvoyés à l’équipe Snow Family, celle-ci transfère vos images sauvegardées dans votre compartiment S3. Pour plus d’informations, consultez la [documentation AWS Snow Family](https://docs.aws.amazon.com/snowball/).

1. Utilisez un client Db2 pour charger des données directement depuis votre compartiment S3 vers votre base de données RDS for Db2. Pour plus d’informations, consultez [Migration avec Amazon S3](db2-migration-load-from-s3.md).

# Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2
<a name="db2-migration-load-from-s3"></a>

Avec cette approche de migration, vous enregistrez d’abord les données d’une table unique dans un fichier de données que vous placez dans un compartiment Amazon S3. Vous utilisez ensuite la [commande LOAD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load) pour charger les données de ce fichier de données dans une table de votre base de données Amazon RDS for Db2. Pour plus d’informations sur l’utilisation d’Amazon S3, consultez [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).

**Topics**
+ [Enregistrement de vos données dans Amazon S3](#db2-migration-load-from-s3-saving-data-file)
+ [Chargement de vos données dans les tables RDS for Db2](#db2-migration-load-from-s3-into-db-table)

## Enregistrement de vos données dans Amazon S3
<a name="db2-migration-load-from-s3-saving-data-file"></a>

Pour enregistrer les données d’une seule table sur Amazon S3, utilisez un utilitaire de base de données pour extraire les données de votre système de gestion de base de données (DBMS) dans un fichier CSV. Chargez ensuite le fichier de données sur Amazon S3.

Pour stocker des fichiers de données sur Amazon S3, vous avez besoin des AWS composants suivants :
+ *Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde* : si vous avez déjà un compartiment S3, vous pouvez l’utiliser. Si vous n’avez pas de compartiment S3, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.
+ *Un rôle IAM pour accéder au compartiment S3* : si vous avez déjà un rôle IAM, vous pouvez l’utiliser. Si vous n’avez pas de rôle, consultez [Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Une politique IAM avec des relations d’approbation et des autorisations associées à votre rôle IAM* : pour plus d’informations, consultez [Étape 1 : créer une politique IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *Le rôle IAM ajouté à votre instance de base de données RDS for Db2* : pour plus d’informations, consultez [Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2](db2-s3-integration.md#db2-adding-iam-role).

## Chargement de vos données dans les tables RDS for Db2
<a name="db2-migration-load-from-s3-into-db-table"></a>

Après avoir enregistré vos fichiers de données sur Amazon S3, vous pouvez charger les données de ces fichiers dans des tables individuelles de votre instance de base de données RDS for Db2.

**Chargement des données de votre table Db2 dans votre table de base de données RDS for Db2**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Cataloguez un alias d’accès au stockage qui pointe vers le compartiment Amazon S3 où vos fichiers enregistrés sont stockés. Notez le nom de cet alias pour l’utiliser à l’étape suivante. Vous ne devez effectuer cette étape qu’une seule fois si vous prévoyez de charger plusieurs tables à partir de fichiers de données stockés dans le même compartiment Amazon S3.

   L'exemple suivant répertorie un alias nommé *my\$1s3\$1alias* qui accorde à un utilisateur nommé l'*jorge\$1souza*accès à un bucket nommé*amzn-s3-demo-bucket*.

   ```
   db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-bucket', 'USER', 'jorge_souza')"
   ```

   Pour plus d’informations sur cette procédure stockée, consultez [rdsadmin.catalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-catalog-storage-access).

1. Exécutez la commande `LOAD` à l’aide de l’alias d’accès au stockage qui pointe vers votre compartiment Amazon S3. 
**Note**  
Si la commande `LOAD` renvoie une erreur, vous devrez peut-être créer un point de terminaison de passerelle VPC pour Amazon S3 et ajouter des règles de sortie au groupe de sécurité. Pour de plus amples informations, veuillez consulter [I/O Erreur de fichier](db2-troubleshooting.md#db2-file-input-output-error).

   L'exemple suivant charge les données d'un fichier de données nommé *my\$1s3\$1datafile.csv* dans une table nommée*my\$1db2\$1table*. L'exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel *my\$1s3\$1alias* pointe l'alias nommé.

   ```
   db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";
   ```

   L'exemple suivant charge LOBs à partir d'un fichier de données nommé *my\$1table1\$1export.ixf* dans une table nommée*my\$1db2\$1table*. L'exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel *my\$1s3\$1alias* pointe l'alias nommé.

   ```
   db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf
           lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//"
           modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride
           messages on server
           replace into "my_schema"."my_db2_table"
                                  nonrecoverable
           indexing mode incremental allow no access')"
   ```

   Répétez cette étape pour chaque fichier de données du compartiment Amazon S3 que vous souhaitez charger dans une table de votre instance de base de données RDS for Db2.

   Pour plus d’informations sur la commande `LOAD`, consultez [Commande LOAD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load).

# Migration vers Amazon RDS for Db2 avec AWS Database Migration Service (AWS DMS)
<a name="db2-migration-amazon-dms"></a>

Vous pouvez utiliser AWS DMS pour des migrations ponctuelles, puis effectuer une synchronisation entre Db2 sous Linux, Unix (comme AIX) et Windows vers Amazon RDS for Db2. Pour plus d’informations, consultez [Présentation de AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html).

# Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2
<a name="db2-native-db2-tools"></a>

Vous pouvez utiliser plusieurs outils Db2 natifs, utilitaires et commandes pour déplacer des données directement d’une base de données Db2 vers une base de données Amazon RDS for Db2. Pour utiliser ces outils Db2 natifs, vous devez être en mesure de connecter votre machine cliente à une instance de base de données RDS for Db2. Pour plus d’informations, consultez [Connexion d’une machine cliente à une instance de base de données Amazon RDS for Db2](db2-connecting-client-rds.md).

**Note**  
Pour déplacer vos données, vous pouvez également les enregistrer dans un compartiment Amazon S3, puis utiliser la commande `LOAD` pour transférer ces données dans une table de votre base de données RDS for Db2. Cette méthode fournit les meilleures performances lors de la migration d’une grande quantité de données grâce à une bonne connectivité réseau entre RDS for Db2 et S3. Pour plus d’informations, consultez [Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2](db2-migration-load-from-s3.md).


| Nom de l'outil | Cas d’utilisation | Limitations | 
| --- | --- | --- | 
|  [db2look](db2-native-db2-tools-db2look.md)  |  Copie des métadonnées d’une base de données Db2 autogérée vers une base de données RDS for Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  Commande [IMPORT de la ](db2-native-db2-tools-import.md)  |  Migration de petites tables et de tables contenant de gros objets (LOB) d’une machine cliente vers l’instance de base de données RDS for Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  [Utilitaire INGEST](db2-native-db2-tools-ingest.md)   |  Diffusion continue de données à partir de fichiers et de canaux *sans* objets volumineux (LOB) sur la machine cliente vers l’instance de base de données RDS for Db2. Prend en charge les opérations `INSERT` et `MERGE`.   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  Commande [INSERT de la ](db2-native-db2-tools-insert.md)  |  Copie des données dans de petites tables depuis une base de données Db2 autogérée vers une base de données RDS for Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  Commande [LOAD CLIENT de la ](db2-native-db2-tools-load.md)  |  Migration de petites tables *sans *objets volumineux (LOB) d’une machine cliente vers l’instance de base de données RDS for Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 

# Connexion d’une machine cliente à une instance de base de données Amazon RDS for Db2
<a name="db2-connecting-client-rds"></a>

Pour utiliser l’un des outils Db2 natifs afin de déplacer des données d’une base de données Db2 vers une base de données Amazon RDS for Db2, vous devez d’abord connecter votre machine cliente à une instance de base de données RDS for Db2.

La machine cliente peut être l’une des suivantes :
+ Une instance Amazon Elastic Compute Cloud (Amazon EC2) sur Linux, Windows ou macOS. Cette instance doit se trouver dans le même cloud privé virtuel (VPC) que votre instance de base de données RDS pour DB2, ou. AWS Cloud9 AWS CloudShell
+ Une instance Db2 autogérée dans une instance Amazon EC2. Les instances doivent se trouver dans le même VPC.
+ Une instance Db2 autogérée dans une instance Amazon EC2. Les instances peuvent être différentes VPCs si vous avez activé le peering VPC. Pour plus d’informations, consultez [Créer une connexion d’appairage de VPC](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) dans le *Guide d’appairage de cloud privé virtuel (VPC) Amazon*.
+ Une machine locale exécutant Linux, Windows ou macOS dans un environnement autogéré. Vous devez disposer d’une connectivité publique à RDS for Db2 ou activer la connectivité VPN entre les instances Db2 autogérées et AWS.

Pour connecter votre machine cliente à votre instance de base de données RDS for Db2, connectez-vous à votre machine cliente avec IBM Db2 Data Management Console. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md) et [IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md). 

Vous pouvez utiliser AWS Database Migration Service (AWS DMS) pour exécuter des requêtes sur la base de données, exécuter un plan d'exécution SQL et surveiller la base de données. Pour plus d'informations, consultez [Qu'est-ce que AWS Database Migration Service ?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) dans le *guide de AWS Database Migration Service l'utilisateur*.

Une fois que vous avez connecté avec succès votre machine cliente à votre instance de base de données RDS for Db2, vous êtes prêt à utiliser n’importe quel outil Db2 natif pour copier des données. Pour plus d’informations, consultez [Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2](db2-native-db2-tools.md).

# Copie des métadonnées d’une base de données de Db2 vers Amazon RDS for Db2 avec db2look
<a name="db2-native-db2-tools-db2look"></a>

`db2look` est un outil Db2 natif qui extrait les fichiers en langage de définition de données (DDL), les objets, les autorisations, les configurations, le WLM et les mises en page de base de données. Vous pouvez utiliser `db2look` pour copier les métadonnées d’une base de données Db2 autogérée vers une base de données Amazon RDS for Db2. Pour plus d’informations, consultez [Imitation de bases de données à l’aide de db2look](https://www.ibm.com/docs/en/db2/11.5?topic=tools-db2look) dans la documentation IBM Db2.

**Copie des métadonnées d’une base de données**

1. Exécutez l’outil `db2look` sur votre système Db2 autogéré pour extraire le fichier DDL. Dans l’exemple suivant, remplacez *database\$1name* par le nom de votre base de données Db2.

   ```
   db2look -d database_name -e -l -a -f -wlm -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Si votre machine cliente a accès à la base de données source (Db2 autogérée) et à l’instance de base de données RDS for Db2, vous pouvez créer le fichier `db2look.sql` sur la machine cliente en le rattachant directement à l’instance distante. Cataloguez ensuite l’instance Db2 autogérée distante.

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de la base de données Db2 autogérée.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *source\$1database\$1name* et *source\$1database\$1alias* par le nom de la base de données Db2 autogérée et par l’alias que vous souhaitez utiliser pour cette base de données.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \ 
          authentication server_encrypt
      ```

   1. Attachez une opération à la base de données source. Dans l’exemple suivant, remplacez *source\$1database\$1alias*, *user\$1id* et *user\$1password* par l’alias que vous avez créé à l’étape précédente, ainsi que par l’ID utilisateur et le mot de passe de la base de données Db2 autogérée.

      ```
      db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
          -cor -createdb -printdbcfg -o db2look.sql
      ```

1. Si vous ne pouvez pas accéder à la base de données Db2 autogérée distante depuis la machine cliente, copiez le fichier `db2look.sql` sur la machine cliente. Cataloguez ensuite l’instance de base de données RDS for Db2. 

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de l’instance de base de données RDS for Db2.

      ```
      db2 catalog tcpip node remnode REMOTE dns_ip_address server port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *rds\$1database\$1name* et *rds\$1database\$1alias* par le nom de la base de données RDS for Db2 et par l’alias que vous souhaitez utiliser pour cette base de données.

      ```
      db2 catalog database rds_database_name as rds_database_alias at node remnode \ 
          authentication server_encrypt
      ```

   1. Cataloguez la base de données d’administration qui gère RDS for Db2. Vous ne pouvez pas utiliser cette base de données pour stocker des données.

      ```
      db2 catalog database rdsadmin as rdsadmin at node remnode authentication server_encrypt
      ```

1. Créez des pools de mémoires tampons et des tablespaces. L’administrateur n’a pas les privilèges nécessaires pour créer des pools de mémoires tampons ou des tablespaces. Toutefois, vous pouvez utiliser les procédures stockées Amazon RDS pour les créer.

   1. Recherchez les noms et les définitions des pools de mémoires tampons et des tablespaces dans le fichier `db2look.sql`.

   1. Connectez-vous à Amazon RDS à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

      ```
      db2 connect to rdsadmin user master_username using master_password
      ```

   1. Créez un pool de mémoires tampons en appelant `rdsadmin.create_bufferpool`. Pour plus d’informations, consultez [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool).

      ```
      db2 "call rdsadmin.create_bufferpool(
          'database_name', 
          'buffer_pool_name', 
          buffer_pool_size, 
          'immediate', 
          'automatic', 
          page_size, 
          number_block_pages, 
          block_size)"
      ```

   1. Créez un tablespace en appelant `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace).

      ```
      db2 "call rdsadmin.create_tablespace(
          'database_name', 
          'tablespace_name',
          'buffer_pool_name', 
          tablespace_initial_size, 
          tablespace_increase_size, 
          'tablespace_type')"
      ```

   1. Répétez les étapes c ou d pour chaque pool de mémoires tampons supplémentaire ou de chaque tablespace supplémentaire que vous souhaitez ajouter.

   1. Résiliez votre connexion.

      ```
      db2 terminate
      ```

1. Créez des tables et des objets.

   1. Connectez-vous à votre base de données RDS for Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez *rds\$1database\$1name*, *master\$1username* et *master\$1password* par vos propres informations.

      ```
      db2 connect to rds_database_name user master_username using master_password
      ```

   1. Exécutez le fichier `db2look.sql`.

      ```
      db2 -tvf db2look.sql
      ```

   1. Résiliez votre connexion.

      ```
      db2 terminate
      ```

# Importation de données depuis une machine cliente vers Amazon RDS for Db2 à l’aide de la commande IMPORT
<a name="db2-native-db2-tools-import"></a>

Vous pouvez utiliser la commande `IMPORT` depuis une machine cliente pour importer vos données dans le serveur Amazon RDS for Db2. 

**Important**  
La méthode de la commande `IMPORT` est utile pour migrer de petites tables et des tables contenant de grands objets (LOB). La commande `IMPORT` est plus lente que l’utilitaire `LOAD` en raison des opérations journalisation `INSERT` et `DELETE`. Si votre bande passante du réseau entre la machine cliente et RDS for Db2 est limitée, nous vous recommandons d’utiliser une autre approche de migration. Pour plus d’informations, consultez [Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2](db2-native-db2-tools.md).

**Importation des données dans le serveur RDS for Db2**

1. Connectez-vous à votre machine cliente avec IBM Db2 Data Management Console. Pour plus d’informations, consultez [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md).

1. Cataloguez la base de données RDS for Db2 sur la machine cliente.

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de la base de données Db2 autogérée.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *source\$1database\$1name* et *source\$1database\$1alias* par le nom de la base de données Db2 autogérée et par l’alias que vous souhaitez utiliser pour cette base de données.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Attachez une opération à la base de données source. Dans l’exemple suivant, remplacez *source\$1database\$1alias*, *user\$1id* et *user\$1password* par l’alias que vous avez créé à l’étape précédente, ainsi que par l’ID utilisateur et le mot de passe de la base de données Db2 autogérée.

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Générez le fichier de données à l’aide de la commande ` EXPORT` sur votre système Db2 autogéré. Dans l’exemple suivant, remplacez *directory* par le répertoire de votre machine cliente où se trouve votre fichier de données. Remplacez *file\$1name* et *table\$1name* par le nom du fichier de données et le nom de la table. 

   ```
   db2 "export to /directory/file_name.txt of del lobs to /directory/lobs/ \
       modified by coldel\| select * from table_name"
   ```

1. Connectez-vous à votre base de données RDS for Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez **rds\$1database\$1alias**, *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Utilisez la commande `IMPORT` pour importer les données d’un fichier de la machine cliente dans la base de données distante RDS for Db2. Pour plus d’informations, consultez [Commande IMPORT](https://www.ibm.com/docs/en/db2/11.5?topic=commands-import) dans la documentation IBM Db2. Dans l’exemple suivant, remplacez *directory* et *file\$1name* par le répertoire de votre machine cliente où se trouve votre fichier de données et le nom du fichier de données. Remplacez *SCHEMA\$1NAME* et *TABLE\$1NAME* par les noms de votre schéma et de votre table. 

   ```
   db2 "IMPORT from /directory/file_name.tbl OF DEL LOBS FROM /directory/lobs/ \
       modified by coldel\| replace into SCHEMA_NAME.TABLE_NAME"
   ```

1. Résiliez votre connexion.

   ```
   db2 terminate
   ```

# Importation de données depuis une machine cliente vers Amazon RDS for Db2 à l’aide de la commande LOAD
<a name="db2-native-db2-tools-load"></a>

Vous pouvez utiliser la commande `LOAD CLIENT` pour charger des données depuis un fichier sur une machine cliente vers le serveur RDS for Db2. Comme aucune connectivité SSH n’existe avec le serveur RDS for Db2, vous pouvez utiliser la commande `LOAD CLIENT` sur votre serveur Db2 autogéré ou sur votre machine cliente Db2.

**Important**  
La méthode de la commande `LOAD CLIENT` est utile pour migrer de petites tables. Si votre bande passante du réseau entre le client et RDS for Db2 est limitée, nous vous recommandons d’utiliser une autre approche de migration. Pour plus d’informations, consultez le [Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2](db2-native-db2-tools.md).  
Si votre fichier de données inclut des références à des noms de fichiers d’objets volumineux, la commande `LOAD` ne fonctionnera pas, car les objets volumineux (LOB) doivent résider sur le serveur Db2. Si vous essayez de charger des LOB depuis la machine cliente vers le serveur RDS for Db2, vous recevrez une erreur SQL3025N. Utilisez plutôt la [commande IMPORT](db2-native-db2-tools-import.md).

**Chargement des données sur le serveur RDS for Db2**

1. Connectez-vous à votre machine cliente avec IBM Db2 Data Management Console. Pour plus d’informations, consultez [Connexion à votre instance de base de données Amazon RDS for Db2 avec IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md).

1. Cataloguez la base de données RDS for Db2 sur la machine cliente.

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de la base de données Db2 autogérée.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *source\$1database\$1name* et *source\$1database\$1alias* par le nom de la base de données Db2 autogérée et par l’alias que vous souhaitez utiliser pour cette base de données.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Attachez une opération à la base de données source. Dans l’exemple suivant, remplacez *source\$1database\$1alias*, *user\$1id* et *user\$1password* par l’alias que vous avez créé à l’étape précédente, ainsi que par l’ID utilisateur et le mot de passe de la base de données Db2 autogérée. 

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Générez le fichier de données à l’aide de la commande `EXPORT` sur votre système Db2 autogéré. Dans l’exemple suivant, remplacez *directory* par le répertoire de votre machine cliente où se trouve votre fichier de données. Remplacez *file\$1name* et *TABLE\$1NAME* par le nom du fichier de données et le nom de la table. 

   ```
   db2 "export to /directory/file_name.txt of del modified by coldel\| \
       select * from TPCH.TABLE_NAME"
   ```

1. Connectez-vous à votre base de données RDS for Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez **rds\$1database\$1alias**, *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Utilisez la commande `LOAD` pour charger les données d’un fichier de la machine cliente sur la base de données distante RDS for Db2. Pour plus d’informations, consultez [Commande LOAD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load) dans la documentation IBM Db2. Dans l’exemple suivant, remplacez *directory* par le répertoire de votre machine cliente où se trouve votre fichier de données. Remplacez *file\$1name* et *TABLE\$1NAME* par le nom du fichier de données et le nom de la table. 

   ```
   db2 "LOAD CLIENT from /directory/file_name.txt \
       modified by coldel\| replace into TPCH.TABLE_NAME \
       nonrecoverable without prompting"
   ```

1. Résiliez votre connexion.

   ```
   db2 terminate
   ```

# Importation de données de Db2 vers Amazon RDS for Db2 à l’aide de la commande INSERT
<a name="db2-native-db2-tools-insert"></a>

Vous pouvez utiliser la commande `INSERT` depuis un serveur Db2 autogéré pour insérer vos données dans une base de données Amazon RDS for Db2. Avec cette approche de migration, vous utilisez un surnom pour l’instance de base de données RDS for Db2 distante. Votre base de données Db2 autogérée (source) doit être en mesure de se connecter à la base de données RDS for Db2 (cible).

**Important**  
La méthode de la commande `INSERT` est utile pour migrer de petites tables. Si votre bande passante du réseau entre votre base de données Db2 autogérée et la base de données RDS for Db2 est limitée, nous vous recommandons d’utiliser une autre approche de migration. Pour plus d’informations, consultez [Utilisation des outils Db2 natifs pour migrer des données de Db2 vers Amazon RDS for Db2](db2-native-db2-tools.md).

**Pour copier les données d’une base de données Db2 autogérée vers une base de données RDS for Db2**

1. Cataloguez l’instance de base de données RDS for Db2 sur l’instance Db2 autogérée. 

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de la base de données Db2 autogérée.

      ```
      db2 catalog tcpip node remnode REMOTE dns_ip_address SERVER port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *rds\$1database\$1name* par le nom de la base de données sur votre instance de base de données RDS for Db2.

      ```
      db2 catalog database rds_database_name as remdb at node remnode \
          authentication server_encrypt
      ```

1. Activez la fédération sur l’instance Db2 autogérée. Dans l’exemple suivant, remplacez *source\$1database\$1name* par le nom de votre base de données sur votre instance Db2 autogérée.

   ```
   db2 update dbm cfg using FEDERATED YES source_database_name
   ```

1. Créez des tables sur l’instance de base de données RDS for Db2.

   1. Cataloguez le nœud. Dans l’exemple suivant, remplacez *dns\$1ip\$1address* et *port* par le nom DNS ou l’adresse IP et le numéro de port de la base de données Db2 autogérée.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Cataloguez la base de données. Dans l’exemple suivant, remplacez *source\$1database\$1name* et *source\$1database\$1alias* par le nom de la base de données Db2 autogérée et par l’alias que vous souhaitez utiliser pour cette base de données.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Attachez une opération à la base de données source. Dans l’exemple suivant, remplacez *source\$1database\$1alias*, *user\$1id* et *user\$1password* par l’alias que vous avez créé à l’étape précédente, ainsi que par l’ID utilisateur et le mot de passe de la base de données Db2 autogérée. 

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Configurez la fédération et créez un surnom pour la table de base de données RDS for Db2 sur l’instance Db2 autogérée.

   1. Connectez-vous à votre base de données locale. Dans l’exemple suivant, remplacez *source\$1database\$1name* par le nom de la base de données sur votre instance Db2 autogérée.

      ```
      db2 connect to source_database_name
      ```

   1.  Créez un wrapper pour accéder aux sources de données Db2.

      ```
      db2 create wrapper drda
      ```

   1. Définissez une source de données sur une base de données fédérée. Dans l’exemple suivant, remplacez *admin* et *admin\$1password* par vos informations d’identification pour votre instance Db2 autogérée. Remplacez *rds\$1database\$1name* par le nom de la base de données sur votre instance de base de données RDS for Db2.

      ```
      db2 "create server rdsdb2 type DB2/LUW version '11.5.9.0' \
          wrapper drda authorization "admin" password "admin_password" \
          options( dbname 'rds_database_name', node 'remnode')"
      ```

   1. Cartographiez les utilisateurs sur les deux bases de données. Dans l’exemple suivant, remplacez *master\$1username* et *master\$1password* par vos informations d’identification pour votre instance de base de données RDS for Db2.

      ```
      db2 "create user mapping for user server rdsdb2 \
          options (REMOTE_AUTHID 'master_username', REMOTE_PASSWORD 'master_password')"
      ```

   1. Vérifiez la connexion au serveur RDS for Db2. 

      ```
      db2 set passthru rdsdb2
      ```

   1. Créez un surnom pour la table dans la base de données RDS for Db2 distante. Dans l’exemple suivant, remplacez *NICKNAME* et *TABLE\$1NAME* par un surnom pour la table et le nom de la table.

      ```
      db2 create nickname REMOTE.NICKNAME for RDSDB2.TABLE_NAME.NICKNAME
      ```

1. Insérez des données dans la table de la base de données RDS for Db2 distante. Utilisez le surnom dans une instruction `select` sur la table locale de l’instance Db2 autogérée. Dans l’exemple suivant, remplacez *NICKNAME* et *TABLE\$1NAME* par un surnom pour la table et le nom de la table.

   ```
   db2 "INSERT into REMOTE.NICKNAME select * from RDS2DB2.TABLE_NAME.NICKNAME"
   ```

# Importation de données de Db2 vers Amazon RDS for Db2 à l’aide de l’utilitaire INGEST
<a name="db2-native-db2-tools-ingest"></a>

Vous pouvez utiliser l’utilitaire `INGEST` pour diffuser en continu des données provenant de fichiers et de canaux d’une machine cliente vers une instance de base de données Amazon RDS for Db2 cible. L’utilitaire `INGEST` prend en charge les opérations `INSERT` et `MERGE`. Pour plus d’informations, consultez [Utilitaire Ingest](https://www.ibm.com/docs/en/db2/11.1?topic=reference-ingest-utility) dans la documentation IBM Db2.

Comme l’utilitaire `INGEST` prend en charge les surnoms, vous pouvez l’utiliser pour transférer des données de votre base de données Db2 autogérée vers une base de données RDS for Db2. Cette approche fonctionne tant qu’il existe une connectivité réseau entre les deux bases de données. 

**Important**  
L’utilitaire `INGEST` ne prend pas en charge les objets volumineux (LOB). Utilisez plutôt la [commande `IMPORT`](db2-native-db2-tools-import.md). 

Pour utiliser la fonctionnalité `RESTARTABLE` de l’utilitaire `INGEST`, exécutez la commande suivante sur la base de données RDS for Db2.

```
db2 "call sysproc.sysinstallobjects(‘INGEST’,‘C’,NULL,NULL)"
```

# Fédération Amazon RDS for Db2
<a name="db2-federation"></a>

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 pour RDS for 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 for 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 base de données unique. 

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 à en tirer parti 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 dans RDS for Db2 à des bases de données distantes. Vous pouvez ensuite exécuter des requêtes sur toutes les bases de données connectées. Par exemple, vous pouvez exécuter une instruction SQL JOIN qui joint les tables de votre base de données RDS pour DB2 aux tables d'une base de données Db2 on distante. z/OS 

**Topics**
+ [Fédération homogène](#db2-federation-homogeneous)
+ [Fédération hétérogène](#db2-federation-heterogeneous)

## Fédération homogène
<a name="db2-federation-homogeneous"></a>

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 Linux, UNIX, Windows (LUW)
+ Db2 iSeries
+ Db2 pour z/OS

La fédération homogène RDS for Db2 ne prend pas en charge les actions suivantes :
+ Exécution des commandes `CATALOG` pour configurer un répertoire de nœuds et une base de données distante sur une base de données hôte RDS for Db2
+ Configuration de l’équilibrage de la charge de travail (WLB) lors de la fédération vers Db2 sur z/OS
+ Configuration du fichier de configuration du pilote du serveur de données IBM (`db2dsdriver.cfg`)

La fédération homogène RDS for Db2 présente les exigences suivantes :
+ Vous devez créer le wrapper DRDA en mode `UNFENCED`. Si vous ne le faites pas, la fédération ne fonctionnera pas dans RDS for Db2.
+ Vous devez autoriser le trafic entrant et sortant de votre base de données hôte RDS for Db2 vers votre base de données hôte distante. Pour plus d’informations, consultez [Créer un groupe de sécurité qui autorise l'accès à votre instance de base de données dans votre VPC](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

**Topics**
+ [Étape 1 : création d’un wrapper DRDA et d’un serveur fédéré](#db2-federation-homogeneous-create)
+ [Étape 2 : création d’un mappage utilisateur](#db2-federation-homogeneous-map)
+ [Étape 3 : vérification de la connexion](#db2-federation-homogeneous-check)

### Étape 1 : création d’un wrapper DRDA et d’un serveur fédéré
<a name="db2-federation-homogeneous-create"></a>

Pour une fédération homogène, créez un wrapper DRDA et un serveur fédéré. La connexion à l’hôte distant utilise `HOST`, `PORT` et `DBNAME`. 

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, UNIX et Windows (LUX)** : exécutez les commandes SQL suivantes. Dans l'exemple suivant, remplacez *server\$1name* par le nom du serveur que vous utiliserez pour la fédération. *db2\$1version*Remplacez-le par la version de votre base de données Db2 distante. Remplacez *username* et *password* par vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez *db\$1name**dns\$1name*, et par *port* 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 commandes SQL suivantes. Dans l'exemple suivant, remplacez *wrapper\$1name* et *library\$1name* par un nom pour votre wrapper DRDA et le fichier de bibliothèque d'[enveloppes.](https://www.ibm.com/docs/en/db2/11.5?topic=wrapper-db2-library-files) Remplacez *server\$1name* par le nom du serveur que vous utiliserez pour la fédération. *db2\$1version*Remplacez-le par la version de votre base de données Db2 distante. Remplacez *username* et *password* par vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez *dns\$1name**port*, et par *db\$1name* 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 SQL suivantes. Dans l'exemple suivant, remplacez *wrapper\$1name* et *library\$1name* par un nom pour votre wrapper DRDA et le fichier de bibliothèque d'[enveloppes.](https://www.ibm.com/docs/en/db2/11.5?topic=wrapper-db2-library-files) Remplacez *server\$1name* par le nom du serveur que vous utiliserez pour la fédération. *db2\$1version*Remplacez-le par la version de votre base de données Db2 distante. Remplacez *username* et *password* par vos informations d'identification pour la base de données Db2 distante à laquelle vous souhaitez vous connecter. Remplacez *dns\$1name**port*, et par *db\$1name* 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
<a name="db2-federation-homogeneous-map"></a>

Créez un mappage utilisateur pour associer votre serveur fédéré à votre serveur de source de données en exécutant la commande SQL suivante. Dans l'exemple suivant, remplacez *server\$1name* par 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](#db2-federation-homogeneous-create). Remplacez *username* et *password* par 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 [Mappages d’utilisateurs](https://www.ibm.com/docs/en/db2/11.5?topic=systems-user-mappings) dans la documentation IBM Db2.

### Étape 3 : vérification de la connexion
<a name="db2-federation-homogeneous-check"></a>

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 commandes SQL natives à votre source de données distante à l’aide de la commande SET PASSTHRU, puis créez une table sur le serveur de données distant.

1. Ouvrez et fermez une session pour envoyer du code SQL à une source de données. Dans l'exemple suivant, remplacez *server\$1name* par le nom du serveur que vous avez créé pour la fédération à l'étape 1.

   ```
   set passthru server_name;
   ```

1. Créez une nouvelle table . Dans l'exemple suivant, remplacez *column\$1name**data\$1type*, et *value* par les éléments appropriés pour votre tableau.

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

    Pour plus d’informations, consultez [Instruction CREATE TABLE](https://www.ibm.com/docs/en/db2-event-store/2.0.0?topic=statements-create-table) dans la documentation IBM Db2.

1. 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\$1name**table\$1name*,*column\$1name*, et *columnx\$1value* par 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;
   ```

1. 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\$1name* par le nom de votre base de données Db2 distante. Remplacez *nickname* par un nom. Remplacez *server\$1name* et *table\$1name* par le nom du serveur distant et de la table de ce serveur sur lesquels vous souhaitez effectuer des opérations. Remplacez *username* par les informations relatives à votre serveur distant. Remplacez *sql\$1command* par 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 contenant différents types de données. 

Ensuite, l’exemple crée l’index `i1_t1` sur trois colonnes de la table `t1`. 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 commande SQL génère toutes les données de la table `t1`. 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
<a name="db2-federation-heterogeneous"></a>

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 obtenir la liste complète des sources de données prises en charge par Db2 LUW, consultez [Matrice de support des sources de données de fédération fournie dans Db2 LUW V11.5](https://www.ibm.com/support/pages/data-source-support-matrix-federation-bundled-db2-luw-v115) sur le site de support d’IBM.

La fédération hétérogène RDS for Db2 ne prend pas en charge les éléments suivants :
+ Wrappers natifs pour les autres sources de données
+ Wrappers JDBC 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 RDS for Db2

La fédération hétérogène RDS for Db2 présente les exigences suivantes :
+ RDS for Db2 ne prend en charge que la méthode d’encapsulation ODBC.
+ 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 pour ODBC, consultez [Options ODBC](https://www.ibm.com/docs/en/db2/11.5?topic=options-odbc) dans la documentation IBM Db2.
+ Vous devez autoriser le trafic entrant et sortant de votre base de données hôte RDS for Db2 vers votre base de données hôte distante. Pour plus d’informations, consultez [Créer un groupe de sécurité qui autorise l'accès à votre instance de base de données dans votre VPC](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

Pour plus d’informations sur la fédération vers Oracle, consultez [Comment interroger Oracle à l’aide de la fédération Db2 et du pilote ODBC ?](https://www.ibm.com/support/pages/node/6431133) sur le site de support d’IBM.

Pour plus d’informations sur les sources de données qui prennent en charge la fédération, consultez [Matrice de support des sources de données de fédération fournie dans Db2 LUW V11.5](https://www.ibm.com/support/pages/node/957245) sur le site de support d’IBM.

**Topics**
+ [Étape 1 : création d’un wrapper ODBC](#db2-federation-heteogenous-define-wrapper)
+ [Étape 2 : création d’un serveur fédéré](#db2-federation-heterogeneous-create)
+ [Étape 3 : création d’un mappage utilisateur](#db2-federation-heterogeneous-map)
+ [Étape 4 : vérification de la connexion](#db2-federation-heterogeneous-check)

### Étape 1 : création d’un wrapper ODBC
<a name="db2-federation-heteogenous-define-wrapper"></a>

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é
<a name="db2-federation-heterogeneous-create"></a>

Créez un serveur fédéré en exécutant la commande suivante. Dans l'exemple suivant, remplacez *server\$1name* par le nom du serveur que vous utiliserez pour la fédération. *wrapper\$1type*Remplacez-le par l'emballage approprié. *db\$1version*Remplacez-le par la version de votre base de données distante. Remplacez *dns\$1name**port*, et *service\$1name* par 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 wrappers, consultez [Matrice de support des sources de données de fédération fournie dans Db2 LUW V11.5](https://www.ibm.com/support/pages/node/957245) sur le site de support d’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
<a name="db2-federation-heterogeneous-map"></a>

Créez un mappage utilisateur pour associer votre serveur fédéré à votre serveur de source de données en exécutant la commande SQL suivante. Dans l'exemple suivant, remplacez *server\$1name* par 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](#db2-federation-heterogeneous-create). Remplacez *username* et *password* par 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 [Mappages d’utilisateurs](https://www.ibm.com/docs/en/db2/11.5?topic=systems-user-mappings) dans la documentation IBM Db2.

### Étape 4 : vérification de la connexion
<a name="db2-federation-heterogeneous-check"></a>

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 commandes SQL natives à votre source de données distante à l’aide de la commande SET PASSTHRU, puis créez une table sur le serveur de données distant.

1. Ouvrez et fermez une session pour envoyer du code SQL à une source de données. Dans l'exemple suivant, remplacez *server\$1name* par le nom du serveur que vous avez créé pour la fédération à l'[étape 2](#db2-federation-heterogeneous-create).

   ```
   set passthru server_name;
   ```

1. Créez une nouvelle table . Dans l'exemple suivant, remplacez *column\$1name**data\$1type*, et *value* par les éléments appropriés pour votre tableau.

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

    Pour plus d’informations, consultez [Instruction CREATE TABLE](https://www.ibm.com/docs/en/db2-event-store/2.0.0?topic=statements-create-table) dans la documentation IBM Db2.

1. 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\$1name**table\$1name*,*column\$1name*, et *columnx\$1value* par 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;
   ```

1. 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\$1name* par le nom de votre base de données Db2 distante. Remplacez *nickname* par un nom. Remplacez *server\$1name* et *table\$1name* par le nom du serveur distant et de la table de ce serveur sur lesquels vous souhaitez effectuer des opérations. Remplacez *username* par les informations relatives à votre serveur distant. Remplacez *sql\$1command* par 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 contenant différents types de données. 

Ensuite, l’exemple crée l’index `i1_t1` sur trois colonnes de la table `t1`. 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 commande SQL génère toutes les données de la table `t1`. 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;
```

# Utilisation de réplicas pour Amazon RDS for Db2
<a name="db2-replication"></a>

RDS for Db2 prend en charge la création de réplicas de bases de données afin de fournir des fonctionnalités de mise à l’échelle de lecture et de reprise après sinistre. Vous pouvez créer des réplicas selon deux modes : des réplicas en lecture seule pour décharger les charges de travail en lecture, et des réplicas de secours pour la reprise après sinistre interrégionale. RDS for Db2 utilise la technologie IBM Db2 High Availability Disaster Recovery (HADR) pour la réplication. Pour plus d’informations, consultez [High Availability Disaster Recovery (HADR)](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr) dans la documentation IBM Db2.

Un *réplica Db2* de base de données est une copie physique de votre base de données principale. Un réplica Db2 en lecture seule est appelé *réplica en lecture*. Un réplica Db2 de secours est appelé *réplica de secours*. Db2 n’autorise pas les écritures dans un réplica, mais vous pouvez le promouvoir pour le rendre accessible en écriture. Le réplica promu comporte les données répliquées jusqu’au moment où la demande a été faite pour le promouvoir. Pour de plus amples informations, veuillez consulter [Promotion d'un réplica en lecture en instance de bases de données autonome](USER_ReadRepl.Promote.md).

Pour obtenir un résumé des fonctionnalités et des comportements des réplicas RDS for Db2, consultez [Différences entre les réplicas en lecture pour les moteurs de bases de données](USER_ReadRepl.Overview.Differences.md).

## Réplicas en lecture seule et de secours
<a name="db2-read-replicas.overview.modes"></a>

Lorsque vous créez ou modifiez un réplica Db2, vous pouvez le placer dans l’un des modes suivants :

**Lecture seule**  
Il s’agit de l’option par défaut. HADR transmet et applique les modifications de la base de données source à toutes les bases de données de réplicas en lecture. Pour les réplicas en lecture seule, la variable d’environnement Db2 `DB2_HADR_ROS` est définie sur `ON`. Le niveau d’isolement pour les requêtes de lecture sur la base de données de réplicas est `Uncommitted Read`. Pour plus d’informations, consultez [Niveau d’isolement sur la base de données de secours active](https://www.ibm.com/docs/en/db2/11.5?topic=standby-isolation-level-active-database) dans la documentation IBM Db2.  
Pour obtenir des informations générales sur les réplicas en lecture qui s’appliquent à tous les moteurs de base de données, consultez [Utilisation des réplicas en lecture d'instance de base de données](USER_ReadRepl.md). Pour plus d’informations sur Db2 HADR, consultez [High Availability Disaster Recovery (HADR)](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr) dans la documentation IBM Db2.

 **Secours**  
Pour les réplicas de secours, la variable d’environnement Db2 `DB2_HADR_ROS` est définie sur `OFF` de telle sorte que les bases de données de réplicas n’acceptent pas les connexions utilisateur. L’utilisation principale des réplicas de secours est la reprise après sinistre interrégionale.  
Un réplica de secours ne peut pas servir de charge de travail en lecture seule. Le réplica de secours ne contient aucun journal d’archivage.

Vous pouvez créer jusqu’à 3 réplicas à partir d’une seule instance de base de données source. Vous pouvez créer une combinaison de réplicas de base de données de secours et en lecture seule pour la même instance de base de données source. Après avoir créé un réplica, vous pouvez modifier le mode réplica. Pour plus d’informations, consultez [Modification du mode réplica RDS for Db2](db2-replicas-changing-replica-mode.md). 

Avant de créer des réplicas, veillez à respecter toutes les conditions requises. Pour de plus amples informations, veuillez consulter [Exigences et considérations relatives aux réplicas RDS for Db2](db2-read-replicas.limitations.md).

## Activations de base de données
<a name="db2-read-replicas.overview.database-activations"></a>

Db2 HADR est configuré au niveau de la base de données. Une fois que vous avez créé des réplicas, HADR est défini pour toutes les bases de données Db2, y compris `rdsadmin`, que RDS gère entièrement. Avant de créer des réplicas Db2, vous devez activer explicitement toutes les bases de données. Dans le cas contraire, la création de réplicas échoue et Amazon RDS émet un événement. Une fois qu’une instance de base de données possède un ou plusieurs réplicas, vous ne pouvez activer ou désactiver aucune base de données sur l’instance de base de données à l’aide des procédures stockées `rdsadmin.activate_database` ou `rdsadmin.deactivate_database`. Pour de plus amples informations, veuillez consulter [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).

## Configurations HADR
<a name="db2-read-replicas.overview.hadr-configurations"></a>

Vous pouvez voir toutes les configurations HADR d’une base de données en vous connectant à la base de données, puis en exécutant `db2 get db cfg`. 

## Conservation des journaux d’archivage
<a name="db2-read-replicas.overview.log-retention"></a>

Amazon RDS purge les journaux d’une instance de base de données principale une fois que les conditions suivantes sont remplies :
+ Les journaux datent d’au moins deux heures.
+ Le paramètre relatif aux heures de conservation des journaux d’archivage est dépassé.
+ Les journaux d’archivage ont été correctement répliqués sur toutes les instances de base de données de réplica. Cette condition s'applique à la fois aux instances de base de données situées dans la même région Région AWS et aux instances de base de données interrégionales. 

Pour plus d'informations sur la définition des heures de conservation des journaux d'archivage, veuillez consulter [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention).

Amazon RDS vérifie et nettoie chaque base de données individuellement. Si une base de données perd la connexion HADR ou si les informations relatives à cette connexion ne sont pas disponibles, Amazon RDS ignore la base de données et ne purge pas les journaux d’archivage.

## Pannes pendant la réplication Db2
<a name="db2-read-replicas.overview.outages"></a>

Lorsque vous créez un réplica, Amazon RDS prend un instantané de votre instance de base de données source et commence la réplication. Lorsque l'opération de capture instantanée de base de données commence, l'instance de base de données source subit une très brève I/O suspension. La I/O suspension dure généralement une seconde environ. Toutefois, si l'instance de base de données source est un déploiement multi-AZ, l'instance de base de données source ne subit aucune I/O suspension. En effet, dans le cas des déploiements multi-AZ, l’instantané est pris à partir de l’instance de base de données secondaire.

L’instantané de base de données devient le réplica Db2. Amazon RDS définit les paramètres et autorisations nécessaires pour la base de données source et le réplica sans interruption de service. De même, si vous supprimez un réplica, aucune panne ne se produit.

# Exigences et considérations relatives aux réplicas RDS for Db2
<a name="db2-read-replicas.limitations"></a>

Les exigences relatives aux réplicas Db2 se répartissent en plusieurs catégories : licences et gestion des versions, considérations relatives à la sauvegarde et à la restauration, comportement de réplication et considérations opérationnelles générales. Avant de créer un réplica Db2, familiarisez-vous avec les exigences et considérations suivantes.

## Exigences de version et de licence pour les réplicas RDS for Db2
<a name="db2-read-replicas.limitations.versions-and-licenses"></a>

Avant de créer un réplica RDS for Db2, consultez les informations suivantes relatives aux versions et aux modèles de licence :
+ **Versions prises en charge** : toutes les versions de Db2 11.5 prennent en charge les instances de base de données de réplica. 

  Les instances de base de données source et de réplica doivent utiliser la même version majeure. Les réplicas Db2 prennent en charge les mises à niveau de versions mineures, mais pas les mises à niveau de versions majeures. Pour obtenir des informations sur la mise à niveau des instances de base de données, consultez [Mise à niveau d'une version du moteur d'une instance de base de données](USER_UpgradeDBInstance.Upgrading.md).
**Note**  
Lors de la mise à niveau d’une instance de base de données source, tous les réplicas sont automatiquement mis à niveau pour maintenir la compatibilité des versions.
+ **Modèles de licence et modes de réplication valides** : Db2 Advanced Edition (AE) et Standard Edition (SE) peuvent créer des répliques en mode lecture seule ou en mode veille pour le modèle Bring Your Own License (BYOL) et le modèle de licence Db2 par le modèle. AWS Marketplace 
+ **Groupe de paramètres personnalisés** : vous devez spécifier un groupe de paramètres personnalisés pour le réplica. 

  Pour les réplicas qui utilisent le modèle BYOL, ce groupe de paramètres personnalisés doit inclure votre IBM Site ID et IBM Customer ID. Pour de plus amples informations, veuillez consulter [IBM IDs pour apporter votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-prereqs-ibm-info). Vous pouvez spécifier ce groupe de paramètres personnalisés pour la réplique à l'aide de l'API AWS Management Console AWS CLI , de ou de l'API RDS. 
+ **Le nombre de vCPU** varie en fonction du mode du réplica et du modèle de licence :
  + Les **répliques de secours** utilisent toujours deux v, CPUs quelle que soit la taille de l'instance de base de données.
    + **Modèle BYOL** : les AWS License Manager configurations montrent que RDS pour les instances de base de données DB2 utilise deux v. CPUs
    + **Licence DB2 par AWS Marketplace modèle** — Les factures reflètent les coûts de licence pour deux v. CPUs
  + **Les réplicas en lecture seule** utilisent le même nombre de vCPU que la taille de l’instance de base de données.
    + **Modèle BYOL** : les AWS License Manager configurations montrent que RDS pour les instances de base de données DB2 utilise le même nombre de v CPUs que celui correspondant à la taille de l'instance de base de données.
    + **Licence DB2 par AWS Marketplace modèle** : les factures reflètent les coûts de licence pour le même nombre de v CPUs correspondant à la taille de l'instance de base de données.

## Considérations relatives à la sauvegarde et la restauration des réplicas RDS for Db2
<a name="db2-read-replicas.limitations.backups"></a>

Les sauvegardes de réplicas ont un comportement différent de celui des sauvegardes de base de données principales. Tenez compte des exigences de sauvegarde et de restauration suivantes :
+ Pour créer des instantanés des réplicas de RDS for Db2 ou activer les sauvegardes automatiques, veillez à définir manuellement la période de conservation des sauvegardes. Les sauvegardes automatiques ne sont pas activées par défaut.
+ Lorsque vous restaurez une sauvegarde de réplica, vous rétablissez l’heure de la base de données, et non l’heure à laquelle la sauvegarde a été effectuée. L’heure de la base de données désigne la dernière heure de transaction appliquée des données dans la sauvegarde. La différence est importante, car un réplica peut être en retard de plusieurs minutes ou heures par rapport à la base de données principale. Lorsqu’il existe plusieurs bases de données, RDS for Db2 utilise l’heure de base de données la plus ancienne.

  Pour trouver la différence, exécutez la AWS CLI [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html)commande ou appelez l'DBSnapshotsopération RDS API [Describe](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html). Comparez la valeur `SnapshotDatabaseTime` et la valeur `OriginalSnapshotCreateTime`. La valeur `SnapshotDatabaseTime` correspond à l’heure de la base de données de la sauvegarde du réplica. La valeur `OriginalSnapshotCreateTime` correspond à la dernière transaction appliquée sur la base de données principale.

Pour plus d’informations sur les sauvegardes et la restauration des sauvegardes, consultez [Utilisation des sauvegardes de réplicas RDS for Db2](db2-read-replicas.backups.md).

## Considérations relatives à la réplication pour les réplicas RDS for Db2
<a name="db2-read-replicas.limitations.replication"></a>

Les réplicas Db2 utilisent la technologie HADR avec des limites et des comportements spécifiques. Examinez les considérations relatives à la réplication suivantes :
+ La réplication utilise la fonction Db2 HADR pour toutes les bases de données de l’instance de base de données RDS for Db2.
+ La réplication ne prend pas en charge la commande `LOAD`. Si vous exécutez la commande `LOAD` depuis l’instance de base de données source, vous recevrez des données incohérentes.
+ RDS for Db2 ne réplique pas les éléments suivants : 
  + Accès au stockage. Soyez attentif aux données, telles que les tables externes, qui dépendent de l’accès au stockage.
  + Non intégrés LOBs qui ne sont pas enregistrés.
  + Binaires de procédures stockées externes (dans C ou Java).
+ Pour les réplicas de secours, RDS for Db2 réplique les éléments suivants : 
  + Utilisateurs locaux, à l’exception des utilisateurs principaux
  + Paramètres de configuration de base de données
+ Pour les réplicas en lecture seule, RDS for Db2 réplique les éléments suivants :
  + Utilisateurs locaux, à l’exception des utilisateurs principaux
  + Mappages de groupes SID

## Considérations diverses relatives aux réplicas RDS for Db2
<a name="db2-read-replicas.limitations.miscellaneous"></a>

Des considérations opérationnelles supplémentaires s’appliquent aux réplicas Db2. Vérifiez les éléments suivants :
+ RDS for Db2 réplique les configurations de base de données sur les réplicas. Lorsque RDS for Db2 fait la promotion d’un réplica, il désactive et active chaque base de données.
+ RDS for Db2 réplique les utilisateurs locaux, mais pas l’utilisateur principal, et les mappages de groupes SID vers les réplicas. Vous pouvez modifier l’utilisateur principal sur le réplica. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).
+ Toutes les bases de données doivent être actives. Pour plus d’informations sur l’activation des base de données, consultez [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).
+ Toutes les procédures stockées de création, de suppression, de restauration ou de transfert de bases de données doivent être effectuées avant de créer un réplica. Pour plus d’informations sur ces procédures stockées, consultez [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).
+ Lorsque le réplica est créé, Amazon RDS définit le paramètre au niveau de la base de données `blocknonlogged` pour toutes les bases de données de l’instance de base de données source sur `YES`. Lorsque le réplica source redevient une instance autonome, Amazon RDS redéfinit la valeur sur `NO`. Pour plus d’informations, consultez [blocknonlogged - Création de blocs de tables autorisant le paramètre de configuration des activités non enregistrées](https://www.ibm.com/docs/en/db2/11.1?topic=dcp-blocknonlogged-block-creation-tables-that-allow-non-logged-activity) dans la documentation IBM Db2.
+ Lorsque le réplica est créé, Amazon RDS définit le paramètre au niveau de la base de données `logindexbuild` pour toutes les bases de données de l’instance de base de données source sur `YES`. Lorsque le réplica source redevient une instance autonome, Amazon RDS redéfinit la valeur sur `NO`. Pour plus d’informations, consultez [logindexbuild - Paramètre de configuration pour la création des pages d’index du journal](https://www.ibm.com/docs/en/db2/11.1?topic=parameters-logindexbuild-log-index-pages-created) dans la documentation IBM Db2.

# Préparation de la création d’un réplica RDS for Db2
<a name="db2-read-replicas.Configuration"></a>

Avant de créer un réplica RDS for Db2, vous devez effectuer les tâches suivantes pour que la réplication soit réussie. Ces tâches permettent de prévenir les problèmes courants et de garantir des performances optimales.

## Tâche 1 : activation des sauvegardes automatiques
<a name="db2-read-replicas.configuration.autobackups"></a>

Avant qu'une instance de base de données puisse être utilisée comme instance de bases de données source, vous devez activer les sauvegardes automatiques sur l'instance de base de données source. Il s’agit d’une condition préalable à toutes les opérations de création de réplicas. Pour savoir comment effectuer cette procédure, consultez [Activation des sauvegardes automatiques](USER_WorkingWithAutomatedBackups.Enabling.md).

Pour plus d’informations sur les sauvegardes spécifiques aux réplicas Db2, consultez [Utilisation des sauvegardes de réplicas RDS for Db2](db2-read-replicas.backups.md).

## Tâche 2 : planification des ressources de calcul et de stockage
<a name="db2-read-replicas.configuration.planning-resources"></a>

Assurez-vous que l’instance de base de données source et ses réplicas sont dimensionnés correctement, en termes de calcul et de stockage, en fonction de leur charge opérationnelle. Si un réplica atteint sa capacité en termes de ressources de calcul, de réseau ou de stockage, il arrête de recevoir ou d’appliquer les modifications provenant de sa source. Pour plus d’informations sur la surveillance des performances des réplicas et de l’utilisation des ressources, consultez [Supervision de la réplication en lecture](USER_ReadRepl.Monitoring.md). 

RDS for Db2 n’intervient pas pour atténuer un retard de réplica élevé entre une instance de base de données source et ses réplicas. Si le retard de réplica est élevé, consultez [Surveillance du retard de réplication Db2](db2-troubleshooting-replicas.md#db2-troubleshooting-replicas-lag) pour connaître les conseils de dépannage. 

Vous pouvez modifier les ressources de stockage et d’UC d’un réplica indépendamment de sa source et d’autres réplicas. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## Tâche 3 : préparation des bases de données
<a name="db2-read-replicas.configuration.activate-databases"></a>

Avant de créer un réplica, vérifiez que vos bases de données sont prêtes en fonction des points suivants :
+ L’instance de base de données contient toutes les bases de données que vous souhaitez voir présentes sur l’instance de base de données. Une fois que vous avez créé un réplica, vous ne pouvez pas créer, supprimer ou restaurer de manière native une base de données sur l’instance de base de données. Tous les appels vers les procédures stockées [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database), [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database) ou [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database) échouent.
+ Toutes les bases de données de l’instance de base de données sont actives. Si une base de données est inactive, la création de réplicas échouera. Pour plus d’informations sur l’activation des base de données, consultez [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).

## Étapes suivantes
<a name="db2-read-replicas-configuration-next-steps"></a>

Après avoir terminé toutes les tâches de préparation, vous êtes prêt à créer un réplica Db2.
+ Pour créer un réplica en lecture seule, consultez [Création d’un réplica en lecture](USER_ReadRepl.Create.md).
+ Pour créer un réplica de secours, consultez [Création d’une réplicas Db2 de secours](db2-read-replicas.creating-in-standby-mode.md).

# Création d’un réplica RDS for Db2 de secours
<a name="db2-read-replicas.creating-in-standby-mode"></a>

Par défaut, les réplicas Db2 sont créées en mode lecture seule. Vous pouvez créer un réplica de secours à des fins de reprise après sinistre. Les réplicas de secours n’acceptent pas les connexions utilisateur, mais offrent des fonctionnalités de basculement plus rapides pour les scénarios interrégionaux.

Avant de créer un réplica de secours, vérifiez que vous bien effectué les tâches de préparation. Pour de plus amples informations, veuillez consulter [Préparation de la création d’un réplica RDS for Db2](db2-read-replicas.Configuration.md). Après avoir créé un réplica de secours, vous pouvez modifier le mode de réplication. Pour de plus amples informations, veuillez consulter [Modification du mode réplica RDS for Db2](db2-replicas-changing-replica-mode.md).

Vous pouvez créer une réplique de secours à l'aide de l' AWS Management Console API AWS CLI, de ou de l'API RDS. Pour plus d’informations sur la création d’un réplica en lecture seule, consultez [Création d’un réplica en lecture](USER_ReadRepl.Create.md).

## Console
<a name="db2-read-replicas.creating-in-standby-mode.console"></a>

**Création d’un réplica de secours à partir d’une instance de base de données RDS for Db2 source**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Sélectionnez l’instance de base de données RDS for Db2 que vous voulez utiliser comme source pour votre réplica de secours.

1. Sous **Actions**, choisissez **Créer un réplica**. 

1. Pour le **Mode réplica**, choisissez **De secours**.

1. Choisissez les paramètres que vous souhaitez utiliser. Sous **Identifiant de l’instance de base de données**, saisissez un nom pour le réplica de secours. Ajustez les autres paramètres selon les besoins.

1. Pour **les régions**, choisissez l' Région AWS endroit où la réplique de secours sera lancée. 

1. Choisissez la taille de votre instance et le type de stockage. Nous vous recommandons d’utiliser le même type de stockage et la même classe d’instance de base de données que l’instance de base de données source pour le réplica de secours.

1. Pour **Déploiement Multi-AZ**, choisissez **Créer une instance de secours** pour créer une instance de secours de votre réplica dans une autre zone de disponibilité pour la prise en charge du basculement pour le réplica de secours.

1. Choisissez les autres paramètres que vous voulez utiliser.

1. Choisissez **Créer un réplica**.

Sur la page **Bases de données**, le réplica de secours a le rôle **Réplica**.

## AWS CLI
<a name="db2-read-replicas.creating-in-standby-mode.cli"></a>

Pour créer une réplique Db2 en mode veille, utilisez la AWS CLI commande [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) avec `--replica-mode` set to. `mounted`

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds create-db-instance-read-replica \
    --db-instance-identifier my_standby_replica \
    --source-db-instance-identifier my_db_instance \
    --replica-mode mounted
```
Pour Windows :  

```
aws rds create-db-instance-read-replica ^
    --db-instance-identifier my_standby_replica ^
    --source-db-instance-identifier my_db_instance ^
    --replica-mode mounted
```

## API RDS
<a name="db2-read-replicas.creating-in-standby-mode.api"></a>

[Pour créer une réplique Db2 en mode veille, spécifiez l'opération Create `ReplicaMode=mounted` dans l'API RDS. DBInstance ReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)

# Modification du mode réplica RDS for Db2
<a name="db2-replicas-changing-replica-mode"></a>

Vous pouvez changer le mode réplica d’un réplica Db2 existant entre le mode lecture seule et le mode de secours. Cette flexibilité vous permet d’adapter la configuration de votre réplica en fonction de l’évolution des exigences relatives aux charges de travail en lecture ou aux besoins de reprise après sinistre. 

Vous souhaiterez peut-être modifier les modes réplica dans les scénarios suivants :
+ **Du mode lecture seule au mode de secours** : lorsque vous n’avez plus besoin de capacité de lecture, mais que vous souhaitez conserver les capacités de reprise après sinistre
+ **Du mode de secours au mode lecture seule** : lorsque vous devez ajouter de la capacité de lecture pour les charges de travail de reporting ou d’analyse

Avant de changer de mode réplica, vérifiez que les conditions suivantes sont réunies :
+ Le réplica est dans un état disponible.
+ Aucune opération de maintenance active n’est en cours sur le réplica.
+ Vous disposez des autorisations nécessaires pour modifier l’instance de bases de données.

L’opération de modification peut prendre quelques minutes. Au cours de l'opération, l'état de l'instance de base de données passe à **en cours de modification**. Pour plus d’informations sur les modifications d’état, consultez [Affichage de l'état d'une instance de base de données Amazon RDS ](accessing-monitoring.md#Overview.DBInstance.Status). Lorsque vous passez du mode lecture seule au mode de secours, le réplica déconnecte toutes les connexions actives. 

**Important**  
Étant donné que la modification des modes réplica interrompt temporairement le service, planifiez la modification pendant une période de maintenance afin de minimiser l’impact sur vos applications.

Vous pouvez modifier le mode de réplication à l'aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS.

## Console
<a name="db2-replicas-changing-replica-mode-console"></a>

**Modification du mode réplica d’un réplica Db2**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez la base de données du réplica à modifier.

1. Sélectionnez **Modifier**.

1. Pour **Mode réplica**, choisissez le mode souhaité :
   + **Lecture seule** : pour les charges de travail en lecture
   + **De secours** : pour la reprise après sinistre

1. Choisissez les autres paramètres que vous souhaitez modifier.

1. Choisissez **Continuer**.

1. Pour **Scheduling of Modifications (Planification des modifications)**, choisissez **Appliquer immédiatement**.

1. Choisissez **Modifier l’instance DB**.

1. Une fois la modification terminée, vérifiez le changement de mode réplica sur la page **Bases de données**. Le statut du réplica doit s’afficher comme **Disponible** lorsque la modification est terminée.

## AWS CLI
<a name="db2-replicas-changing-replica-mode-cli"></a>

Pour faire passer une réplique Db2 du mode lecture seule au mode veille, définissez-la `mounted` dans `--replica-mode` la commande. AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) Pour faire passer un réplica Db2 du mode de secours au mode lecture seule, définissez `--replica-mode` sur `open-read-only`.

L’exemple suivant fait passer un réplica du mode lecture seule au mode de secours :

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db2_replica \
    --replica-mode mounted
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db2_replica ^
    --replica-mode mounted
```

L’exemple suivant fait passer un réplica du mode de secours au mode lecture seule :

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db2_replica \
    --replica-mode open-read-only
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db2_replica ^
    --replica-mode open-read-only
```

## API RDS
<a name="db2-replicas-changing-replica-mode-api"></a>

[Pour faire passer une réplique Db2 du mode lecture seule au mode veille, définissez `ReplicaMode=mounted` le paramètre dans Modifier. DBInstance](AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) Pour faire passer un réplica Db2 du mode de secours au mode lecture seule, définissez `ReplicaMode=open-read-only`.

Voici un exemple d’appel d’API permettant de faire passer un réplica du mode lecture seule au mode de secours :

```
{
    "DBInstanceIdentifier": "my_db2_replica",
    "ReplicaMode": "mounted",
    "ApplyImmediately": true
}
```

Voici un exemple d’appel d’API permettant de faire passer un réplica du mode de secours au mode lecture seule :

```
{
    "DBInstanceIdentifier": "my_db2_replica",
    "ReplicaMode": "open-read-only",
    "ApplyImmediately": true
}
```

Pour plus d’informations sur les différences entre les modes réplica, consultez [Utilisation de réplicas pour Amazon RDS for Db2](db2-replication.md). Pour résoudre les problèmes liés aux réplicas, consultez [Résolution des problèmes de réplication RDS for Db2](db2-troubleshooting-replicas.md).

# Utilisation des sauvegardes de réplicas RDS for Db2
<a name="db2-read-replicas.backups"></a>

Vous pouvez créer et restaurer des sauvegardes d’un réplica RDS for Db2 tout comme une base de données principale. Cependant, il existe des différences importantes dans le fonctionnement des sauvegardes de réplicas, notamment en ce qui concerne les délais de restauration et les paramètres de conservation des sauvegardes.

RDS for Db2 prend en charge les sauvegardes automatiques et les instantanés manuels pour les réplicas. RDS pour DB2 ne prend pas en charge point-in-time la restauration. Pour plus d’informations sur les sauvegardes RDS, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md). 

## Principales différences pour les sauvegardes de réplicas
<a name="db2-read-replicas-backups-overview"></a>

Les sauvegardes de réplicas diffèrent des sauvegardes de base de données principales de plusieurs manières importantes :
+ Les sauvegardes automatiques ne sont pas activées par défaut pour les réplicas.
+ Les opérations de restauration utilisent l’heure de la base de données plutôt que l’heure de création de la sauvegarde.
+ Le décalage de réplica peut affecter les données réellement restaurées. Pour plus d’informations sur la surveillance du décalage de réplica, consultez [Surveillance du retard de réplication Db2](db2-troubleshooting-replicas.md#db2-troubleshooting-replicas-lag).

## Activation des sauvegardes automatiques pour les réplicas RDS for Db2
<a name="db2-read-replicas.backups.turning-on"></a>

Contrairement aux bases de données principales, les sauvegardes automatiques ne sont pas activées par défaut pour la réplicas RDS for Db2. Vous devez configurer manuellement la période de rétention des sauvegardes pour activer les sauvegardes automatiques. Activez les sauvegardes automatiques en définissant la période de rétention des sauvegardes sur une valeur positive différente de zéro.

### Console
<a name="db2-read-replicas.backups.turning-on-console"></a>

**Activation immédiate des sauvegardes automatiques**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Bases de données**, puis l’instance de base de données que vous souhaitez modifier.

1. Sélectionnez **Modify (Modifier)**.

1. Pour **Période de conservation des sauvegardes**, choisissez une valeur positive différente de zéro, par exemple trois jours.

1. Choisissez **Continuer**.

1. Choisissez **Apply immediately (Appliquer immédiatement)**.

1. Choisissez **Modifier l’instance de base de données** pour enregistrer vos modifications et activer les sauvegardes automatiques.

### AWS CLI
<a name="db2-read-replicas.backups.turning-on-cli"></a>

Pour activer les sauvegardes automatisées, utilisez la AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)commande.

Incluez les paramètres suivants :
+ `--db-instance-identifier`
+ `--backup-retention-period`
+ `--apply-immediately` ou `--no-apply-immediately`

Dans l’exemple suivant, nous activons les sauvegardes automatiques en définissant la période de rétention des sauvegardes sur trois jours. Les modifications sont appliquées immédiatement.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

### API RDS
<a name="db2-read-replicas.backups.turning-on-api"></a>

Pour activer les sauvegardes automatisées, utilisez l'DBInstanceopération de [modification](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) de l'API RDS avec les paramètres obligatoires suivants :
+ `DBInstanceIdentifier`
+ `BackupRetentionPeriod`

## Restauration d’une sauvegarde de réplica RDS for Db2
<a name="db2-read-replicas.backups.restoring"></a>

Vous pouvez restaurer une sauvegarde de réplica RDS for Db2 de la même manière que vous pouvez restaurer une sauvegarde de la base de données principale. Pour de plus amples informations, veuillez consulter [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md).

Le point le plus important à prendre en compte lors de la restauration de sauvegardes de réplicas est de comprendre la différence entre l’heure de la base de données et l’heure de création de la sauvegarde, en particulier en cas de décalage de réplica.

Vous pouvez surveiller le décalage de réplica et vous assurer que vos sauvegardes contiennent les données attendues. Pour plus d'informations sur la ReplicaLag métrique, consultez[CloudWatch Métriques Amazon pour Amazon RDS](rds-metrics.md).

### Présentation des différences de temps
<a name="db2-read-replicas-backups-restoring-timing"></a>

Lorsque vous restaurez une sauvegarde de réplica, vous devez déterminer l’instant dans le passé auquel vous effectuez la restauration. L’heure de la base de données désigne la dernière heure de transaction appliquée des données dans la sauvegarde. Lorsque vous restaurez une sauvegarde de réplica, vous rétablissez l’heure de la base de données, et non l’heure à laquelle la sauvegarde s’est terminée. La différence est importante, car un réplica peut être en retard de plusieurs minutes ou heures par rapport à la base de données principale. Ainsi, l’heure de la base de données d’une sauvegarde de réplica peut être bien antérieure à l’heure de création de l’instantané.

Pour connaître la différence entre l'heure de la base de données et l'heure de création, exécutez la AWS CLI [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html)commande ou appelez l'DBSnapshotsopération RDS API [Describe](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html). Comparez la valeur `SnapshotDatabaseTime` et la valeur `OriginalSnapshotCreateTime`. La valeur `SnapshotDatabaseTime` correspond à l’heure de base de données la plus ancienne parmi toutes les bases de données de la sauvegarde du réplica. La valeur `OriginalSnapshotCreateTime` correspond à la dernière transaction appliquée sur la base de données principale. Notez que les retards de réplication peuvent être différents pour plusieurs bases de données et que l’heure de la base de données peut se situer entre ces deux temps. 

L' AWS CLI exemple suivant montre la différence entre les deux temps :

Pour Linux, macOS ou Unix :

```
aws rds describe-db-snapshots \
    --db-instance-identifier my_db2_replica \
    --db-snapshot-identifier my_replica_snapshot
```

Pour Windows :

```
aws rds describe-db-snapshots ^
    --db-instance-identifier my_db2_replica ^
    --db-snapshot-identifier my_replica_snapshot
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant. 

```
{
    "DBSnapshots": [
        {
            "DBSnapshotIdentifier": "my_replica_snapshot",
            "DBInstanceIdentifier": "my_db2_replica", 
            "SnapshotDatabaseTime": "2022-07-26T17:49:44Z",
            ...
            "OriginalSnapshotCreateTime": "2021-07-26T19:49:44Z"
        }
    ]
}
```

# Résolution des problèmes de réplication RDS for Db2
<a name="db2-troubleshooting-replicas"></a>

Cette rubrique décrit les problèmes courants de réplication RDS for Db2 et fournit des conseils de dépannage pour les réplicas en lecture seule et de secours. En plus de consulter les informations de dépannage suivantes, assurez-vous d’avoir suivi les [exigences et considérations](db2-read-replicas.limitations.md) et d’avoir suivi les [étapes de préparation](db2-read-replicas.Configuration.md) avant de créer des réplicas Db2.

## Échec de création de réplica
<a name="db2-troubleshooting-replicas-creation"></a>



La création de réplicas peut échouer pour plusieurs raisons :
+ **Bases de données inactives** : toutes les bases de données de l’instance de base de données source doivent être actives avant de créer des réplicas. 

  Pour plus d’informations sur l’activation des base de données, consultez [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md).
+ **Sauvegardes automatiques manquantes** : les sauvegardes automatiques doivent être activées sur l’instance de base de données source. 

  Pour plus d’informations sur l’activation des sauvegardes, consultez [Activation des sauvegardes automatiques pour les réplicas RDS for Db2](db2-read-replicas.backups.md#db2-read-replicas.backups.turning-on).
+ **Problèmes liés aux groupes de paramètres** : des groupes de paramètres personnalisés sont requis pour les réplicas. Pour les licences BYOL, le groupe de paramètres doit inclure l’IBM Site ID et l’IBM Customer ID. 

  Pour plus d’informations, consultez [IBM IDs pour apporter votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-prereqs-ibm-info).

## Surveillance du retard de réplication Db2
<a name="db2-troubleshooting-replicas-lag"></a>

Pour surveiller le délai de réplication dans Amazon CloudWatch, consultez la `ReplicaLag` métrique Amazon RDS. Pour obtenir plus d'informations sur la durée du retard de réplication, consultez [Supervision de la réplication en lecture](USER_ReadRepl.Monitoring.md) et [CloudWatch Métriques Amazon pour Amazon RDS](rds-metrics.md). Pour plus d'informations sur la configuration d' CloudWatch alarmes en cas de retard de réplication, consultez[Surveillance des métriques Amazon RDS () avec Amazon CloudWatch](monitoring-cloudwatch.md). 

Pour un réplica en lecture seule, si le temps de latence est trop long, interrogez la table `MON_GET_HADR` pour connaître l’état de l’instance de base de données DB de réplica. 

Pour un réplica de secours, si le temps de latence est trop long, interrogez la table `MON_GET_HADR` pour connaître l’état de l’instance de base de données DB source. N’interrogez pas l’instance de base de données de réplica, car les instances de base de données de réplica n’acceptent pas les connexions utilisateur.

Les causes courantes d’un retard de réplication élevé sont les suivantes :
+ Ressources de calcul insuffisantes sur le réplica
+ Problèmes de connectivité réseau entre la source et le réplica
+ Activité d’écriture élevée sur la base de données source
+ Limitations des performances de stockage sur le réplica

Si un retard de réplication élevé persiste, envisagez d’effectuer une mise à l’échelle de vos ressources de réplica. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## erreurs de réplication Db2
<a name="db2-troubleshooting-replicas-triggers"></a>

La réplication Db2 peut présenter un état d’erreur pour un certain nombre de raisons. Effectuez les opérations suivantes :
+ Surveillez les événements et l’état de l’instance de base de données pour vous assurer que l’instance de base de données est en train de se répliquer. 

  Pour plus d’informations, consultez [Utiliser la notification d'événements d'Amazon RDS](USER_Events.md).
+ Consultez les journaux de diagnostic du réplica Db2 dans la console Amazon RDS. Dans les journaux, recherchez les erreurs dans les messages HADR. Comparez le numéro de séquence du journal au numéro de séquence principal. 

  Pour plus d’informations sur l’accès et l’interprétation des journaux de diagnostic Db2, consultez [Fichiers journaux de base de données Amazon RDS for Db2](USER_LogAccess.Concepts.Db2.md). Pour plus d’informations sur la configuration et le dépannage de Db2 HADR, consultez [Utilisation de réplicas pour Amazon RDS for Db2](db2-replication.md). 

Si les erreurs de réplication persistent, il se peut que vous deviez recréer le réplica. 

## Problèmes de connexion
<a name="db2-troubleshooting-replicas-connections"></a>

Si vous ne parvenez pas à vous connecter à votre réplica, consultez les informations suivantes concernant les modes réplica :
+ **Réplica de secours** : ils n’acceptent pas les connexions utilisateur par conception. Utilisez des réplicas en lecture seule pour les charges de travail en lecture.
+ **Répliques en lecture seule** : vérifiez les paramètres de votre groupe de sécurité, de votre réseau ACLs et de vos groupes de paramètres. 

  Pour plus d’informations, consultez [Contrôle du trafic vers vos ressources AWS à l’aide de groupes de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) dans le *Guide de l’utilisateur Amazon VPC*, [Contrôle du trafic des sous-réseaux avec des listes de contrôle d’accès réseau](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) dans le *Guide de l’utilisateur Amazon VPC*, et [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

## Problèmes de performance
<a name="db2-troubleshooting-replicas-performance"></a>

Si les performances du réplica sont médiocres, passez en revue les suggestions suivantes :
+ Assurez-vous que le réplica dispose de ressources de calcul et de stockage adéquates. 
+ Surveillez la `ReplicaLag` métrique sur Amazon CloudWatch. 
+ Envisagez d’augmenter verticalement la classe d’instance de base de données de réplica. 

Pour plus d’informations sur la modification de ressources et de classes d’instance, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

Pour plus d’informations sur la surveillance du retard de réplica, consultez [Surveillance du retard de réplication](USER_ReadRepl.Monitoring.md#USER_ReadRepl.Monitoring.Lag) et [CloudWatch Métriques Amazon pour Amazon RDS](rds-metrics.md). Pour plus d'informations sur la configuration d' CloudWatch alarmes en cas de retard de réplication, consultez[Surveillance des métriques Amazon RDS () avec Amazon CloudWatch](monitoring-cloudwatch.md). 

# Options pour les instances de base de données Amazon RDS for Db2
<a name="Db2.Options"></a>

La section suivante décrit les options ou fonctionnalités supplémentaires, disponibles pour les instances Amazon RDS exécutant le moteur de base de données Db2. Pour activer ces options, vous pouvez les ajouter à un groupe d’options personnalisé, puis associer ce dernier à votre instance de base de données. Pour plus d’informations sur l’utilisation de groupes d’options, consultez [Utilisation de groupes d’options](USER_WorkingWithOptionGroups.md).

Amazon RDS prend en charge les options suivantes pour Db2 :


| Option | ID d’option | 
| --- | --- | 
|  [Journalisation des audits Db2](Db2.Options.Audit.md)  |  `DB2_AUDIT`  | 

# Journalisation des audits Db2
<a name="Db2.Options.Audit"></a>

Avec la journalisation des audits Db2, Amazon RDS enregistre l’activité de la base de données, y compris la connexion des utilisateurs à la base de données et les requêtes exécutées sur la base de données. RDS télécharge les journaux d'audit complets dans votre compartiment Amazon S3, en utilisant le rôle Gestion des identités et des accès AWS (IAM) que vous fournissez.

**Topics**
+ [Configuration de la journalisation des audits Db2](#db2-audit-setting-up)
+ [Gestion de la journalisation des audits Db2](#db2-audit-managing)
+ [Consultation des journaux d’audit](#db2-audit-viewing-logs)
+ [Résolution des problèmes de journalisation des audits Db2](#db2-audit-troubleshooting)

## Configuration de la journalisation des audits Db2
<a name="db2-audit-setting-up"></a>

Pour activer la journalisation des audits pour une base de données Amazon RDS for Db2, vous devez activer l’option `DB2_AUDIT` sur l’instance de base de données RDS for Db2. Configurez ensuite une politique d’audit pour activer la fonctionnalité pour la base de données spécifique. Pour activer l’option sur l’instance de base de données RDS for Db2, vous devez configurer les paramètres de l’option `DB2_AUDIT`. Pour ce faire, vous devez fournir les noms de ressources Amazon (ARNs) pour votre compartiment Amazon S3 et le rôle IAM avec les autorisations d'accès à votre compartiment.

Pour configurer la journalisation des audits Db2 pour une base de données RDS for Db2, procédez comme suit.

**Topics**
+ [Étape 1 : Créer un compartiment Amazon S3](#db2-audit-create-s3-bucket)
+ [Étape 2 : création d’une politique IAM](#db2-audit-create-iam-policy)
+ [Étape 3 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-audit-create-iam-role)
+ [Étape 4 : configuration d’un groupe d’options pour la journalisation des audits Db2](#db2-audit-configure-options-group)
+ [Étape 5 : configuration de la politique d’audit](#db2-audit-configure-audit-policy)
+ [Étape 6 : vérification de la configuration de l’audit](#db2-audit-check-config-status)

### Étape 1 : Créer un compartiment Amazon S3
<a name="db2-audit-create-s3-bucket"></a>

Si vous ne l’avez pas déjà fait, créez un compartiment Amazon S3 dans lequel Amazon RDS peut charger les fichiers journaux des audits de la base de données RDS for Db2. Les restrictions suivantes s’appliquent au compartiment S3 que vous utilisez comme cible pour vos fichiers d’audit :
+ Il doit se trouver dans le même emplacement Région AWS que votre instance de base de données RDS pour DB2.
+ Il ne doit pas être ouvert au public.
+ Le propriétaire du compartiment doit également être le propriétaire du rôle IAM.

Pour savoir comment créer un compartiment Amazon S3, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur Amazon S3*.

Une fois que vous avez activé la journalisation des audits, Amazon RDS envoie automatiquement les journaux depuis votre instance de base de données vers les emplacements suivants :
+ Journaux au niveau des instances de base de données : `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/`
+ Journaux au niveau de la base de données : `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/`

Notez l’Amazon Resource Name (ARN) de votre compartiment. Ces informations sont nécessaires pour compléter les étapes suivantes.

### Étape 2 : création d’une politique IAM
<a name="db2-audit-create-iam-policy"></a>

Créez une politique IAM avec les autorisations requises pour transférer des fichiers journaux depuis votre instance de base de données vers votre compartiment Amazon S3. Cette étape suppose également que vous avez déjà créé un compartiment S3.

Avant de créer la politique, rassemblez les informations suivantes :
+ L’ARN de votre compartiment.
+ L'ARN de votre clé AWS Key Management Service (AWS KMS), si votre compartiment utilise SSE-KMS le chiffrement.

Créez une politique IAM qui inclut les autorisation suivantes :

```
"s3:ListBucket",
 "s3:GetBucketAcl",
 "s3:GetBucketLocation",
 "s3:PutObject",
 "s3:ListMultipartUploadParts",
 "s3:AbortMultipartUpload",
 "s3:ListAllMyBuckets"
```

**Note**  
Amazon RDS a besoin d'une `s3:ListAllMyBuckets` action interne pour vérifier qu'il Compte AWS est propriétaire à la fois du compartiment S3 et de l'instance de base de données RDS pour DB2.

Si votre compartiment utilise SSE-KMS le chiffrement, incluez également les autorisations suivantes pour votre rôle et votre AWS KMS clé IAM.

Ajoutez les autorisations suivantes à la politique de votre rôle IAM.

```
"kms:GenerateDataKey",
 "kms:Decrypt"
```

Incluez les autorisations suivantes dans la politique de clé pour votre AWS KMS clé. *111122223333*Remplacez-le par votre numéro de compte et *AROA123456789EXAMPLE* par le nom de votre rôle IAM.

```
{
  "Sid": "Allow RDS role to use the key",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:sts::111122223333:assumed-role/AROA123456789EXAMPLE/RDS-Db2Audit",
      "arn:aws:iam::111122223333:role/AROA123456789EXAMPLE"
    ]
  },
  "Action": [
    "kms:GenerateDataKey",
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

Vous pouvez créer une politique IAM en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI).

#### Console
<a name="db2-audit-create-iam-policy-console"></a>

**Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**, puis choisissez **JSON**.

1. Dans **Ajouter des actions**, filtrez par **S3**. Ajoutez l'accès **ListBucket**GetBucketAcl****, et **GetBucketLocation**.

1. Pour **Ajouter une ressource**, choisissez **Ajouter**. Pour **Type de ressource**, choisissez **compartiment**, puis entrez le nom de votre compartiment. Choisissez ensuite **Ajouter une ressource**.

1. Choisissez **Ajouter une nouvelle instruction**.

1. Dans **Ajouter des actions**, filtrez par **S3**. Ajoutez l'accès **PutObject**ListMultipartUploadParts****, et **AbortMultipartUpload**.

1. Pour **Ajouter une ressource**, choisissez **Ajouter**. Pour **Type de ressource**, choisissez **un objet**, puis entrez*your bucket name/\$1*. Choisissez ensuite **Ajouter une ressource**.

1. Choisissez **Ajouter une nouvelle instruction**.

1. Dans **Ajouter des actions**, filtrez par **S3**. Ajoutez un accès **ListAllMyBuckets**.

1. Pour **Ajouter une ressource**, choisissez **Ajouter**. Pour **Type de ressource**, sélectionnez **Toutes les ressources**. Choisissez ensuite **Ajouter une ressource**.

1. Si vous utilisez vos propres clés KMS pour chiffrer les données :

   1. Choisissez **Ajouter une nouvelle instruction**.

   1. Dans **Ajouter des actions**, filtrez par KMS. Ajoutez l'accès **GenerateDataKey**et **déchiffrez.**

   1. Pour **Ajouter une ressource**, choisissez **Ajouter**. Pour **Type de ressource**, sélectionnez **Toutes les ressources**. Choisissez ensuite **Ajouter une ressource**.

1. Choisissez **Suivant**.

1. Pour **Nom de la politique**, attribuez un nom à cette politique.

1. (Facultatif) Pour **Description**, saisissez une description pour cette stratégie.

1. Choisissez **Create Policy** (Créer une politique).

#### AWS CLI
<a name="db2-audit-create-iam-policy-cli"></a>

**Pour créer une politique IAM afin d’autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1name* et *amzn-s3-demo-bucket* par le nom de votre politique IAM et le nom de votre compartiment Amazon S3 cible.

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-policy \
       --policy-name iam_policy_name \
       --policy-document '{
           "Version": "2012-10-17",		 	 	 
           "Statement": [
               {
                   "Sid": "Statement1",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListBucket",
                       "s3:GetBucketAcl",
                       "s3:GetBucketLocation"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket"
                   ]
               },
               {
                   "Sid": "Statement2",
                   "Effect": "Allow",
                   "Action": [
                       "s3:PutObject",
                       "s3:ListMultipartUploadParts",
                       "s3:AbortMultipartUpload"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket/*"
                   ]
               },
               {
                   "Sid": "Statement3",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListAllMyBuckets"
                   ],
                   "Resource": [
                       "*"
                   ]
               },
               {
                   "Sid": "Statement4",
                   "Effect": "Allow",
                   "Action": [
                       "kms:GenerateDataKey",
                       "kms:Decrypt"
                   ],
                   "Resource": [
                       "*"
                   ]
               }
           ]
     }'
   ```

   Pour Windows :

   ```
   aws iam create-policy ^
       --policy-name iam_policy_name ^
       --policy-document '{
           "Version": "2012-10-17",		 	 	 
           "Statement": [
               {
                   "Sid": "Statement1",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListBucket",
                       "s3:GetBucketAcl",
                       "s3:GetBucketLocation"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket"
                   ]
               },
               {
                   "Sid": "Statement2",
                   "Effect": "Allow",
                   "Action": [
                       "s3:PutObject",
                       "s3:ListMultipartUploadParts",
                       "s3:AbortMultipartUpload"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket/*"
                   ]
               },
               {
                   "Sid": "Statement3",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListAllMyBuckets"
                   ],
                   "Resource": [
                       "*"
                   ]
               },
               {
                   "Sid": "Statement4",
                   "Effect": "Allow",
                   "Action": [
                       "kms:GenerateDataKey",
                       "kms:Decrypt"
                   ],
                   "Resource": [
                       "*"
                   ]
               }
           ]
     }'
   ```

1. Après avoir créé la politique, notez son ARN. Vous en aurez besoin pour [Étape 3 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-audit-create-iam-role).

Pour plus d’informations sur la création d’une politique IAM, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le Guide de l’utilisateur IAM.

### Étape 3 : création d’un rôle IAM et ajoute de votre politique IAM
<a name="db2-audit-create-iam-role"></a>

Cette étape suppose que vous avez créé la politique IAM dans [Étape 2 : création d’une politique IAM](#db2-audit-create-iam-policy). Au cours de cette étape, vous créez un rôle IAM pour votre instance de base de données RDS for Db2, puis attachez votre politique IAM au rôle.

Vous pouvez créer un rôle IAM pour votre instance de base de données en utilisant la console ou l’ AWS CLI.

#### Console
<a name="db2-audit-create-iam-role-console"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Pour **Type d’entité de confiance**, choisissez **Service AWS**.

1. Pour **Service ou cas d’utilisation**, sélectionnez **RDS**, puis sélectionnez **RDS – Ajouter un rôle à la base de données**.

1. Choisissez **Suivant**.

1. Pour **Politiques d’autorisations**, recherchez et sélectionnez le nom de la politique IAM que vous avez créée.

1. Choisissez **Suivant**.

1. Pour **Role name** (Nom du rôle), saisissez un nom de rôle.

1. (Facultatif) Pour **Description**, saisissez une description pour le nouveau rôle.

1. Choisissez **Créer un rôle**.

#### AWS CLI
<a name="db2-audit-create-iam-role-cli"></a>

**Création d’un rôle IAM et ajout de votre politique IAM**

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html). Dans l'exemple suivant, remplacez-le *iam\$1role\$1name* par le nom de votre rôle IAM.

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-role \
       --role-name iam_role_name \
       --assume-role-policy-document '{
         "Version": "2012-10-17",		 	 	 
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

   Pour Windows :

   ```
   aws iam create-role ^
       --role-name iam_role_name ^
       --assume-role-policy-document '{
         "Version": "2012-10-17",		 	 	 
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

1. Une fois le rôle créé, notez son ARN. Vous avez besoin de cet ARN à la prochaine étape, [Étape 4 : configuration d’un groupe d’options pour la journalisation des audits Db2](#db2-audit-configure-options-group).

1. Exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html). Dans l'exemple suivant, remplacez *iam\$1policy\$1arn* par l'ARN de la politique IAM que vous avez créée dans[Étape 2 : création d’une politique IAM](#db2-audit-create-iam-policy). *iam\$1role\$1name*Remplacez-le par le nom du rôle IAM que vous venez de créer.

   Pour Linux, macOS ou Unix :

   ```
   aws iam attach-role-policy \
      --policy-arn iam_policy_arn \
      --role-name iam_role_name
   ```

   Pour Windows :

   ```
   aws iam attach-role-policy ^
      --policy-arn iam_policy_arn ^
      --role-name iam_role_name
   ```

Pour plus d’informations, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.

### Étape 4 : configuration d’un groupe d’options pour la journalisation des audits Db2
<a name="db2-audit-configure-options-group"></a>

Le processus d’ajout de l’option de journalisation des audits Db2 à une instance de base de données RDS for Db2 est le suivant :

1. Créer un groupe d’options ou copier ou modifier un groupe existant.

1. Ajouter et configurer toutes les options requises.

1. Associez le groupe d’options à l’instance de base de données.

Une fois que vous ajoutez l’option de journalisation des audits Db2, vous n’avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, vous pouvez créer des audits et stocker les journaux d'audit dans votre compartiment S3.

**Ajout et configuration de la journalisation des audits Db2 sur le groupe d’options d’une instance de base de données**

1. Sélectionnez l’une des méthodes suivantes :
   + Utiliser un groupe d'options existant.
   + Créez un groupe d’options de base de données personnalisé et utilisez ce groupe d’options. Pour de plus amples informations, veuillez consulter [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l'option **DB2\$1AUDIT** au groupe d'options et configurez les paramètres de l'option. Pour plus d’informations sur l’ajout d’options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
   + Pour **IAM\$1ROLE\$1ARN**, entrez l’ARN du rôle IAM que vous avez créé dans [Étape 3 : création d’un rôle IAM et ajoute de votre politique IAM](#db2-audit-create-iam-role).
   + Pour **S3\$1BUCKET\$1ARN,** entrez l’ARN du compartiment S3 à utiliser pour vos journaux d’audit Db2. Le compartiment doit être situé dans la même région que votre instance de base de données RDS for Db2. La politique associée au rôle IAM que vous avez saisi doit autoriser les opérations requises sur cette ressource.

1. Appliquez le groupe d’options à une instance de base de données nouvelle ou existante. Choisissez l'une des méthodes suivantes :
   + Si vous créez une nouvelle instance de base de données, appliquez le groupe d'options lorsque vous lancez l'instance.
   + Sur une instance de base de données existante, appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

### Étape 5 : configuration de la politique d’audit
<a name="db2-audit-configure-audit-policy"></a>

Pour configurer la politique d’audit à votre base de données RDS for Db2, connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Appelez ensuite la procédure stockée `rdsadmin.configure_db_audit` avec le nom de base de données de votre base de données et les valeurs de paramètres applicables.

L’exemple suivant se connecte à la base de données et configure une politique d’audit pour `testdb` avec les catégories AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN et VALIDATE. La valeur d’état `BOTH` enregistre les réussites et les échecs, et `ERROR TYPE` est défini sur `NORMAL` par défaut. Pour plus d’informations sur l’utilisation de cette procédure stockée, consultez [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit).

```
db2 "connect to rdsadmin user master_user using master_password"
db2 "call rdsadmin.configure_db_audit('testdb', 'ALL', 'BOTH', ?)"
```

### Étape 6 : vérification de la configuration de l’audit
<a name="db2-audit-check-config-status"></a>

Pour vous assurer que votre politique d’audit est correctement configurée, vérifiez l’état de votre configuration d’audit.

Pour vérifier la configuration, connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Exécutez ensuite l’instruction SQL suivante avec le nom de base de données de votre base de données. Dans l'exemple suivant, le nom de la base de données est*testdb*.

```
db2 "select task_id, task_type, database_name, lifecycle,
    varchar(bson_to_json(task_input_params), 500) as task_params,
    cast(task_output as varchar(500)) as task_output
    from table(rdsadmin.get_task_status(null,'testdb','CONFIGURE_DB_AUDIT'))"
    
Sample Output
 
TASK_ID              TASK_TYPE            DATABASE_NAME       LIFECYCLE
-------------------- -------------------- --------------- -------------
                   2  CONFIGURE_DB_AUDIT            DB2DB       SUCCESS

... continued ...
TASK_PARAMS                                
-------------------------------------------------------- 
{ "AUDIT_CATEGORY" : "ALL", "CATEGORY_SETTING" : "BOTH" }            

... continued ...
                                        TASK_OUTPUT
---------------------------------------------------
2023-12-22T20:27:03.029Z Task execution has started.

2023-12-22T20:27:04.285Z Task execution has completed successfully.
```

## Gestion de la journalisation des audits Db2
<a name="db2-audit-managing"></a>

Après avoir configuré la journalisation des audits Db2, vous pouvez modifier la politique d’audit pour une base de données spécifique ou désactiver la journalisation des audits au niveau de la base de données ou pour l’ensemble de l’instance de base de données. Vous pouvez également modifier le compartiment Amazon S3 dans lequel vos fichiers journaux sont chargés.

**Topics**
+ [Modification d’une politique d’audit Db2](#db2-audit-modifying-policy)
+ [Modification de l’emplacement de vos fichiers journaux](#db2-audit-modifying-location)
+ [Désactivation de la journalisation des audits Db2](#db2-audit-disabling)

### Modification d’une politique d’audit Db2
<a name="db2-audit-modifying-policy"></a>

Pour modifier la politique d’audit d’une base de données RDS for Db2 spécifique, exécutez la procédure stockée `rdsadmin.configure_db_audit`. Avec cette procédure stockée, vous pouvez modifier les catégories, les paramètres des catégories et la configuration du type d’erreur de la politique d’audit. Pour plus d’informations, consultez [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit).

### Modification de l’emplacement de vos fichiers journaux
<a name="db2-audit-modifying-location"></a>

Pour modifier le compartiment Amazon S3 dans lequel vos fichiers journaux sont chargés, effectuez l’une des opérations suivantes :
+ Modifiez le groupe d’options actuel attaché à votre instance de base de données RDS for Db2 : mettez à jour le paramètre `S3_BUCKET_ARN` pour que l’option `DB2_AUDIT` pointe vers le nouveau compartiment. Assurez-vous également de mettre à jour la politique IAM attachée au rôle IAM spécifié par le paramètre `IAM_ROLE_ARN` du groupe d’options attaché. Cette politique IAM doit fournir à votre nouveau compartiment les autorisations d’accès requises. Pour plus d’informations sur les autorisations requises dans la politique IAM, consultez [Créer une politique IAM](#db2-audit-create-iam-policy).
+ Attachez votre instance de base de données RDS for Db2 à un autre groupe d’options : modifiez votre instance de base de données pour changer le groupe d’options qui y est attaché. Assurez-vous que le nouveau groupe d’options est configuré avec les paramètres `S3_BUCKET_ARN` et `IAM_ROLE_ARN` appropriés. Pour plus d’informations sur la configuration de ces paramètres pour l’option `DB2_AUDIT`, consultez [Configuration d’un groupe d’options](#db2-audit-configure-options-group).

Lorsque vous modifiez le groupe d’options, veillez à appliquer immédiatement les modifications. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

### Désactivation de la journalisation des audits Db2
<a name="db2-audit-disabling"></a>

Pour désactiver la journalisation des audits Db2, effectuez l’une des opérations suivantes :
+ Désactiver la journalisation des audits pour l’instance de base de données RDS for Db2 : modifiez votre instance de base de données et supprimez le groupe d’options avec l’option `DB2_AUDIT`. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).
+ Désactiver la journalisation des audits pour une base de données spécifique : arrêtez la journalisation des audits et supprimez la politique d’audit en appelant `rdsadmin.disable_db_audit` avec le nom de votre base de données. Pour plus d’informations, consultez [rdsadmin.disable\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-disable-db-audit).

  ```
  db2 "call rdsadmin.disable_db_audit(
      'db_name',
      ?)"
  ```

## Consultation des journaux d’audit
<a name="db2-audit-viewing-logs"></a>

Après avoir activé la journalisation des audits Db2, attendez au moins une heure avant de consulter les données d’audit dans votre compartiment Amazon S3. Amazon RDS envoie automatiquement les journaux de votre instance de base de données RDS for Db2 aux emplacements suivants :
+ Journaux au niveau des instances de base de données : `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/`
+ Journaux au niveau de la base de données : `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/`

L’exemple de capture d’écran suivant de la console Amazon S3 montre une liste de dossiers pour les fichiers journaux au niveau de l’instance de base de données RDS for Db2.

![\[Console Amazon S3 avec onglet Objets sélectionné, affichant une liste de dossiers pour les fichiers journaux au niveau de l’instance de base de données RDS for Db2.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-instance-level-audit-logs.png)


L’exemple de capture d’écran suivant de la console Amazon S3 montre une liste de fichiers journaux au niveau de la base de données pour l’instance de base de données RDS for Db2.

![\[Console Amazon S3 avec onglet Objets sélectionné, affichant une liste de fichiers journaux au niveau de la base de données pour l’instance de base de données RDS for Db2.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/db2-database-level-audit-logs.png)


## Résolution des problèmes de journalisation des audits Db2
<a name="db2-audit-troubleshooting"></a>

Utilisez les informations suivantes pour résoudre les problèmes courants rencontrés avec la journalisation des audits Db2.

### Configuration de la politique d’audit impossible
<a name="db2-audit-troubleshooting-policy-config"></a>

Si l’appel de la procédure stockée `rdsadmin.configure_db_audit` renvoie une erreur, il se peut que le groupe d’options contenant l’option `DB2_AUDIT` ne soit pas associé à l’instance de base de données RDS for Db2. Modifiez l’instance de base de données pour ajouter le groupe d’options, puis essayez de rappeler la procédure stockée. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

### Aucune donnée dans le compartiment Amazon S3
<a name="db2-audit-troubleshooting-missing-data"></a>

Si des données de journalisation ne se trouvent pas dans le compartiment Amazon S3, vérifiez les points suivants :
+ Le compartiment Amazon S3 doit être situé dans la même région que votre instance de base de données RDS for Db2.
+ Le rôle que vous avez spécifié dans le paramètre d’option `IAM_ROLE_ARN` est configuré avec les autorisations requises pour télécharger des journaux dans votre compartiment Amazon S3. Pour de plus amples informations, veuillez consulter [Créer une politique IAM](#db2-audit-create-iam-policy).
+ Les paramètres ARNs pour `IAM_ROLE_ARN` et `S3_BUCKET_ARN` option sont corrects dans le groupe d'options associé à votre instance de base de données RDS pour DB2. Pour de plus amples informations, veuillez consulter [Configuration d’un groupe d’options](#db2-audit-configure-options-group).

Vous pouvez vérifier l’état des tâches dans votre configuration de journalisation des audits en vous connectant à la base de données et en exécutant une instruction SQL. Pour plus d’informations, consultez [Vérification de la configuration de l’audit](#db2-audit-check-config-status).

Vous pouvez également consulter les événements pour en savoir plus sur les raisons de l’absence de journaux. Pour plus d’informations sur l’affichage des événements, consultez [Affichage des journaux, des événements et des flux dans la console Amazon RDS](logs-events-streams-console.md).

# Procédures stockées externes pour Amazon RDS for Db2
<a name="db2-external-stored-procedures"></a>

Vous pouvez créer des routines externes et les enregistrer dans vos bases de données Amazon RDS for Db2 en tant que procédures stockées externes. Actuellement, RDS for Db2 ne prend en charge que les routines basées sur Java pour les procédures stockées externes.

## Procédures stockées externes basées sur Java
<a name="db2-external-stored-procedures-java"></a>

Les procédures stockées externes basées sur Java sont des routines Java externes que vous enregistrez dans votre base de données RDS for Db2 en tant que procédures stockées externes.

**Topics**
+ [Limites pour les procédures stockées externes basées sur Java](#db2-external-stored-procedures-java-limitations)
+ [Configuration des procédures stockées externes basées sur Java](#db2-external-stored-procedures-java-configuring)

### Limites pour les procédures stockées externes basées sur Java
<a name="db2-external-stored-procedures-java-limitations"></a>

Avant de développer votre routine externe, tenez compte des limites et restrictions suivantes.

Pour créer votre routine externe, assurez-vous d’utiliser le kit de développement Java (JDK) fourni par Db2. Pour plus d’informations, consultez [Support logiciel Java pour les produits de base de données Db2.](https://www.ibm.com/docs/en/db2/11.5?topic=servers-java-software-support-db2-database-products).

Votre programme Java peut créer des fichiers uniquement dans le répertoire `/tmp` et Amazon RDS ne prend pas en charge l’activation des autorisations d’exécution ou de définition d’un identifiant utilisateur (SUID) sur ces fichiers. Votre programme Java ne peut pas non plus utiliser les appels système socket ou les appels système suivants :
+ \$1sysctl
+ acct
+ afs\$1syscall
+ bpf
+ capset
+ chown
+ chroot
+ create\$1module
+ delete\$1module
+ fanotify\$1init
+ fanotify\$1mark
+ finit\$1module
+ fsconfig
+ fsopen
+ fspick
+ get\$1kernel\$1syms
+ getpmsg
+ init\$1module
+ mount
+ move\$1mount
+ nfsservctl
+ open\$1by\$1handle\$1at
+ open\$1tree
+ pivot\$1root
+ putpmsg
+ query\$1module
+ quotactl
+ reboot
+ security
+ setdomainname
+ setfsuid
+ sethostname
+ sysfs
+ tuxcall
+ umount2
+ uselib
+ ustat
+ vhangup
+ vserver

Pour des restrictions supplémentaires sur les routines externes pour Db2, consultez [Restrictions sur les routines externes](https://www.ibm.com/docs/en/db2/11.5?topic=routines-restrictions-external) dans la documentation IBM Db2.

### Configuration des procédures stockées externes basées sur Java
<a name="db2-external-stored-procedures-java-configuring"></a>

Pour configurer une procédure stockée externe, créez un fichier .jar avec votre routine externe, installez-le sur votre base de données RDS for Db2, puis enregistrez-le en tant que procédure stockée externe.

**Topics**
+ [Étape 1 : activation des procédures stockées externes](#db2-external-stored-procedures-java-enable)
+ [Étape 2 : installation du fichier .jar avec votre routine externe](#db2-external-stored-procedures-java-install-jar)
+ [Étape 3 : enregistrement de la procédure stockée externe](#db2-external-stored-procedures-java-register)
+ [Étape 4 : validation de la procédure stockée externe](#db2-external-stored-procedures-java-validate)

#### Étape 1 : activation des procédures stockées externes
<a name="db2-external-stored-procedures-java-enable"></a>

Pour activer des procédures stockées externes, dans un groupe de paramètres personnalisés associé à votre instance de base de données, définissez le paramètre `db2_alternate_authz_behaviour` sur l’une des valeurs suivantes :
+ `EXTERNAL_ROUTINE_DBADM` : accorde implicitement à tout utilisateur, groupe ou rôle ayant l’autorité `DBADM` l’autorisation `CREATE_EXTERNAL_ROUTINE`.
+ `EXTERNAL_ROUTINE_DBAUTH` : permet à un utilisateur ayant l’autorité `DBADM` d’accorder des autorisations `CREATE_EXTERNAL_ROUTINE` à tout utilisateur, groupe ou rôle. Dans ce cas, aucun utilisateur, groupe ou rôle ne reçoit implicitement cette autorisation, pas même un utilisateur ayant l’autorité `DBADM`.

Pour plus d’informations sur ce paramètre, consultez l’[instruction GRANT (autorités de base de données)](https://www.ibm.com/docs/en/db2/11.5?topic=statements-grant-database-authorities) dans la documentation IBM Db2.

Vous pouvez créer et modifier un groupe de paramètres personnalisés à l’aide de la AWS Management Console, de l’ AWS CLI ou de l’API Amazon RDS.

##### Console
<a name="db2-external-stored-procedures-java-enable-console"></a>

**Configuration du paramètre db2\$1alternate\$1authz\$1behaviour dans un groupe de paramètres personnalisé**

1. Si vous souhaitez utiliser un groupe de paramètres de base de données personnalisé différent de celui que votre instance de base de données utilise, créez un nouveau groupe de paramètres de base de données. Si vous utilisez le modèle BYOL (Bring your own license), assurez-vous que le nouveau groupe de paramètres personnalisés inclut le IBM IDs. Pour plus d'informations à ce sujet IDs, consultez[IBM IDs pour apporter votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-prereqs-ibm-info). Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Définissez la valeur du paramètre `db2_alternate_authz_behaviour` dans votre groupe de paramètres personnalisés. Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

##### AWS CLI
<a name="db2-external-stored-procedures-java-enable-cli"></a>

**Configuration du paramètre db2\$1alternate\$1authz\$1behaviour dans un groupe de paramètres personnalisé**

1. Si vous souhaitez utiliser un groupe de paramètres de base de données personnalisé différent de celui que votre instance de base de données utilise, créez un groupe de paramètres personnalisés en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). Si vous utilisez le modèle BYOL (Bring your own license), assurez-vous que le nouveau groupe de paramètres personnalisés inclut le IBM IDs. Pour plus d'informations à ce sujet IDs, consultez[IBM IDs pour apporter votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-prereqs-ibm-info).

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous créez.
   + `--db-parameter-group-family` : édition et version majeure du moteur Db2. Les valeurs valides sont `db2-se-11.5` et `db2-ae-11.5`. 
   + `--description` : description de ce groupe de paramètres.

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

   L’exemple suivant montre comment créer un groupe de paramètres personnalisés nommé `MY_EXT_SP_PARAM_GROUP` pour la famille de groupes de paramètres `db2-se-11.5`.

   Pour Linux, macOS ou Unix :

   ```
   aws rds create-db-parameter-group \
   --region us-east-1 \
   --db-parameter-group-name MY_EXT_SP_PARAM_GROUP \
   --db-parameter-group-family db2-se-11.5 \ 
   --description "test db2 external routines"
   ```

   Pour Windows :

   ```
   aws rds create-db-parameter-group ^
   --region us-east-1 ^
   --db-parameter-group-name MY_EXT_SP_PARAM_GROUP ^
   --db-parameter-group-family db2-se-11.5 ^ 
   --description "test db2 external routines"
   ```

1. Modifiez le paramètre `db2_alternate_authz_behaviour` dans votre groupe de paramètres personnalisés en exécutant la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclure les options requises suivantes :
   + `--db-parameter-group-name` : nom du groupe de paramètres que vous avez créé.
   + `--parameters` : tableau des noms de paramètres, des valeurs et méthode d’application pour la mise à jour des paramètres.

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

   L’exemple suivant montre comment modifier le groupe de paramètres `MY_EXT_SP_PARAM_GROUP` en définissant la valeur de `db2_alternate_authz_behaviour` sur `EXTERNAL_ROUTINE_DBADM`.

   Pour Linux, macOS ou Unix :

   ```
   aws rds modify-db-parameter-group \
       --db-parameter-group-name MY_EXT_SP_PARAM_GROUP \
       --parameters "ParameterName='db2_alternate_authz_behaviour',ParameterValue='EXTERNAL_ROUTINE_DBADM',ApplyMethod=immediate"
   ```

   Pour Windows :

   ```
   aws rds modify-db-parameter-group ^
       --db-parameter-group-name MY_EXT_SP_PARAM_GROUP ^
       --parameters "ParameterName='db2_alternate_authz_behaviour',ParameterValue='EXTERNAL_ROUTINE_DBADM',ApplyMethod=immediate"
   ```

##### API RDS
<a name="db2-external-stored-procedures-java-enable-api"></a>

**Configuration du paramètre db2\$1alternate\$1authz\$1behaviour dans un groupe de paramètres personnalisé**

1. Si vous souhaitez utiliser un groupe de paramètres de base de données personnalisé différent de celui que votre instance de base de données utilise, créez un nouveau groupe de paramètres de base de données à l’aide de l’opération Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html). Si vous utilisez le modèle BYOL (Bring your own license), assurez-vous que le nouveau groupe de paramètres personnalisés inclut le IBM Db2 IDs. Pour plus d'informations à ce sujet IDs, consultez[IBM IDs pour apporter votre propre licence (BYOL) pour Db2](db2-licensing.md#db2-prereqs-ibm-info).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Pour plus d’informations sur la création d’un groupe de paramètres de base de données, consultez [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifiez le paramètre `db2_alternate_authz_behaviour` dans votre groupe de paramètres personnalisés que vous avez créé à l’aide de l’opération RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html).

   Incluez les paramètres requis suivants :
   + `DBParameterGroupName`
   + `Parameters`

   Pour plus d’informations sur la modification d’un groupe de paramètres, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### Étape 2 : installation du fichier .jar avec votre routine externe
<a name="db2-external-stored-procedures-java-install-jar"></a>

Après avoir créé votre routine Java, créez le fichier .jar, puis exécutez `db2 "call sqlj.install_jar('file:file_path',jar_ID)"` pour l’installer sur votre base de données RDS for Db2.

L’exemple suivant montre comment créer une routine Java et l’installer sur une base de données RDS for Db2. L’exemple comprend un exemple de code pour une routine simple que vous pouvez utiliser pour tester le processus. Cet exemple repose sur les hypothèses suivantes :
+ Le code Java est compilé sur un serveur sur lequel Db2 est installé. Il s’agit d’une bonne pratique, car le fait de ne pas compiler avec le JDK fourni par IBM peut entraîner des erreurs inexpliquées.
+ Le serveur dispose de la base de données RDS for Db2 cataloguée localement.

Si vous souhaitez essayer le processus avec l’exemple de code suivant, copiez-le et enregistrez-le dans un fichier nommé `MYJAVASP.java`.

```
import java.sql.*;
public class MYJAVASP
{
public static void my_JAVASP (String inparam) throws SQLException, Exception
{
try
{
// Obtain the calling context's connection details.
Connection myConn = DriverManager.getConnection("jdbc:default:connection");
String myQuery = "INSERT INTO TEST.TEST_TABLE VALUES (?, CURRENT DATE)";
PreparedStatement myStmt = myConn.prepareStatement(myQuery);
myStmt.setString(1, inparam);
myStmt.executeUpdate();
}
catch (SQLException sql_ex)
{
throw sql_ex;
}
catch (Exception ex)
{
throw ex;
}
}
```

La commande suivante compile la routine Java.

```
~/sqllib/java/jdk64/bin/javac MYJAVASP.java
```

La commande suivante crée un fichier .jar.

```
~/sqllib/java/jdk64/bin/jar cvf MYJAVASP.jar MYJAVASP.class
```

Les commandes suivantes se connectent à la base de données nommée `MY_DB2_DATABASE` et installent le fichier .jar.

```
db2 "connect to MY_DB2_DATABASE user master_username using master_password" 

db2 "call sqlj.install_jar('file:/tmp/MYJAVASP.jar','MYJAVASP')"
db2 "call sqlj.refresh_classes()"
```

#### Étape 3 : enregistrement de la procédure stockée externe
<a name="db2-external-stored-procedures-java-register"></a>

Après avoir installé le fichier .jar sur votre base de données RDS for Db2, enregistrez-le en tant que procédure stockée en exécutant la commande `db2 CREATE PROCEDURE` ou `db2 REPLACE PROCEDURE`.

L’exemple suivant montre comment se connecter à la base de données et enregistrer la routine Java créée à l’étape précédente en tant que procédure stockée.

```
db2 "connect to MY_DB2_DATABASE user master_username using master_password"

create procedure TESTSP.MYJAVASP (in input char(6))
specific myjavasp
dynamic result sets 0
deterministic
language java
parameter style java
no dbinfo
fenced
threadsafe
modifies sql data
program type sub
external name 'MYJAVASP!my_JAVASP';
```

#### Étape 4 : validation de la procédure stockée externe
<a name="db2-external-stored-procedures-java-validate"></a>

Procédez comme suit pour tester l’exemple de procédure stockée externe enregistré à l’étape précédente.

**Pour valider la procédure stockée externe**

1. Créez une table comme `TEST.TEST_TABLE` dans l’exemple suivant.

   ```
   db2 "create table TEST.TEST_TABLE(C1 char(6), C2 date)"
   ```

1. Appelez la nouvelle procédure stockée externe. L’appel renvoie un statut de `0`.

   ```
   db2 "call TESTSP.MYJAVASP('test')"
   Return Status = 0
   ```

1. Interrogez la table que vous avez créée à l’étape 1 pour vérifier les résultats de l’appel de procédure stockée.

   ```
   db2 "SELECT * from TEST.TEST_TABLE"
   ```

   La requête produit un résultat similaire à l’exemple suivant :

   ```
   C1     C2
   ------ ----------
   test   02/05/2024
   ```

# Limites et problèmes connus pour Amazon RDS for Db2
<a name="db2-known-issues-limitations"></a>

Les éléments suivants sont les limites et les problèmes connus liés à l’utilisation d’Amazon RDS for Db2 :

**Topics**
+ [Limite d’authentification](#db2-known-issues-limitations-authentication-limit)
+ [Routines non clôturées](#db2-known-issues-limitations-non-fenced-routines)
+ [Tablespaces de stockage non automatiques pendant la migration](#db2-known-issues-limitations-non-automatic-storage-tablespaces)
+ [Définition du paramètre db2\$1compatibility\$1vector](#db2-known-issues-limitations-db2-compatibility-vector)
+ [Migration de bases de données contenant des packages INVALIDES](#db2-known-issues-limitations-invalid-packages-migrating)

## Limite d’authentification
<a name="db2-known-issues-limitations-authentication-limit"></a>

Amazon RDS est défini `db2auth` sur `JCC_ENFORCE_SECMEC` par défaut. Toutefois, si vous ne souhaitez pas appliquer le chiffrement de l’identifiant utilisateur et du mot de passe par câble, vous pouvez annuler ce paramètre en le remplaçant le paramètre `db2auth` par `CLEAR_TEXT` dans le groupe de paramètres. Pour plus d’informations, consultez [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

## Routines non clôturées
<a name="db2-known-issues-limitations-non-fenced-routines"></a>

RDS for Db2 ne prend pas en charge la création de routines non clôturées ni la migration de ces routines en sauvegardant et en restaurant des données. Pour vérifier si votre base de données contient des routines non clôturées, exécutez la commande SQL suivante :

```
SELECT 'COUNT:' || count(*) FROM SYSCAT.ROUTINES where fenced='N' and routineschema not in ('SQLJ','SYSCAT','SYSFUN','SYSIBM','SYSIBMADM','SYSPROC','SYSTOOLS')
```

## Tablespaces de stockage non automatiques pendant la migration
<a name="db2-known-issues-limitations-non-automatic-storage-tablespaces"></a>

RDS for Db2 ne prend pas en charge la création de nouveaux tablespaces de stockage non automatiques. Lorsque vous utilisez la restauration native pour une migration unique de votre base de données, RDS for Db2 convertit automatiquement vos tablespaces de stockage non automatiques en espaces automatiques, puis restaure votre base de données sur RDS for Db2. Pour plus d’informations sur les migrations ponctuelles, consultez [Migration depuis Linux vers Linux pour Amazon RDS for Db2](db2-one-time-migration-linux.md) et [Migration depuis AIX ou Windows vers Linux pour Amazon RDS for Db2](db2-one-time-migration-aix-windows-linux.md).

## Définition du paramètre db2\$1compatibility\$1vector
<a name="db2-known-issues-limitations-db2-compatibility-vector"></a>

Avec Amazon RDS, vous pouvez créer une base de données initiale lorsque vous créez l’instance de base de données, puis modifier les paramètres dans un groupe de paramètres associé. Toutefois, pour Db2, si vous souhaitez définir le paramètre `db2_compatibility_vector` dans un groupe de paramètres, vous devez d’abord modifier le paramètre dans un groupe de paramètres personnalisé, créer l’instance de base de données sans base de données, puis créer une base de données à l’aide de la procédure stockée `rdsadmin.create_database`.

**Définition du paramètre `db2_compatibility_vector`**

1. [Créez un groupe de paramètres personnalisés](USER_WorkingWithParamGroups.Creating.md). (Vous ne pouvez pas modifier les paramètres par défaut d’un groupe de paramètres.)

1. [Modifiez le paramètre](USER_WorkingWithParamGroups.Modifying.md).

1. [Créez une instance de base de données](USER_CreateDBInstance.md).

1. [Créez une base de données](db2-managing-databases.md#db2-creating-database) à l’aide de la procédure stockée `rdsadmin.create_database`.

1. [Associez le groupe de paramètres](USER_WorkingWithParamGroups.Associating.md) à l’instance de base de données qui contient la base de données. 

## Migration de bases de données contenant des packages INVALIDES
<a name="db2-known-issues-limitations-invalid-packages-migrating"></a>

Si vous migrez des bases de données Db2 contenant des packages `INVALID` vers RDS for Db2 à l’aide de la commande `RESTORE`, vous risquez de rencontrer des problèmes lorsque vous commencerez à utiliser les bases de données. Les packages `INVALID` peuvent entraîner des problèmes en raison de la configuration des autorisations pour l’utilisateur de l’instance de base de données `rdsdb` et de la suppression de l’autorisation de `PUBLIC`. Les packages `INVALID` entraînent l’échec des commandes suivantes :
+ `db2updv115`
+ `db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"`

Avant de migrer votre base de données à l’aide de la commande `RESTORE`, assurez-vous qu’elle ne contient pas de packages `INVALID` en exécutant la commande suivante :

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

Si la commande renvoie un nombre supérieur à zéro, appelez la commande suivante :

```
db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"
```

Appelez ensuite la commande précédente pour confirmer que votre base de données ne contient plus de packages `INVALID`.

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

Vous êtes maintenant prêt à effectuer une sauvegarde de votre base de données et à la restaurer sur votre instance de base de données RDS for Db2.

# Référence des procédures stockées Amazon RDS for Db2
<a name="db2-stored-procedures"></a>

Vous pouvez gérer vos instances de base de données Amazon RDS for Db2 exécutant le moteur Db2 en appelant des procédures stockées intégrées.


| Procédure stockée | Catégorie | Description | 
| --- | --- | --- | 
|  [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.activate_database` pour activer une base de données sur une instance de base de données RDS for Db2 autonome.   | 
|  [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.add_groups` pour ajouter un ou plusieurs groupes à un utilisateur pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.add\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-add-user)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.add_user` pour ajouter un utilisateur à une liste d’autorisations pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.alter\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-alter-buffer-pool)  |  Groupes de mémoires tampons  |  Utilisez la procédure stockée `rdsadmin.alter_bufferpool` pour modifier un groupe de mémoires tampons pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace)  |  Espaces de table  |  Utilisez la procédure stockée `rdsadmin.alter_tablespace` pour modifier un tablespace pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database)  |  Base de données  |  Utilisez la procédure `rdsadmin.backup_database` stockée pour sauvegarder une base de données sur une instance de base de données RDS pour DB2 dans un compartiment Amazon S3. Vous pouvez ensuite restaurer la sauvegarde depuis Amazon S3 vers une instance de base de données RDS pour DB2 ou vers un autre emplacement tel qu'un serveur local.  | 
|  [rdsadmin.catalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-catalog-storage-access)  |  Accès au stockage  |  Utilisez la procédure stockée `rdsadmin.catalog_storage_access` pour cataloguer un alias de stockage permettant d’accéder à un compartiment Amazon S3 contenant des fichiers de données Db2 pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.change\$1password](db2-sp-granting-revoking-privileges.md#db2-sp-change-password)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.change_password` pour modifier un mot de passe d’utilisateur pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.complete_rollforward` pour mettre en ligne une base de données sur une instance de base de données RDS for Db2 à partir d’un état `ROLL-FORWARD PENDING`. Un état `ROLL-FORWARD PENDING` se produit lorsque vous avez appelé [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database), mais que vous avez défini le paramètre `complete_rollforward` sur `FALSE`.  | 
|  [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit)  |  Politiques d’audit  |  Utilisez la procédure stockée `rdsadmin.configure_db_audit` pour modifier une politique d’audit pour une base de données sur une instance de base de données RDS for Db2. S’il n’existe aucune politique d’audit, l’exécution de cette procédure stockée crée une politique d’audit.  | 
|  [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool)  |  Groupes de mémoires tampons  |  Utilisez la procédure stockée `rdsadmin.create_bufferpool` pour créer un groupe de mémoires tampons pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.create_database` pour créer une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.create_role` pour créer un rôle à attacher à une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace)  |  Espaces de table  |  Utilisez la procédure stockée `rdsadmin.create_tablespace` pour créer un tablespace pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.db2pd\$1command](db2-sp-managing-databases.md#db2-sp-db2pd-command)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.db2pd_command` pour collecter des informations sur une base de données sur une instance de base de données RDS for Db2. Ces informations peuvent aider à surveiller et à résoudre les problème liés aux bases de données dans RDS for Db2.  | 
|  [rdsadmin.db2support\$1command](db2-sp-managing-databases.md#db2-sp-db2support-command)  |  Bases de données  |  Utilisez la procédure `rdsadmin.db2support_command` stockée pour collecter des informations de diagnostic sur une base de données sur une instance de base de données RDS pour DB2 et les télécharger dans un compartiment Amazon S3.  | 
|  [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.dbadm_grant` pour accorder un ou plusieurs types d’autorisation (`DBADM`, `ACCESSCTRL` ou `DATAACCESS`) à un ou plusieurs rôles, utilisateurs ou groupes pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.dbadm\$1revoke](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-revoke)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.dbadm_revoke` pour révoquer un ou plusieurs types d’autorisation (`DBADM`, `ACCESSCTRL` ou `DATAACCESS`) à partir d’un ou de plusieurs rôles, utilisateurs ou groupes pour une base de données sur une instance de base de données RDS for Db2.  | 
|   [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.deactivate_database` pour désactiver une base de données sur une instance de base de données RDS for Db2. Vous pouvez désactiver les bases de données pour économiser les ressources de mémoire.  | 
|  [rdsadmin.disable\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-disable-db-audit)  |  Politiques d’audit  |  Utilisez la procédure stockée `rdsadmin.disable_db_audit` pour arrêter la journalisation des audits et supprimer une politique d’audit d’une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool)  |  Groupes de mémoires tampons  |  Utilisez la procédure stockée `rdsadmin.drop_bufferpool` pour supprimer un groupe de mémoires tampons d’une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.drop_database` pour supprimer une base de données d’une instance de base de données RDS for Db2.  | 
|  [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.drop_role` pour supprimer un rôle d’une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace)  |  Espaces de table  |  Utilisez la procédure stockée `rdsadmin.drop_tablespace` pour supprimer un tablespace d’une base de donnée sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.fgac\$1command](db2-sp-managing-databases.md#db2-sp-fgac-command)  |  Bases de données  |  Utilisez la procédure `rdsadmin.fgac_command` stockée pour contrôler l'accès au niveau de la ligne ou de la colonne aux données de table de votre base de données sur une instance de base de données RDS pour DB2.  | 
|  [rdsadmin.force\$1application](db2-sp-managing-databases.md#db2-sp-force-application)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.force_application` pour forcer les application à quitter une base de données sur une instance de base de données RDS for Db2 afin d’effectuer une opération de maintenance.   | 
|  [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.grant_role` pour attribuer un rôle à un rôle, à un utilisateur ou à un groupe bénéficiaire dans une base de données sur une instance de base de données RDS for Db2. Vous pouvez également utiliser cette procédure stockée pour autoriser le rôle bénéficiaire `DBADM` à attribuer des rôles.  | 
|  [rdsadmin.list\$1archive\$1log\$1information](db2-sp-managing-databases.md#db2-sp-list-archive-log-information)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.list_archive_log_information` pour renvoyer des informations sur les journaux d’archivage d’une base de données sur une instance de base de données RDS for Db2. Ces informations incluent des détails tels que la taille et la date de création des fichiers journaux individuels, ainsi que le stockage total utilisé par les fichiers journaux d’archivage.  | 
|  [rdsadmin.list\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-list-sid-group-mapping)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.list_sid_group_mapping` pour renvoyer une liste de tous les mappages d’ID de sécurité (SID) et de groupes Active Directory configurés sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.list\$1users](db2-sp-granting-revoking-privileges.md#db2-sp-list-users)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.list_users` pour renvoyer une liste d’utilisateurs sur une liste d’autorisations pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.reactivate_database` pour réactiver une base de données sur une instance de base de données RDS for Db2 après avoir modifié la configuration de la base de données. Pour une base de données sur une instance de base de données autonome, vous pouvez utiliser cette procédure stockée ou la procédure stockée [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database). Pour une base de données sur une instance de base de données source de réplica, vous devez utiliser la procédure stockée `rdsadmin.reactivate_database`.  | 
|  [rdsadmin.remove\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-remove-groups)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.remove_groups` pour supprimer un ou plusieurs groupes d’un utilisateur pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.remove\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-remove-sid-group-mapping)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.remove_sid_group_mapping` pour supprimer un mappage d’ID de sécurité (SID) et de groupe Active Directory d’une instance de base de données RDS for Db2.  | 
|  [rdsadmin.remove\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-remove-user)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.remove_user` pour supprimer un utilisateur d’une liste d’autorisations pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.rename\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace)  |  Espaces de table  |  Utilisez la procédure stockée `rdsadmin.rename_tablespace` pour renommer un tablespace pour une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.restore_database` pour restaurer une base de données sur une instance de base de données RDS for Db2 à partir d’un compartiment Amazon S3.  | 
|  [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.revoke_role` pour révoquer un rôle d’un rôle, d’un utilisateur ou d’un groupe bénéficiaire dans une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.rollforward_database` pour mettre en ligne une base de données sur une instance de base de données RDS for Db2 et pour appliquer des journaux de transactions après avoir restauré une base de données sur une instance de base de données RDS for Db2 en appelant [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).  | 
|  [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.rollforward_status` pour demander l’état d’avancement de l’appel de [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database) ou la procédure stockée [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward) sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention)  |  Bases de données  |  Utilisez la procédure stockée `rdsadmin.set_archive_log_retention` pour configurer la durée de conservation des fichiers journaux d’archivage pour une base de données sur une instance de base de données RDS for Db2. Vous pouvez également utiliser cette procédure stockée pour désactiver la conservation des journaux d’archivage.  | 
|  [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)  |  Bases de données  |  Utiliser la procédure stockée `rdsadmin.set_configuration` pour configurer certains paramètres d’une base de données sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.set\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-set-sid-group-mapping)  |  Octroi et révocation de privilèges  |  Utilisez la procédure stockée `rdsadmin.set_sid_group_mapping` pour créer un mappage entre un ID de sécurité (SID) et le groupe Active Directory correspondant sur une instance de base de données RDS for Db2.  | 
|  [rdsadmin.show\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-show-archive-log-retention)  |  Bases de données  | Utilisez la procédure stockée rdsadmin.show\$1archive\$1log\$1retention pour renvoyer les paramètres de conservation des fichiers journaux d’archivage actuels pour une base de données sur une instance de base de données RDS for Db2. | 
|  [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration)  |  Bases de données  | Utilisez la procédure stockée rdsadmin.show\$1configuration pour renvoyer un ou plusieurs paramètres modifiables pour une base de données sur une instance de base de données RDS for Db2. | 
|  [rdsadmin.uncatalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-uncatalog-storage-access)  |  Accès au stockage  |  Utilisez la procédure stockée `rdsadmin.uncatalog_storage_access` pour supprimer un alias de stockage permettant d’accéder à un compartiment Amazon S3 contenant des fichiers de données Db2.  | 
|  [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param)  |  Bases de données  | Utilisez la procédure stockée rdsadmin.update\$1db\$1param pour mettre à jour les paramètres de base de données pour une base de données sur une instance de base de données RDS for Db2. | 
|  [rdsadmin.enable\$1archive\$1log\$1copy](db2-sp-managing-databases.md#db2-sp-enable_archive_log_copy)  |  Bases de données  | Utilisez la procédure rdsadmin.enable\$1archive\$1log\$1copy stockée pour activer la copie du journal d'archivage de la base de données RDS Db2 vers Amazon S3. | 
|  [rdsadmin.disable\$1archive\$1log\$1copy](db2-sp-managing-databases.md#db2-sp-disable_archive_log_copy)  |  Bases de données  | Utilisez la procédure rdsadmin.disable\$1archive\$1log\$1copy stockée pour désactiver la copie du journal d'archivage de la base de données RDS Db2 vers Amazon S3. | 

**Topics**
+ [Considérations relatives aux procédures stockées Amazon RDS for Db2](db2-stored-procedures-considerations.md)
+ [Procédures stockées pour l’octroi et la révocation de privilèges pour RDS for Db2](db2-sp-granting-revoking-privileges.md)
+ [Procédures stockées pour les politiques d’audit pour RDS for Db2](db2-sp-managing-audit-policies.md)
+ [Procédures stockées pour les groupes de mémoires tampons pour RDS for Db2](db2-sp-managing-buffer-pools.md)
+ [Procédures stockées pour les bases de données pour RDS for Db2](db2-sp-managing-databases.md)
+ [Procédures stockées pour l’accès au stockage pour RDS for Db2](db2-sp-managing-storage-access.md)
+ [Procédures stockées pour les tablespaces pour RDS for Db2](db2-sp-managing-tablespaces.md)

# Considérations relatives aux procédures stockées Amazon RDS for Db2
<a name="db2-stored-procedures-considerations"></a>

Avant d’utiliser les procédures stockées du système Amazon RDS pour les instances de base de données RDS for Db2 exécutant le moteur Db2, consultez les informations suivantes :
+ Avant d’exécuter les procédures stockées, vous devez d’abord vous connecter à la base de données `rdsadmin` en tant qu’utilisateur principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

  ```
  db2 "connect to rdsadmin user master_username using master_password"
  ```
+ Les procédures stockées renvoient le paramètre `ERR_MESSAGE`, qui indique si la procédure stockée a été correctement exécutée ou non et pourquoi elle n’a pas été exécutée correctement.

  **Exemples**

  L’exemple suivant indique que la procédure stockée a été correctement exécutée.

  ```
  Parameter Name : ERR_MESSAGE
  Parameter Value : -
  Return Status = 0
  ```

  L’exemple suivant indique que la procédure stockée n’a pas été exécutée correctement, car le nom du compartiment Amazon S3 utilisé dans la procédure stockée n’était pas valide.

  ```
  Parameter Name : ERR_MESSAGE
  Parameter Value : Invalid S3 bucket name
  Return Status = -1006
  ```

  Pour les messages d’erreur renvoyés lors de l’appel de procédures stockées, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

Pour plus d’informations sur la vérification du statut d’une procédure stockée, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

# Procédures stockées pour l’octroi et la révocation de privilèges pour RDS for Db2
<a name="db2-sp-granting-revoking-privileges"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent les utilisateurs, les rôles, les groupes et les autorisations pour les bases de données Amazon RDS for Db2. Pour exécuter ces procédures, l’utilisateur principal doit d’abord se connecter à la base de données `rdsadmin`. 

Pour les tâches utilisant ces procédures stockées, consultez [Octroi et révocation de privilèges](db2-granting-revoking-privileges.md) et [Configuration de l’authentification Kerberos](db2-kerberos-setting-up.md). 

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.create\$1role](#db2-sp-create-role)
+ [rdsadmin.grant\$1role](#db2-sp-grant-role)
+ [rdsadmin.revoke\$1role](#db2-sp-revoke-role)
+ [rdsadmin.drop\$1role](#db2-sp-drop-role)
+ [rdsadmin.add\$1user](#db2-sp-add-user)
+ [rdsadmin.change\$1password](#db2-sp-change-password)
+ [rdsadmin.list\$1users](#db2-sp-list-users)
+ [rdsadmin.remove\$1user](#db2-sp-remove-user)
+ [rdsadmin.add\$1groups](#db2-sp-add-groups)
+ [rdsadmin.remove\$1groups](#db2-sp-remove-groups)
+ [rdsadmin.dbadm\$1grant](#db2-sp-dbadm-grant)
+ [rdsadmin.dbadm\$1revoke](#db2-sp-dbadm-revoke)
+ [rdsadmin.set\$1sid\$1group\$1mapping](#db2-sp-set-sid-group-mapping)
+ [rdsadmin.list\$1sid\$1group\$1mapping](#db2-sp-list-sid-group-mapping)
+ [rdsadmin.remove\$1sid\$1group\$1mapping](#db2-sp-remove-sid-group-mapping)

## rdsadmin.create\$1role
<a name="db2-sp-create-role"></a>

Crée un rôle.

### Syntaxe
<a name="db2-sp-create-role-syntax"></a>

```
db2 "call rdsadmin.create_role(
    'database_name',
    'role_name')"
```

### Parameters
<a name="db2-sp-create-role-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`.

*role\$1name*  
Nom du rôle que vous souhaitez créer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-create-role-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de création d’un rôle, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-create-role-examples"></a>

L’exemple suivant crée un rôle appelé `MY_ROLE` pour la base de données `DB2DB`.

```
db2 "call rdsadmin.create_role(
    'DB2DB',
    'MY_ROLE')"
```

## rdsadmin.grant\$1role
<a name="db2-sp-grant-role"></a>

Attribue un rôle à un rôle, à un utilisateur ou à un groupe.

### Syntaxe
<a name="db2-sp-grant-role-syntax"></a>

```
db2 "call rdsadmin.grant_role(
    ?,
    'database_name',
    'role_name',
    'grantee',
    'admin_option')"
```

### Parameters
<a name="db2-sp-grant-role-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère l’identifiant unique de la tâche. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`.

*role\$1name*  
Nom du rôle que vous souhaitez créer. Le type de données est `varchar`.

*grantee*  
Rôle, utilisateur ou groupe devant recevoir l’autorisation. Le type de données est `varchar`. Valeurs valides: `ROLE`, `USER`, `GROUP`, `PUBLIC`.   
Le format doit être une valeur suivie d’un nom. S’il y a plusieurs valeurs et nom, séparez-les à l’aide de virgules. Exemple : « `USER user1, user2, GROUP group1, group2` ». Remplacez les noms par vos propres informations.

Le paramètre d’entrée suivant est facultatif :

*admin\$1option*  
Spécifie si le bénéficiaire `ROLE` a l’autorisation `DBADM` d’attribuer des rôles. Le type de données est `char`. La valeur par défaut est `N`.

### Notes d’utilisation
<a name="db2-sp-grant-role-usage-notes"></a>

Pour plus d’informations sur la vérification du statut d’attribution d’un rôle, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-grant-role-examples"></a>

**Exemple 1 : attribuer un rôle à un rôle, à un utilisateur et à un groupe, et octroyer une autorisation**

L’exemple suivant attribue un rôle appelé `ROLE_TEST` pour la base de données `TESTDB` au rôle appelé `role1`, à l’utilisateur appelé `user1` et au groupe appelé `group1`. `ROLE_TEST` reçoit l’autorisation d’administrateur pour attribuer des rôles.

```
db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1',
    'Y')"
```

**Exemple 2 : attribuer un rôle à `PUBLIC` et ne pas octroyer d’autorisation**

L’exemple suivant attribue un rôle appelé `ROLE_TEST` pour la base de données `TESTDB` à `PUBLIC`. `ROLE_TEST` ne reçoit pas l’autorisation d’administrateur pour attribuer des rôles.

```
db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"
```

## rdsadmin.revoke\$1role
<a name="db2-sp-revoke-role"></a>

Révoque un rôle assigné à un rôle, un utilisateur ou un groupe.

### Syntaxe
<a name="db2-sp-revoke-role-syntax"></a>

```
db2 "call rdsadmin.revoke_role(
    ?,
    'database_name',
    'role_name',
    'grantee')"
```

### Parameters
<a name="db2-sp-revoke-role-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère l’identifiant unique de la tâche. Ce paramètre accepte uniquement ?.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`.

*role\$1name*  
Nom du rôle que vous souhaitez révoquer. Le type de données est `varchar`.

*grantee*  
Rôle, utilisateur ou groupe à qui l’autorisation doit être retirée. Le type de données est `varchar`. Valeurs valides: `ROLE`, `USER`, `GROUP`, `PUBLIC`.   
Le format doit être une valeur suivie d’un nom. S’il y a plusieurs valeurs et nom, séparez-les à l’aide de virgules. Exemple : « `USER user1, user2, GROUP group1, group2` ». Remplacez les noms par vos propres informations.

### Notes d’utilisation
<a name="db2-sp-revoke-role-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de révocation d’un rôle, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-revoke-role-examples"></a>

**Exemple 1 : révocation du rôle assigné à un rôle, un utilisateur ou un groupe**

L’exemple suivant révoque un rôle appelé `ROLE_TEST` pour la base de données `TESTDB` assigné au rôle appelé `role1`, à l’utilisateur appelé `user1` et au groupe appelé `group1`.

```
db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1')"
```

**Exemple 2 : révocation du rôle assigné à `PUBLIC`**

L’exemple suivant révoque un rôle appelé `ROLE_TEST` pour la base de données `TESTDB` assigné à `PUBLIC`. 

```
db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"
```

## rdsadmin.drop\$1role
<a name="db2-sp-drop-role"></a>

Supprime un rôle.

### Syntaxe
<a name="db2-sp-drop-role-syntax"></a>

```
db2 "call rdsadmin.drop_role(
    ?,
    'database_name',
    'role_name')"
```

### Parameters
<a name="db2-sp-drop-role-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère l’identifiant unique de la tâche. Ce paramètre accepte uniquement ?.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`.

*role\$1name*  
Nom du rôle que vous souhaitez supprimer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-drop-role-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de suppression d’un rôle, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-drop-role-examples"></a>

L’exemple suivant supprime un rôle appelé `ROLE_TEST` pour la base de données `TESTDB`.

```
db2 "call rdsadmin.drop_role(
    ?,
    'TESTDB',
    'ROLE_TEST')"
```

## rdsadmin.add\$1user
<a name="db2-sp-add-user"></a>

Ajoute un utilisateur à une liste d’autorisations.

### Syntaxe
<a name="db2-sp-add-user-syntax"></a>

```
db2 "call rdsadmin.add_user(
    'username',
    'password',
    'group_name,group_name')"
```

### Parameters
<a name="db2-sp-add-user-parameters"></a>

Les paramètres suivants sont obligatoires :

*username*  
Le nom d’utilisateur d’un utilisateur. Le type de données est `varchar`.

*password*  
Le mot de passe d’un utilisateur. Le type de données est `varchar`.

Le paramètre suivant est facultatif :

*group\$1name*  
Le nom du groupe auquel vous souhaitez ajouter l’utilisateur. Le type de données est `varchar`. La valeur par défaut est une chaîne vide ou nulle. 

### Notes d’utilisation
<a name="db2-sp-add-user-usage-notes"></a>

Vous pouvez ajouter un utilisateur à un ou plusieurs groupes en séparant les noms des groupes par des virgules. 

Vous pouvez créer un groupe lorsque vous créez un nouvel utilisateur ou lorsque vous [ajoutez un groupe à un utilisateur existant](db2-granting-revoking-privileges.md#add-group-to-user). Vous ne pouvez pas créer un groupe tout seul.

**Note**  
Le nombre maximum d’utilisateurs que vous pouvez ajouter en appelant `rdsadmin.add_user` est de 5 000.

Pour plus d’informations sur la vérification du statut d’ajout d’un rôle, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-add-user-examples"></a>

L’exemple suivant crée un utilisateur appelé `jorge_souza` et l’affecte aux groupes appelés `sales` et `inside_sales`.

```
db2 "call rdsadmin.add_user(
    'jorge_souza',
    '*******',
    'sales,inside_sales')"
```

## rdsadmin.change\$1password
<a name="db2-sp-change-password"></a>

Modifie le mot de passe d’un utilisateur.

### Syntaxe
<a name="db2-sp-change-password-syntax"></a>

```
db2 "call rdsadmin.change_password(
    'username',
    'new_password')"
```

### Parameters
<a name="db2-sp-change-password-parameters"></a>

Les paramètres suivants sont obligatoires :

*username*  
Le nom d’utilisateur d’un utilisateur. Le type de données est `varchar`.

*new\$1password*  
Un nouveau mot de passe pour l’utilisateur. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-change-password-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de modification d’un mot de passe, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-change-password-examples"></a>

L’exemple suivant modifie le mot de passe de `jorge_souza`.

```
db2 "call rdsadmin.change_password(
    'jorge_souza',
    '*******')"
```

## rdsadmin.list\$1users
<a name="db2-sp-list-users"></a>

Répertorie les utilisateurs sur une liste d’autorisation. 

### Syntaxe
<a name="db2-sp-list-users-syntax"></a>

```
db2 "call rdsadmin.list_users()"
```

### Notes d’utilisation
<a name="db2-sp-list-users-usage-notes"></a>

Pour plus d’informations sur la vérification du statut d’ajout d’utilisateurs à une liste, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

## rdsadmin.remove\$1user
<a name="db2-sp-remove-user"></a>

Supprime l’utilisateur de la liste d’autorisation.

### Syntaxe
<a name="db2-sp-remove-user-syntax"></a>

```
db2 "call rdsadmin.remove_user('username')"
```

### Parameters
<a name="db2-sp-remove-user-parameters"></a>

Les paramètres suivants sont obligatoires :

*username*  
Le nom d’utilisateur d’un utilisateur. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-remove-user-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de suppression d’un utilisateur, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-remove-user-examples"></a>

L’exemple suivant supprime la possibilité à `jorge_souza` d’accéder aux bases de données dans les instances de base de données RDS for Db2.

```
db2 "call rdsadmin.remove_user('jorge_souza')"
```

## rdsadmin.add\$1groups
<a name="db2-sp-add-groups"></a>

Ajoute un groupe à un utilisateur.

### Syntaxe
<a name="db2-sp-add-groups-syntax"></a>

```
db2 "call rdsadmin.add_groups(
    'username',
    'group_name,group_name')"
```

### Parameters
<a name="db2-sp-add-groups-parameters"></a>

Les paramètres suivants sont obligatoires :

*username*  
Le nom d’utilisateur d’un utilisateur. Le type de données est `varchar`.

*group\$1name*  
Le nom du groupe auquel vous souhaitez ajouter l’utilisateur. Le type de données est `varchar`. La valeur par défaut est une chaîne vide.

### Notes d’utilisation
<a name="db2-sp-add-groups-usage-notes"></a>

Vous pouvez ajouter un ou plusieurs groupes à un utilisateur en séparant les noms des groupes par des virgules. Pour plus d’informations sur la vérification du statut d’ajout de groupes, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-add-groups-examples"></a>

L’exemple suivant ajoute les groupes `direct_sales` et `b2b_sales` à l’utilisateur `jorge_souza`. 

```
db2 "call rdsadmin.add_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"
```

## rdsadmin.remove\$1groups
<a name="db2-sp-remove-groups"></a>

Supprime des groupes assignés à un utilisateur.

### Syntaxe
<a name="db2-sp-remove-groups-syntax"></a>

```
db2 "call rdsadmin.remove_groups(
    'username',
    'group_name,group_name')"
```

### Parameters
<a name="db2-sp-remove-groups-parameters"></a>

Les paramètres suivants sont obligatoires :

*username*  
Le nom d’utilisateur d’un utilisateur. Le type de données est `varchar`.

*group\$1name*  
Le nom du groupe duquel vous souhaitez supprimer l’utilisateur. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-remove-groups-usage-notes"></a>

Vous pouvez supprimer un ou plusieurs groupes assignés à un utilisateur en séparant les noms des groupes par des virgules. 

Pour plus d’informations sur la vérification du statut de suppression de groupes, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-remove-groups-examples"></a>

L’exemple suivant supprime les groupes `direct_sales` et `b2b_sales` assignés à l’utilisateur `jorge_souza`. 

```
db2 "call rdsadmin.remove_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"
```

## rdsadmin.dbadm\$1grant
<a name="db2-sp-dbadm-grant"></a>

Octroie les autorisations `DBADM`, `ACCESSCTRL` ou `DATAACCESS` à un rôle, à un utilisateur ou à un groupe.

### Syntaxe
<a name="db2-sp-dbadm-grant-syntax"></a>

```
db2 "call rdsadmin.dbadm_grant(
    ?,
    'database_name',
    'authorization',
    'grantee')"
```

### Parameters
<a name="db2-sp-dbadm-grant-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère l’identifiant unique de la tâche. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`. 

*authorization*  
Type d’autorisation à octroyer. Le type de données est `varchar`. Valeurs valides : `DBADM`, `ACCESSCTRL`, `DATAACCESS`.   
S’il y a plusieurs types, séparez-les par des virgules.

*grantee*  
Rôle, utilisateur ou groupe devant recevoir l’autorisation. Le type de données est `varchar`. Valeurs valides : `ROLE`, `USER`, `GROUP`.   
Le format doit être une valeur suivie d’un nom. S’il y a plusieurs valeurs et nom, séparez-les à l’aide de virgules. Exemple : « `USER user1, user2, GROUP group1, group2` ». Remplacez les noms par vos propres informations.

### Notes d’utilisation
<a name="db2-sp-dbadm-grant-usage-notes"></a>

Le rôle qui doit recevoir l’accès doit exister.

Pour plus d’informations sur la vérification du statut d’octroi d’accès d’administrateur de base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-dbadm-grant-examples"></a>

**Exemple 1 : octroi d’un accès d’administrateur de base de données au rôle**

L’exemple suivant octroie l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour le rôle `ROLE_DBA`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"
```

**Exemple 2 : octroi d’un accès d’administrateur de base de données à un utilisateur et à un groupe**

L’exemple suivant octroie l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour `user1` et `group1`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"
```

**Exemple 3 : octroi d’un accès d’administrateur de base de données à plusieurs utilisateurs et groupes**

L’exemple suivant octroie l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour `user1`, `user2`, `group1` et `group2`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"
```

## rdsadmin.dbadm\$1revoke
<a name="db2-sp-dbadm-revoke"></a>

Révoque l’autorisation `DBADM`, `ACCESSCTRL` ou `DATAACCESS` assignée à un rôle, un utilisateur ou un groupe.

### Syntaxe
<a name="db2-sp-dbadm-revoke-syntax"></a>

```
db2 "call rdsadmin.dbadm_revoke(
    ?,
    'database_name',
    'authorization',
    'grantee')"
```

### Parameters
<a name="db2-sp-dbadm-revoke-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Identifiant unique de la tâche. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande sera exécutée. Le type de données est `varchar`.

*authorization*  
Type d’autorisation à révoquer. Le type de données est `varchar`. Valeurs valides : `DBADM`, `ACCESSCTRL`, `DATAACCESS`.   
S’il y a plusieurs types, séparez-les par des virgules.

*grantee*  
Le rôle, l’utilisateur ou le groupe dont l’autorisation doit être révoquée. Le type de données est `varchar`. Valeurs valides : `ROLE`, `USER`, `GROUP`.   
Le format doit être une valeur suivie d’un nom. S’il y a plusieurs valeurs et nom, séparez-les à l’aide de virgules. Exemple : « `USER user1, user2, GROUP group1, group2` ». Remplacez les noms par vos propres informations.

### Notes d’utilisation
<a name="db2-sp-dbadm-revoke-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de révocation d’accès d’administrateur de base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-dbadm-revoke-examples"></a>

**Exemple 1 : révocation de l’accès d’administrateur de base de données assigné à un rôle**

L’exemple suivant révoque l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour le rôle `ROLE_DBA`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"
```

**Exemple 2 : révocation d’un accès d’administrateur de base de données assigné à un utilisateur et à un groupe**

L’exemple suivant révoque l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour `user1` et `group1`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"
```

**Exemple 3 : révocation d’un accès d’administrateur de base de données assigné à plusieurs utilisateurs et groupes**

L’exemple suivant révoque l’accès d’administrateur de base de données à la base de données appelée `TESTDB` pour `user1`, `user2`, `group1` et `group2`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"
```

## rdsadmin.set\$1sid\$1group\$1mapping
<a name="db2-sp-set-sid-group-mapping"></a>

Crée un mappage entre un ID de sécurité (SID) et le groupe Active Directory correspondant.

### Syntaxe
<a name="db2-sp-set-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'SID',
    'group_name')"
```

### Parameters
<a name="db2-sp-set-sid-group-mapping-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*SID*  
ID de sécurité (SID). Le type de données est `varchar`.

*group\$1name*  
Nom du groupe Active Directory à mapper au SID. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-set-sid-group-mapping-usage-notes"></a>

Utilisez cette procédure stockée pour activer l’authentification Kerberos auprès des groupes Active Directory. Si le `SID` ou `group_name` existe déjà dans le mappage, cette procédure stockée échoue.

Pour plus d’informations sur la recherche du SID d’un groupe, consultez [Étape 8 : récupérer le SID du groupe Active Directory dans PowerShellÉtape 8 : récupérer le SID du groupe Active Directory dans PowerShell](db2-kerberos-setting-up.md#db2-kerberos-setting-up-retrieve-ad-group-sid).

Pour plus d’informations sur la vérification du statut de création d’un mappage, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-set-sid-group-mapping-examples"></a>

L’exemple suivant mappe un SID à un groupe appelé `my_group`.

```
db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513',
    'my_group')"
```

## rdsadmin.list\$1sid\$1group\$1mapping
<a name="db2-sp-list-sid-group-mapping"></a>

Répertorie tous les mappages d’ID de sécurité (SID) et de groupes Active Directory configurés sur l’instance de base de données.

### Syntaxe
<a name="db2-sp-list-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.list_sid_group_mapping()"
```

### Notes d’utilisation
<a name="db2-sp-list-sid-group-mapping-usage-notes"></a>

Pour plus d’informations sur la vérification du statut des mappages de listes, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

## rdsadmin.remove\$1sid\$1group\$1mapping
<a name="db2-sp-remove-sid-group-mapping"></a>

Supprime un ID de sécurité (SID) et le mappage de groupe Active Directory correspondant d’une instance de base de données.

### Syntaxe
<a name="db2-sp-remove-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'SID')"
```

### Parameters
<a name="db2-sp-remove-sid-group-mapping-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*SID*  
ID de sécurité (SID). Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-remove-sid-group-mapping-usage-notes"></a>

Pour plus d’informations sur la recherche du SID d’un groupe, consultez [Étape 8 : récupérer le SID du groupe Active Directory dans PowerShellÉtape 8 : récupérer le SID du groupe Active Directory dans PowerShell](db2-kerberos-setting-up.md#db2-kerberos-setting-up-retrieve-ad-group-sid).

Pour plus d’informations sur la vérification du statut de suppression des mappages, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-remove-sid-group-mapping-examples"></a>

L’exemple suivant supprime le mappage d’un SID du groupe auquel il était mappé.

```
db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513')"
```

# Procédures stockées pour les politiques d’audit pour RDS for Db2
<a name="db2-sp-managing-audit-policies"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent les politiques d’audit pour les bases de données Amazon RDS for Db2 qui utilisent la journalisation des audits. Pour de plus amples informations, veuillez consulter [Journalisation des audits Db2](Db2.Options.Audit.md). Pour exécuter ces procédures, l’utilisateur principal doit d’abord se connecter à la base de données `rdsadmin`.

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit)
+ [rdsadmin.disable\$1db\$1audit](#db2-sp-disable-db-audit)

## rdsadmin.configure\$1db\$1audit
<a name="db2-sp-configure-db-audit"></a>

Configure la politique d'audit pour la base de données RDS pour DB2 spécifiée par. *db\$1name* Si la politique que vous configurez n’existe pas, l’appel de cette procédure stockée la crée. Si cette politique existe, l’appel de cette procédure stockée la modifie avec les valeurs de paramètres que vous fournissez.

### Syntaxe
<a name="db2-sp-configure-db-audit-syntax"></a>

```
db2 "call rdsadmin.configure_db_audit(
    'db_name', 
    'category', 
    'category_setting', 
    '?')"
```

### Parameters
<a name="db2-sp-configure-db-audit-parameters"></a>

Les paramètres suivants sont obligatoires.

*db\$1name*  
Le nom de la base de données RDS for Db2 pour laquelle la politique d’audit doit être configurée. Le type de données est `varchar`.

*category*  
Le nom de la catégorie pour laquelle cette politique d’audit doit être configurée. Le type de données est `varchar`. Les valeurs valides pour ce paramètre sont les suivantes :  
+ `ALL` : avec`ALL`, Amazon RDS n’inclut pas les catégories `CONTEXT`, `EXECUTE` ou `ERROR`.
+ `AUDIT` 
+ `CHECKING` 
+ `CONTEXT` 
+ `ERROR` 
+ `EXECUTE` : vous pouvez configurer cette catégorie avec ou sans données. Les données permettent également d’enregistrer les valeurs des données d’entrée fournies pour toutes les variables hôtes et les marqueurs de paramètres. La valeur par défaut est sans données. Pour plus d'informations, consultez la description du *category\$1setting* paramètre et le[Exemples](#db2-sp-configure-db-audit-examples).
+ `OBJMAINT` 
+ `SECMAINT` 
+ `SYSADMIN` 
+ `VALIDATE` 
Pour plus d’informations sur ces catégories, consultez la [documentation IBM Db2](https://www.ibm.com/docs/en/db2/11.1?topic=statements-create-audit-policy).

*category\$1setting*  
Paramètre pour la catégorie d’audit spécifiée. Le type de données est `varchar`.  
Le tableau suivant indique les valeurs de paramètres valides pour chaque catégorie.      
<a name="db2-option-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/db2-sp-managing-audit-policies.html)

### Notes d’utilisation
<a name="db2-sp-configure-db-audit-usage-notes"></a>

Avant d’appeler `rdsadmin.configure_db_audit`, assurez-vous que l’instance de base de données RDS pour Db2 avec la base de données pour laquelle vous configurez la politique d’audit est associée à un groupe d’options doté de l’option `DB2_AUDIT`. Pour de plus amples informations, veuillez consulter [Configuration de la journalisation des audits Db2](Db2.Options.Audit.md#db2-audit-setting-up).

Après avoir configuré la politique d’audit, vous pouvez vérifier le statut de la configuration d’audit pour la base de données en suivant les étapes décrites dans [Vérification de la configuration de l’audit](Db2.Options.Audit.md#db2-audit-check-config-status).

La spécification de `ALL` pour le paramètre `category` n’inclut pas les catégories `CONTEXT`, `EXECUTE` ou `ERROR`. Pour ajouter ces catégories à votre politique d’audit, appelez `rdsadmin.configure_db_audit` séparément pour chaque catégorie que vous souhaitez ajouter. Pour de plus amples informations, veuillez consulter [Exemples](#db2-sp-configure-db-audit-examples).

### Exemples
<a name="db2-sp-configure-db-audit-examples"></a>

Les exemples suivants créent ou modifient la politique d’audit pour une base de données nommée `TESTDB`. Dans les exemples 1 à 5, si la catégorie `ERROR` n’a pas été configurée auparavant, elle est définie sur `NORMAL` (valeur par défaut). Pour modifier ce paramètre en `AUDIT`, suivez [Example 6: Specifying the ERROR category](#example-6).

**Exemple 1 : spécification de la catégorie `ALL`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ALL', 'BOTH', ?)"
```

Dans l’exemple, l’appel configure les catégories `AUDIT`, `CHECKING`, `OBJMAINT`, `SECMAINT`, `SYSADMIN` et `VALIDATE` dans la politique d’audit. Le fait de spécifier `BOTH` signifie que les événements réussis et les événements non réussis seront vérifiés pour chacune de ces catégories.

**Exemple 2 : spécification de la catégorie `EXECUTE` avec des données**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'SUCCESS,WITH', ?)"
```

Dans l’exemple, l’appel configure la catégorie `EXECUTE` dans la politique d’audit. Le fait de spécifier `SUCCESS,WITH` signifie que les journaux de cette catégorie ne comprendront que les événements réussis et incluront les valeurs des données d’entrée fournies pour les variables hôtes et les marqueurs de paramètres.

**Exemple 3 : spécification de la catégorie `EXECUTE` sans données**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'FAILURE,WITHOUT', ?)"
```

Dans l’exemple, l’appel configure la catégorie `EXECUTE` dans la politique d’audit. Le fait de spécifier `FAILURE,WITHOUT` signifie que les journaux de cette catégorie ne comprendront que les événements non réussis et n’incluront pas les valeurs des données d’entrée fournies pour les variables hôtes et les marqueurs de paramètres.

**Exemple 4 : spécification de la catégorie `EXECUTE` sans événements d’état**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'NONE', ?)"
```

Dans l’exemple, l’appel configure la catégorie `EXECUTE` dans la politique d’audit. Le fait de spécifier `NONE` signifie qu’aucun événement de cette catégorie ne sera audité.

**Exemple 5 : spécification de la catégorie `OBJMAINT`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'OBJMAINT', 'NONE', ?)"
```

Dans l’exemple, l’appel configure la catégorie `OBJMAINT` dans la politique d’audit. Le fait de spécifier `NONE` signifie qu’aucun événement de cette catégorie ne sera audité.

**Exemple 6 : spécification de la catégorie `ERROR`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ERROR', 'AUDIT', ?)"
```

Dans l’exemple, l’appel configure la catégorie `ERROR` dans la politique d’audit. Le fait de spécifier`AUDIT` signifie que toutes les erreurs, y compris les erreurs survenant dans le journal d’audit lui-même, sont enregistrées dans les journaux. La type d’erreur par défaut est `NORMAL`. Avec`NORMAL`, les erreurs générées par l’audit sont ignorées et seuls les `SQLCODE` des erreurs associées à l’opération en cours sont capturés.

## rdsadmin.disable\$1db\$1audit
<a name="db2-sp-disable-db-audit"></a>

Arrête la journalisation d'audit pour la base de données RDS pour DB2 spécifiée par *db\$1name* et supprime la politique d'audit configurée pour celle-ci. 

**Note**  
Cette procédure stockée supprime uniquement les politiques d’audit configurées lors d’un appel [rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit).

### Syntaxe
<a name="db2-sp-disable-db-audit-syntax"></a>

```
db2 "call rdsadmin.disable_db_audit('db_name', ?)"
```

### Parameters
<a name="db2-sp-disable-db-audit-parameters"></a>

Les paramètres suivants sont obligatoires.

*db\$1name*  
Nom de base de données RDS for Db2 pour laquelle la journalisation d’audit doit être désactivée. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-disable-db-audit-usage-notes"></a>

L’appel `rdsadmin.disable_db_audit` ne désactive pas la journalisation d’audit pour l’instance de base de données RDS for Db2. Pour désactiver la journalisation d’audit au niveau de l’instance de base de données, supprimez le groupe d’options de l’instance de base de données. Pour de plus amples informations, veuillez consulter [Désactivation de la journalisation des audits Db2](Db2.Options.Audit.md#db2-audit-disabling).

### Exemples
<a name="db2-sp-disable-db-audit-examples"></a>

L’exemple suivant désactive la journalisation d’audit pour une base de données nommée `TESTDB`.

```
db2 "call rdsadmin.disable_db_audit('TESTDB', ?)"
```

# Procédures stockées pour les groupes de mémoires tampons pour RDS for Db2
<a name="db2-sp-managing-buffer-pools"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent les groupes de mémoires tampons pour les bases de données Amazon RDS for Db2. Pour exécuter ces procédures, l’utilisateur principal doit d’abord se connecter à la base de données `rdsadmin`. 

Ces procédures stockées sont utilisées dans diverses tâches. Cette liste n’est pas exhaustive.
+ [Tâches courantes pour les pools de mémoires tampons](db2-managing-buffer-pools.md)
+ [Génération de rapports de performance](db2-managing-databases.md#db2-generating-performance-reports)
+ [Copie des métadonnées d’une base de données avec db2look](db2-native-db2-tools-db2look.md)
+ [Création d’une base de données de référentiel pour IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md#db2-creating-repo-db-monitoring-dmc)

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.create\$1bufferpool](#db2-sp-create-buffer-pool)
+ [rdsadmin.alter\$1bufferpool](#db2-sp-alter-buffer-pool)
+ [rdsadmin.drop\$1bufferpool](#db2-sp-drop-buffer-pool)

## rdsadmin.create\$1bufferpool
<a name="db2-sp-create-buffer-pool"></a>

Crée un groupe de mémoires tampons.

### Syntaxe
<a name="db2-sp-create-buffer-pool-syntax"></a>

```
db2 "call rdsadmin.create_bufferpool(
    'database_name', 
    'buffer_pool_name', 
    buffer_pool_size, 
    'immediate', 
    'automatic', 
    page_size, 
    number_block_pages, 
    block_size)"
```

### Parameters
<a name="db2-sp-create-buffer-pool-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande doit être exécutée. Le type de données est `varchar`.

*buffer\$1pool\$1name*  
Nom du groupe de mémoires tampons à créer. Le type de données est `varchar`.

Les paramètres suivants sont facultatifs :

*buffer\$1pool\$1size*  
Taille du groupe de mémoires tampons en nombre de pages. Le type de données est `integer`. La valeur par défaut est `-1`.

*immediate*  
Spécifie si la commande s’exécute immédiatement. Le type de données est `char`. La valeur par défaut est `Y`.

*automatic*  
Spécifie s’il faut définir le groupe de mémoires tampons sur automatique. Le type de données est `char`. La valeur par défaut est `Y`.

*page\$1size*  
Taille de la page du groupe de mémoires tampons. Le type de données est `integer`. Valeurs valides: `4096`, `8192`, `16384`, `32768`. La valeur par défaut est `8192`.

*number\$1block\$1pages*  
Nombre de pages de blocs dans les groupes de mémoires tampons. Le type de données est `integer`. La valeur par défaut est `0`.

*block\$1size*  
Taille de bloc pour les pages de blocs. Le type de données est `integer`. Valeurs valides : `2` à `256`. La valeur par défaut est `32`.

### Notes d’utilisation
<a name="db2-sp-create-buffer-pool-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de création d’un groupe de mémoires tampons, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-create-buffer-pool-examples"></a>

**Exemple 1 : création d’un groupe de mémoires tampons avec des paramètres par défaut**

L’exemple suivant crée un groupe de mémoires tampons appelé `BP8` pour une base de données appelée `TESTDB` avec des paramètres par défaut, de sorte que le groupe de mémoires tampons utilise une taille de page de 8 Ko. 

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP8')"
```

**Exemple 2 : création d’un groupe de mémoires tampons à exécuter immédiatement avec allocation automatique**

L’exemple suivant crée un groupe de mémoires tampons appelé `BP16` pour une base de données appelée `TESTDB` qui utilise une taille de page de 16 Ko avec un nombre de pages initial de 1 000 et qui est défini sur automatique. Db2 exécute la commande immédiatement. Si vous utilisez un nombre de pages initial de -1, Db2 utilisera l’allocation automatique des pages.

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16', 
    1000, 
    'Y', 
    'Y', 
    16384)"
```

**Exemple 3 : création d’un groupe de mémoires tampons à exécuter immédiatement à l’aide de pages de blocs**

L’exemple suivant crée un groupe de mémoires tampons appelé `BP16` pour une base de données appelée `TESTDB`. Ce groupe de mémoires tampons a une taille de page de 16 Ko avec un nombre de pages initial de 10 000. Db2 exécute immédiatement la commande en utilisant 500 pages de blocs d’une taille de bloc de 512.

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16',
    10000, 
    'Y', 
    'Y', 
    16384, 
    500, 
    512)"
```

## rdsadmin.alter\$1bufferpool
<a name="db2-sp-alter-buffer-pool"></a>

Modifie un groupe de mémoires tampons.

### Syntaxe
<a name="db2-sp-alter-buffer-pool-syntax"></a>

```
db2 "call rdsadmin.alter_bufferpool(
    'database_name', 
    'buffer_pool_name', 
    buffer_pool_size, 
    'immediate', 
    'automatic', 
    change_number_blocks, 
    number_block_pages, 
    block_size)"
```

### Parameters
<a name="db2-sp-alter-buffer-pool-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle la commande doit être exécutée. Le type de données est `varchar`.

*buffer\$1pool\$1name*  
Nom du groupe de mémoires tampons à modifier. Le type de données est `varchar`.

*buffer\$1pool\$1size*  
Taille du groupe de mémoires tampons en nombre de pages. Le type de données est `integer`.

Les paramètres suivants sont facultatifs :

*immediate*  
Spécifie si la commande s’exécute immédiatement. Le type de données est `char`. La valeur par défaut est `Y`.

*automatic*  
Spécifie s’il faut définir le groupe de mémoires tampons sur automatique. Le type de données est `char`. La valeur par défaut est `N`.

*change\$1number\$1blocks*  
Indique si le nombre de pages de blocs dans le groupe de mémoires tampons a été modifié. Le type de données est `char`. La valeur par défaut est `N`.

*number\$1block\$1pages*  
Nombre de pages de blocs dans les groupes de mémoires tampons. Le type de données est `integer`. La valeur par défaut est `0`.

*block\$1size*  
Taille de bloc pour les pages de blocs. Le type de données est `integer`. Valeurs valides : `2` à `256`. La valeur par défaut est `32`.

### Notes d’utilisation
<a name="db2-sp-alter-buffer-pool-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de modification d’un groupe de mémoires tampons, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-alter-buffer-pool-examples"></a>

L’exemple suivant modifie un groupe de mémoires tampons appelé `BP16` pour une base de données appelée `TESTDB` en non automatique et modifie la taille à 10 000 pages. Db2 exécute cette commande immédiatement. 

```
db2 "call rdsadmin.alter_bufferpool(
    'TESTDB',
    'BP16', 
    10000, 
    'Y', 
    'N')"
```

## rdsadmin.drop\$1bufferpool
<a name="db2-sp-drop-buffer-pool"></a>

Supprime un groupe de mémoires tampons.

### Syntaxe
<a name="db2-sp-drop-buffer-pool-syntax"></a>

```
db2 "call rdsadmin.drop_bufferpool(
    'database_name', 
    'buffer_pool_name'"
```

### Parameters
<a name="db2-sp-drop-buffer-pool-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données à laquelle appartient le groupe de mémoires tampons. Le type de données est `varchar`.

*buffer\$1pool\$1name*  
Nom du groupe de mémoires tampons à supprimer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-drop-buffer-pool-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de suppression d’un groupe de mémoires tampons, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-drop-buffer-pool-examples"></a>

L’exemple suivant supprime un groupe de mémoires tampons appelé `BP16` pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.drop_bufferpool(
    'TESTDB',
    'BP16')"
```

# Procédures stockées pour les bases de données pour RDS for Db2
<a name="db2-sp-managing-databases"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent les bases de données pour Amazon RDS for Db2. Pour exécuter ces procédures, l’utilisateur principal doit d’abord se connecter à la base de données `rdsadmin`.

Ces procédures stockées sont utilisées dans diverses tâches. Cette liste n’est pas exhaustive.
+ [Tâches courantes pour les bases de données](db2-managing-databases.md)
+ [Création de bases de données avec classement EBCDIC](db2-ebcdic.md)
+ [Collecte d’informations sur les bases de données](db2-supported-parameters.md#db2-modifying-parameters-db2-commands)
+ [Modification des paramètres de configuration de base de données](db2-supported-parameters.md#db2-modifying-parameters-db2-commands)
+ [Migration de Linux vers Linux](db2-one-time-migration-linux.md)
+ [Migration de Linux vers Linux avec une durée d’indisponibilité quasi nulle](db2-near-zero-downtime-migration.md)

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.create\$1database](#db2-sp-create-database)
+ [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database)
+ [rdsadmin.activate\$1database](#db2-sp-activate-database)
+ [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database)
+ [rdsadmin.drop\$1database](#db2-sp-drop-database)
+ [rdsadmin.update\$1db\$1param](#db2-sp-update-db-param)
+ [rdsadmin.set\$1configuration](#db2-sp-set-configuration)
+ [rdsadmin.show\$1configuration](#db2-sp-show-configuration)
+ [rdsadmin.backup\$1database](#db2-sp-backup-database)
+ [rdsadmin.restore\$1database](#db2-sp-restore-database)
+ [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database)
+ [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status)
+ [rdsadmin.complete\$1rollforward](#db2-sp-complete-rollforward)
+ [rdsadmin.db2pd\$1command](#db2-sp-db2pd-command)
+ [rdsadmin.force\$1application](#db2-sp-force-application)
+ [rdsadmin.set\$1archive\$1log\$1retention](#db2-sp-set-archive-log-retention)
+ [rdsadmin.show\$1archive\$1log\$1retention](#db2-sp-show-archive-log-retention)
+ [rdsadmin.list\$1archive\$1log\$1information](#db2-sp-list-archive-log-information)
+ [rdsadmin.enable\$1archive\$1log\$1copy](#db2-sp-enable_archive_log_copy)
+ [rdsadmin.disable\$1archive\$1log\$1copy](#db2-sp-disable_archive_log_copy)
+ [rdsadmin.fgac\$1command](#db2-sp-fgac-command)
+ [rdsadmin.db2support\$1command](#db2-sp-db2support-command)

## rdsadmin.create\$1database
<a name="db2-sp-create-database"></a>

Crée une base de données.

### Syntaxe
<a name="db2-sp-create-database-syntax"></a>

```
db2 "call rdsadmin.create_database(
    'database_name',
    'database_page_size',
    'database_code_set',
    'database_territory',
    'database_collation',
    'database_autoconfigure_str',
    'database_non-restrictive')"
```

### Parameters
<a name="db2-sp-create-database-parameters"></a>

**Note**  
Cette procédure stockée ne valide pas la combinaison des paramètres requis. Lorsque vous appelez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status), la fonction définie par l’utilisateur peut renvoyer une erreur en raison d’une combinaison de `database_codeset`, `database_territory` et `database_collation` qui n’est pas valide. Pour plus d’informations, consultez [Choix de la page de code, du territoire et du classement pour votre base de données](https://www.ibm.com/docs/en/db2/11.5?topic=support-choosing-code-page-territory-collation-your-database) dans la documentation IBM Db2.

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données à créer. Le type de données est `varchar`.

Les paramètres suivants sont facultatifs :

*database\$1page\$1size*  
Taille de page par défaut de la base de données. Valeurs valides: `4096`, `8192`, `16384`, `32768`. Le type de données est `integer`. La valeur par défaut est `8192`.  
Amazon RDS prend en charge l’atomicité d’écriture pour les pages de 4 Kio, 8 Kio et 16 Kio. En revanche, les pages de 32 Kio risquent d'être *déchirées en écriture* ou d'écrire des données partielles sur le disque. Si vous utilisez des pages 32 KiB, nous vous recommandons d'activer la point-in-time restauration et les sauvegardes automatisées. Sinon, vous risquez de ne pas pouvoir récupérer les pages déchirées. Pour plus d’informations, consultez [Présentation des sauvegardes](USER_WorkingWithAutomatedBackups.md) et [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

*database\$1code\$1set*  
Code défini pour la base de données. Le type de données est `varchar`. La valeur par défaut est `UTF-8`.

*database\$1territory*  
Code de pays à deux lettres pour la base de données. Le type de données est `varchar`. La valeur par défaut est `US`.

*database\$1collation*  
Séquence de classement qui détermine comment les chaînes de caractères stockées dans la base de données sont triées et comparées. Le type de données est `varchar`.  
Valeurs valides :   
+ `COMPATIBILITY` : une séquence de classement IBM Db2 version 2.
+ `EBCDIC_819_037` : page de code latin ISO, classement ; CCSID 037 (EBCDIC, anglais américain).
+ `EBCDIC_819_500` : page de code latin ISO, classement ; CCSID 500 (EBCDIC international).
+ `EBCDIC_850_037` : page de code latin ASCII, classement ; CCSID 037 (EBCDIC, anglais américain).
+ `EBCDIC_850_500` : page de code latin ASCII, classement ; CCSID 500 (EBCDIC international).
+ `EBCDIC_932_5026` : page de code japonais ASCII, classement ; CCSID 5026 (EBCDIC, anglais américain).
+ `EBCDIC_932_5035` : page de code japonais ASCII, classement ; CCSID 5035 (EBCDIC international).
+ `EBCDIC_1252_037` : page de code latin Windows, classement ; CCSID 037 (EBCDIC, anglais américain).
+ `EBCDIC_1252_500` : page de code latin Windows, classement ; CCSID 500 (EBCDIC international).
+ `IDENTITY` : classement par défaut. Les chaînes sont comparées octet par octet.
+ `IDENTITY_16BIT` : schéma de codage de compatibilité pour UTF-16 : séquence de classement 8 bits (CESU-8). Pour plus d’informations, consultez [Rapport technique Unicode \$126](https://www.unicode.org/reports/tr26/tr26-4.html) sur le site Web du consortium Unicode.
+ `NLSCHAR`— À utiliser uniquement avec la page de code thaï (CP874).
+ `SYSTEM` : si vous utilisez `SYSTEM`, la base de données utilise automatiquement la séquence de classement pour `database_codeset` et `database_territory`.
La valeur par défaut est `IDENTITY`.  
En outre, RDS for Db2 prend en charge les groupes de classement suivants : `language-aware-collation` et `locale-sensitive-collation`. Pour plus d’informations, consultez [Choix d’un classement pour une base de données Unicode](https://www.ibm.com/docs/en/db2/11.5?topic=collation-choosing-unicode-database) dans la documentation IBM Db2.

*database\$1autoconfigure\$1str*  
Syntaxe de la `AUTOCONFIGURE` commande, par exemple `'AUTOCONFIGURE APPLY DB'`. Le type de données est `varchar`. La valeur par défaut est une chaîne vide ou nulle.  
Pour plus d’informations, consultez [Commande AUTOCONFIGURE](https://www.ibm.com/docs/en/db2/11.5?topic=cc-autoconfigure) dans la documentation IBM Db2.

*database\$1non-restrictive*  
Octroi d'autorisations et de privilèges par défaut au sein de la base de données. Le type de données est `varchar`. La valeur par défaut est `N`.  
Valeurs valides :  
+ `N`— La base de données créée est restrictive et n'accorde ni pouvoirs ni privilèges.
+ `Y`— La base de données créée n'est pas restrictive et accorde un ensemble d'autorisations au groupe `PUBLIC` spécial. Pour plus d'informations, consultez la section [Privilèges par défaut accordés lors de la création d'une base de données](https://www.ibm.com/docs/en/db2/11.5.x?topic=ownership-default-privileges-granted-creating-database) dans la IBM Db2 documentation.

### Notes d’utilisation
<a name="db2-sp-create-database-usage-notes"></a>

Si vous envisagez de modifier le paramètre `db2_compatibility_vector`, modifiez-le avant de créer une base de données. Pour de plus amples informations, veuillez consulter [Définition du paramètre db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).

Considérations spéciales :
+ La commande `CREATE DATABASE` envoyée à l’instance Db2 utilise l’option `RESTRICTIVE`.
+ RDS for Db2 utilise uniquement des tablespaces `AUTOMATIC STORAGE`.
+ RDS for Db2 utilise les valeurs par défaut pour `NUMSEGS` et `DFT_EXTENT_SZ`.
+ RDS for Db2 utilise le chiffrement de stockage et ne prend pas en charge le chiffrement de base de données.

Pour plus d’informations sur ces considérations, consultez [commande CREATE DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-create-database#:~:text=in%20the%20database.-,RESTRICTIVE,-If%20the%20RESTRICTIVE) dans la documentation IBM Db2.

Avant d’appeler`rdsadmin.create_database`, vous devez vous connecter à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par votre RDS pour les informations d'instance de base de données DB2 :

```
db2 connect to rdsadmin user master_username using master_password
```

Pour plus d’informations sur la vérification du statut de création d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.create_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-create-database-examples"></a>

L'exemple suivant crée une base de données appelée `TESTJP` avec une combinaison correcte des *database\$1collation* paramètres *database\$1code\$1set**database\$1territory*,, et pour le Japon :

```
db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"
```

## rdsadmin.deactivate\$1database
<a name="db2-sp-deactivate-database"></a>

Désactive une base de données.

### Syntaxe
<a name="db2-sp-deactivate-database-syntax"></a>

```
db2 "call rdsadmin.deactivate_database(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-deactivate-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données à désactiver. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-deactivate-database-usage-notes"></a>

Vous pouvez désactiver des bases de données pour conserver des ressources mémoire ou pour apporter d’autres modifications à la configuration de la base de données. Pour remettre en ligne les bases de données désactivées, appelez la procédure stockée [rdsadmin.activate\$1database](#db2-sp-activate-database).

Vous ne pouvez pas désactiver une base de données sur une instance de base de données source pendant la réplication en appelant la procédure stockée `rdsadmin.deactivate_database`.

Pour plus d’informations sur la vérification du statut de désactivation d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.deactivate_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-deactivate-database-examples"></a>

Les exemples suivants désactivent une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"
```

## rdsadmin.activate\$1database
<a name="db2-sp-activate-database"></a>

Active une base de données.

Pour plus d'informations sur les différences entre [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database) et `rdsadmin.activate_database`, consultez [Notes d’utilisation](#db2-sp-activate-database-usage-notes).

### Syntaxe
<a name="db2-sp-activate-database-syntax"></a>

```
db2 "call rdsadmin.activate_database(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-activate-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données à activer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-activate-database-usage-notes"></a>

Toutes les bases de données sont activées par défaut lors de leur création. Si vous [désactivez]() une base de données sur une instance de base de données autonome pour conserver des ressources mémoire ou pour apporter d’autres modifications à la configuration de la base de données, appelez la procédure stockée `rdsadmin.activate_database` pour réactiver la base de données.

Cette procédure stockée active uniquement une base de données qui se trouve sur une instance de base de données autonome et qui a été désactivée en appelant la procédure stockée [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database). Pour activer une base de données sur une instance de base de données source de réplica, vous devez appeler la procédure stockée [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database).

Pour plus d’informations sur la vérification du statut d’activation d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.activate_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-activate-database-examples"></a>

Les exemples suivants activent une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.activate_database(?, 'TESTDB')"
```

## rdsadmin.reactivate\$1database
<a name="db2-sp-reactivate-database"></a>

Réactive une base de données.

Pour plus d’informations sur les différences entre [rdsadmin.activate\$1database](#db2-sp-activate-database) et `rdsadmin.reactivate_database`, consultez [Notes d’utilisation](#db2-sp-reactivate-database-usage-notes).

### Syntaxe
<a name="db2-sp-reactivate-database-syntax"></a>

```
db2 "call rdsadmin.reactivate_database(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-reactivate-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données à réactiver. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-reactivate-database-usage-notes"></a>

Lorsque vous appelez la procédure stockée `rdsadmin.reactivate_database`, celle-ci désactive d’abord la base de données en appelant la procédure stockée [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database), puis active la base de données en appelant la procédure stockée [rdsadmin.activate\$1database](#db2-sp-activate-database).

Après avoir modifié les configurations des bases de données, vous devrez peut-être réactiver une base de données sur une instance de base de données RDS for Db2. Pour déterminer si vous devez réactiver une base de données, connectez-vous à la base de données et exécutez `db2 get db cfg show detail`.

Pour une base de données sur une instance de base de données autonome, vous pouvez utiliser la procédure stockée `rdsadmin.reactivate_database` pour réactiver la base de données. Ou, si vous avez déjà appelé la procédure stockée [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database), vous pouvez appeler la procédure stockée [rdsadmin.activate\$1database](#db2-sp-activate-database) à la place.

Pour une base de données sur une instance de base de données source de réplica, vous devez utiliser la procédure stockée `rdsadmin.reactivate_database` pour réactiver la base de données.

Pour plus d’informations sur la vérification du statut de réactivation d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.reactivate_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-reactivate-database-examples"></a>

Les exemples suivants réactivent une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"
```

## rdsadmin.drop\$1database
<a name="db2-sp-drop-database"></a>

Supprime une base de données.

### Syntaxe
<a name="db2-sp-drop-database-syntax"></a>

```
db2 "call rdsadmin.drop_database('database_name')"
```

### Parameters
<a name="db2-sp-drop-database-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données à supprimer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-drop-database-usage-notes"></a>

Vous ne pouvez supprimer une base de données en appelant `rdsadmin.drop_database` que si les conditions suivantes sont réunies :
+ Vous n’avez pas spécifié le nom de la base de données lorsque vous avez créé votre instance de base de données RDS for Db2 à l’aide de la console Amazon RDS ou de l’ AWS CLI. Pour de plus amples informations, veuillez consulter [Création d’une instance de base de données](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).
+ Vous avez créé la base de données en appelant la procédure stockée [rdsadmin.create\$1database](#db2-sp-create-database).
+ Vous avez restauré la base de données à partir d’une image hors ligne ou sauvegardée en appelant la procédure stockée [rdsadmin.restore\$1database](#db2-sp-restore-database).

Avant d’appeler`rdsadmin.drop_database`, vous devez vous connecter à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par votre RDS pour les informations d'instance de base de données DB2 :

```
db2 connect to rdsadmin user master_username using master_password
```

Pour plus d’informations sur la vérification du statut de suppression d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.drop_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-drop-database-examples"></a>

L’exemple suivant supprime une base de données appelée `TESTDB` :

```
db2 "call rdsadmin.drop_database('TESTDB')"
```

## rdsadmin.update\$1db\$1param
<a name="db2-sp-update-db-param"></a>

Met à jour les paramètres de la base de données.

### Syntaxe
<a name="db2-sp-update-db-param-syntax"></a>

```
db2 "call rdsadmin.update_db_param(
    'database_name', 
    'parameter_to_modify', 
    'changed_value',
    'restart_database')"
```

### Parameters
<a name="db2-sp-update-db-param-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données pour laquelle la tâche doit être exécutée. Le type de données est `varchar`.

*parameter\$1to\$1modify*  
Nom du paramètre à modifier. Le type de données est `varchar`. Pour de plus amples informations, veuillez consulter [Paramètres Amazon RDS for Db2](db2-supported-parameters.md).

*changed\$1value*  
Valeur à modifier pour la valeur du paramètre. Le type de données est `varchar`.

Le paramètre suivant est facultatif :

*restart\$1database*  
Spécifie si RDS redémarre la base de données si un redémarrage est nécessaire. Le type de données est `varchar`. Pour modifier `logprimary` et `logfilsiz`, définissez ce paramètre sur `'YES'`.

### Notes d’utilisation
<a name="db2-sp-update-db-param-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de mise à jour des paramètres de la base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.update_db_param`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-update-db-param-examples"></a>

**Exemple 1 : mise à jour d’un paramètre**

L’exemple suivant met à jour le paramètre `archretrydelay` par `100` pour une base de données appelée `TESTDB` :

```
db2 "call rdsadmin.update_db_param(
    'TESTDB', 
    'archretrydelay', 
    '100')"
```

**Exemple 2 : report de la validation des objets**

L’exemple suivant reporte la validation des objets créés sur une base de données appelée `TESTDB` pour éviter la vérification des dépendances :

```
db2 "call rdsadmin.update_db_param(
    'TESTDB', 
    'auto_reval', 
    'deferred_force')"
```

## rdsadmin.set\$1configuration
<a name="db2-sp-set-configuration"></a>

Configure les paramètres spécifiques de la base de données.

### Syntaxe
<a name="db2-sp-set-configuration-syntax"></a>

```
db2 "call rdsadmin.set_configuration(
    'name',  
    'value')"
```

### Parameters
<a name="db2-sp-set-configuration-parameters"></a>

Les paramètres suivants sont obligatoires :

*name*  
Nom du paramètre de configuration. Le type de données est `varchar`.

*value*  
Valeur du paramètre de configuration. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-set-configuration-usage-notes"></a>

Le tableau suivant présente les paramètres de configuration que vous pouvez contrôler avec `rdsadmin.set_configuration`.


| Nom | Description | 
| --- | --- | 
|  `RESTORE_DATABASE_NUM_BUFFERS`  |  Nombre de mémoires tampons à créer lors d’une opération de restauration. Cette valeur doit être inférieure à la taille totale de la mémoire de la classe d’instance de base de données. Si ce paramètre n’est pas configuré, Db2 détermine la valeur à utiliser lors de l’opération de restauration. Pour plus d'informations, consultez la [commande RESTORE DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) dans la IBM Db2 documentation.  | 
|  `RESTORE_DATABASE_PARALLELISM`  |  Le nombre de manipulateurs de mémoire tampon à créer lors d’une opération de restauration. Cette valeur doit être inférieure au double du nombre de v CPUs pour l'instance de base de données. Si ce paramètre n’est pas configuré, Db2 détermine la valeur à utiliser lors de l’opération de restauration. Pour plus d'informations, consultez la [commande RESTORE DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) dans la IBM Db2 documentation.  | 
|  `RESTORE_DATABASE_NUM_MULTI_PATHS`  |  Le nombre de chemins (ou de I/O flux) à utiliser lors d'une opération de restauration à partir d'Amazon S3. Pour utiliser ce paramètre de configuration, vous devez disposer de plusieurs fichiers de sauvegarde. Cette valeur peut améliorer les performances lors de la restauration de bases de données contenant de gros volumes de données, car elle restaure plusieurs fichiers de sauvegarde de base de données en parallèle. Nous vous recommandons de définir cette valeur pour qu'elle corresponde au nombre de fichiers de sauvegarde de votre base de données. Pour plus d'informations, consultez la [commande BACKUP DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-backup-database) dans la IBM Db2 documentation.  | 
|  `USE_STREAMING_RESTORE`  |  Spécifie s'il faut diffuser les données de sauvegarde directement pendant la restauration plutôt que de télécharger d'abord la sauvegarde complète sur votre instance de base de données RDS pour DB2, puis de l'extraire. Le réglage `USE_STREAMING_RESTORE` sur réduit `TRUE` considérablement les besoins en stockage et peut améliorer les performances de restauration. Ce paramètre nécessite la version 11.5.9.0.sb00063198.r1 ou supérieure du moteur IBM Db2 et la connectivité Amazon S3 via l'interface Elastic Network (ENI) de votre base de données. Pour plus d'informations, consultez la section [Stockage à distance](https://www.ibm.com/docs/en/db2/11.5.x?topic=databases-remote-storage) dans la IBM Db2 documentation.  | 

### Exemples
<a name="db2-sp-set-configuration-examples"></a>

**Exemple 1 : Spécification du nombre de tampons à créer**

L’exemple suivant défini configuration `RESTORE_DATABASE_NUM_BUFFERS` sur `150`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_NUM_BUFFERS', 
    '150')"
```

**Exemple 2 : Spécification du nombre de manipulateurs de mémoire tampon à créer**

L’exemple suivant défini configuration `RESTORE_DATABASE_PARALLELISM` sur `8`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_PARALLELISM', 
    '8')"
```

**Exemple 3 : Spécification du nombre de chemins ou de I/O flux à utiliser lors de la restauration**

L’exemple suivant défini configuration `RESTORE_DATABASE_NUM_MULTI_PATHS` sur `5`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_NUM_MULTI_PATHS', 
    '5')"
```

**Exemple 4 : Configuration de la restauration pour diffuser les données de sauvegarde**

L’exemple suivant défini configuration `USE_STREAMING_RESTORE` sur `TRUE`.

```
db2 "call rdsadmin.set_configuration(
    'USE_STREAMING_RESTORE', 
    'TRUE')"
```

## rdsadmin.show\$1configuration
<a name="db2-sp-show-configuration"></a>

Renvoie les paramètres actuels que vous pouvez définir à l’aide de la procédure stockée `rdsadmin.set_configuration`.

### Syntaxe
<a name="db2-sp-show-configuration-syntax"></a>

```
db2 "call rdsadmin.show_configuration(
    'name')"
```

### Parameters
<a name="db2-sp-show-configuration-parameters"></a>

Le paramètre suivant est facultatif :

*name*  
Nom du paramètre de configuration pour lequel les informations doivent être renvoyées. Le type de données est `varchar`.  
Les noms de configuration suivants sont valides :  
+ `RESTORE_DATABASE_NUM_BUFFERS`— Le nombre de tampons à créer lors d'une opération de restauration.
+ `RESTORE_DATABASE_PARALLELISM`— Nombre de manipulateurs de mémoire tampon à créer lors d'une opération de restauration.
+ `RESTORE_DATABASE_NUM_MULTI_PATHS`— Le nombre de chemins (ou de I/O flux) à utiliser lors d'une opération de restauration à partir d'Amazon S3.
+ `USE_STREAMING_RESTORE`— Spécifie s'il faut diffuser les données de sauvegarde directement pendant la restauration plutôt que de télécharger d'abord l'intégralité des données de sauvegarde sur votre instance de base de données RDS pour DB2, puis de les extraire.

### Notes d’utilisation
<a name="db2-sp-show-configuration-usage-notes"></a>

Si vous ne spécifiez pas le nom d’un paramètre de configuration, `rdsadmin.show_configuration` renvoie des informations pour tous les paramètres de configuration que vous pouvez définir à l’aide de la procédure stockée `rdsadmin.set_configuration`.

### Exemples
<a name="db2-sp-show-configuration-examples"></a>

L’exemple suivant renvoie des informations sur la configuration `RESTORE_DATABASE_PARALLELISM` actuelle.

```
db2 "call rdsadmin.show_configuration(
    'RESTORE_DATABASE_PARALLELISM')"
```

## rdsadmin.backup\$1database
<a name="db2-sp-backup-database"></a>

Sauvegarde une base de données depuis une instance de base de données RDS pour DB2 dans un compartiment Amazon S3.

### Syntaxe
<a name="db2-sp-backup-database-syntax"></a>

```
db2 "call rdsadmin.backup_database(
    ?,
    'database_name', 
    's3_bucket_name', 
    's3_prefix', 
    'backup_type',
    'compression_option',
    'util_impact_priority', 
    'num_files',
    'parallelism',
    'num_buffers')"
```

### Parameters
<a name="db2-sp-backup-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données cible sur une instance de base de données RDS pour DB2 à sauvegarder. Le type de données est `varchar`.  
La base de données doit exister dans l'instance de base de données. Vous ne pouvez pas sauvegarder la `rdsadmin` base de données.

*s3\$1bucket\$1name*  
Le nom du compartiment Amazon S3 dans lequel vous souhaitez placer votre sauvegarde. Le type de données est `varchar`.  
Le compartiment S3 doit exister avant l'appel`rdsadmin.backup_database`, se trouver dans la même base de données Région AWS que la base de données cible dans l'instance de base de données RDS pour DB2 que vous souhaitez sauvegarder et être accessible via le rôle IAM attaché à l'instance de base de données.

*s3\$1prefix*  
Préfixe du chemin d'accès à Amazon S3 où RDS for Db2 télécharge les fichiers de sauvegarde. Le type de données est `varchar`.  
Le préfixe est limité à 1024 caractères. Il ne doit pas comporter de barre oblique initiale ou terminale (/). En raison des limites liées au IBM  streaming vers Amazon S3, nous recommandons que le préfixe inclue des sous-répertoires.  
Pour une meilleure gestion des fichiers, RDS pour DB2 crée ensuite des répertoires supplémentaires. *s3\$1prefix* RDS pour DB2 télécharge tous les fichiers de sauvegarde vers. *s3\$1prefix/dbi\$1resource\$1id/db\$1name* Si vous définissez *num\$1files* une valeur supérieure à`1`, le *db\$1name* répertoire contiendra plusieurs fichiers de sauvegarde.  
Voici un exemple d'emplacement Amazon S3 pour les fichiers de sauvegarde. Dans l'exemple, `backups/daily` est la valeur définie pour le *s3\$1prefix* paramètre.  

```
backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
```

*backup\$1type*  
Type de sauvegarde qui détermine si la base de données reste disponible pendant la sauvegarde. Le type de données est `varchar`.  
Valeurs valides :  
+ `OFFLINE`— La base de données n'est pas disponible pendant la sauvegarde. Ce type est plus rapide, mais il entraîne des temps d'arrêt. 
+ `ONLINE`— La base de données reste disponible pendant la sauvegarde. Par défaut, la propriété `ONLINE` a la valeur `INCLUDE LOGS`.

Les paramètres suivants sont facultatifs :

*compression\$1option*  
Type d'algorithme de compression utilisé qui influe sur le temps de sauvegarde, l'utilisation du processeur et les coûts de stockage. Le type de données est `varchar`. La valeur par défaut est `NONE`.  
Valeurs valides :  
+ `NONE`— La plus grande taille de fichier, l'utilisation minimale du processeur et les coûts de stockage les moins élevés.
+ `STANDARD`— Compression DB2 standard. Utilisations`libdb2compr.so`.
+ `ZLIB`— Compression Db2 améliorée. Utilise`libdb2zcompr.so`, mais c'est plus gourmand en processeur et le coût de stockage le plus élevé.

*util\$1impact\$1priority*  
Paramètre qui contrôle l'impact de la sauvegarde sur les ressources du système. Le type de données est `integer`. Valeurs valides : `1` — `100` (du plus faible au plus élevé). La valeur par défaut est `50`.  
Des valeurs inférieures réduisent l'impact de la sauvegarde sur les ressources du système, mais peuvent augmenter le temps nécessaire à la sauvegarde de la base de données. Des valeurs plus élevées peuvent terminer la sauvegarde de la base de données plus rapidement, mais peuvent affecter d'autres opérations. L'impact réel dépend de l'utilisation globale du système et du `util_impact_lim` paramètre. Vous pouvez afficher et modifier le `util_impact_lim` réglage dans les groupes de paramètres. Pour de plus amples informations, veuillez consulter [Paramètres Amazon RDS for Db2](db2-supported-parameters.md).

*num\$1files*  
Le nombre de flux de téléchargement parallèle vers Amazon S3. Le type de données est `integer`. Valeurs valides : `1` - `256`.  
Nous vous recommandons de ne définir ce paramètre qu'après avoir observé les performances de sauvegarde par défaut calculées automatiquement par Amazon RDS. Des valeurs plus élevées peuvent améliorer les performances pour les sauvegardes volumineuses, en particulier pour les connexions à bande passante élevée, mais à un moment donné, des valeurs plus élevées dégradent les performances. Assurez-vous également de prendre en compte les ressources système disponibles et la capacité du réseau.

*parallelism*  
Nombre de tablespaces que l'utilitaire de sauvegarde peut lire en parallèle. Le type de données est `integer`. Valeurs valides : `1` - `256`.  
Nous vous recommandons de ne définir ce paramètre qu'après avoir observé les performances de sauvegarde à la valeur par défaut que le moteur DB2 calcule automatiquement comme étant la valeur optimale. Si vous définissez ce paramètre, Amazon RDS effectue la validation par rapport aux processeurs disponibles et n'exécute pas la demande de sauvegarde si la puissance de traitement est insuffisante.

*num\$1buffers*  
Le nombre de tampons à utiliser. Le type de données est `integer`. Valeurs valides : `1` - `268435456`.  
Nous vous recommandons de ne définir ce paramètre qu'après avoir observé les performances de sauvegarde par défaut calculées automatiquement par Amazon RDS en fonction de la mémoire. Si vous définissez ce paramètre, Amazon RDS valide par rapport à la mémoire disponible et n'exécutera pas la demande de sauvegarde si la mémoire disponible est insuffisante. Si vous sauvegardez sur plusieurs emplacements (`num_files`défini sur plus de`1`), un nombre plus élevé de mémoires tampons peut améliorer les performances. Si ce n'est pas `compression_option` le cas`NONE`, vous pouvez améliorer les performances en augmentant `num_buffers` et`parallelism`.

### Notes d’utilisation
<a name="db2-sp-backup-database-usage-notes"></a>

Cette procédure stockée crée des tâches de sauvegarde asynchrones qui diffusent la sauvegarde de votre base de données directement dans votre compartiment Amazon S3 à l'aide de l'intégration Amazon S3. Vous pouvez effectuer des sauvegardes à la fois depuis votre serveur local ou depuis une instance de base de données RDS pour DB2, les diffuser sur Amazon S3, puis les restaurer où vous le souhaitez. Pour plus d'informations sur la restauration d'une base de données sur une instance de base de données RDS pour DB2, consultez. [rdsadmin.restore\$1database](#db2-sp-restore-database)

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes :
+ Vous ne pouvez sauvegarder qu'une seule base de données à la fois.
+ Vous ne pouvez pas effectuer une sauvegarde et une restauration ensemble sur une instance de base de données.
+ Le chiffrement côté serveur Amazon S3 avec AWS KMS (SSE-KMS) n'est pas pris en charge. Même si le compartiment S3 est défini sur SSE-KMS, les fichiers chargés dans le compartiment S3 n'utiliseront pas le chiffrement SSE-KMS.
+ Pour diffuser les fichiers de sauvegarde vers Amazon S3, vous devez déjà avoir configuré l'intégration. Pour de plus amples informations, veuillez consulter [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).
+ Pour qu'une instance de base de données RDS for Db2 puisse interagir avec Amazon S3, vous devez disposer d'un VPC et d'un point de terminaison de passerelle Amazon S3 que les sous-réseaux privés peuvent utiliser. Pour plus d’informations, consultez [Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3](db2-troubleshooting.md#db2-creating-endpoint) et [Étape 2 : vérification de l’existence du point de terminaison de votre passerelle VPC pour Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

Avant d’appeler`rdsadmin.backup_database`, vous devez vous connecter à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par votre RDS pour les informations d'instance de base de données DB2 :

```
db2 connect to rdsadmin user master_username using master_password
```

Après avoir sauvegardé votre base de données, veillez à mettre fin à la connexion.

```
terminate
```

Pour plus d'informations sur la vérification de l'état de sauvegarde d'une base de données, consultez[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.backup_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-backup-database-examples"></a>

Tous les exemples sauvegardent une base de données appelée `MYDB` dans le compartiment Amazon S3 appelé `amzn-s3-demo-bucket` et lui attribuent la valeur *s3\$1prefix* à`backups/daily`.

**Exemple \$11 : Spécification d'une base de données hors ligne et indisponible avec une utilisation médiane et un seul flux de téléchargement**

Dans l'exemple suivant, la base de données est hors ligne, ce qui est plus rapide mais signifie qu'elle n'est pas disponible pendant la sauvegarde. L'exemple n'effectue aucune compression des fichiers, a un impact médian sur les ressources système et utilise un seul flux de téléchargement vers Amazon S3.

```
db2 call "rdsadmin.backup_database(
    ?, 
    'MYDB',
    'amzn-s3-demo-bucket', 
    'backups/daily',
    'OFFLINE',
    'NONE', 
    50, 
    1)"
```

**Exemple \$12 : Spécification d'une base de données en ligne et disponible avec une compression améliorée, une utilisation médiane et quelques flux de téléchargement parallèles**

Dans l'exemple suivant, la base de données est en ligne et disponible pendant la sauvegarde. L'exemple effectue une compression améliorée, ce qui se traduit par un fichier de petite taille, mais qui consomme beaucoup de ressources processeur. Il a un impact légèrement supérieur à la moyenne sur les ressources du système et utilise cinq flux de téléchargement vers Amazon S3.

```
db2 call "rdsadmin.backup_database(
    ?, 
    'MYDB',
    'amzn-s3-demo-bucket', 
    'backups/daily',
    'ONLINE',
    'ZLIB', 
    60, 
    5)"
```

**Exemple \$13 : Spécification de la base de données hors ligne et indisponible avec les valeurs par défaut et les calculs du système**

Dans l'exemple suivant, la base de données est hors ligne, ce qui est plus rapide mais signifie qu'elle n'est pas disponible pendant la sauvegarde. L'exemple utilise la compression par défaut des fichiers et son impact sur les ressources du système. Cela permet également à RDS pour Db2 de calculer le nombre de flux de téléchargement parallèles vers Amazon S3, les tablespaces à lire en parallèle et les tampons à utiliser.

```
db2 "call rdsadmin.backup_database(
    ?, 
    'MYDB', 
    'amzn-s3-demo-bucket',
    'backups/daily', 
    'OFFLINE')"
```

**Exemple \$14 : Spécification d'une base de données hors ligne et indisponible sans compression, utilisation élevée et calculs personnalisés**

Dans l'exemple suivant, la base de données est hors ligne, ce qui est plus rapide mais signifie qu'elle n'est pas disponible pendant la sauvegarde. L'exemple n'effectue aucune compression des fichiers, a un impact important sur les ressources système et utilise 20 flux de téléchargement vers Amazon S3. Il définit le nombre maximum de tablespaces à lire en parallèle, ce qui peut entraîner l'échec de la demande de sauvegarde si la puissance de traitement est insuffisante. Il définit également le nombre maximum de tampons à utiliser, ce qui peut entraîner l'échec de la demande de sauvegarde si la mémoire est insuffisante.

```
db2 "call rdsadmin.backup_database(
    ?, 
    'MYDB', 
    'amzn-s3-demo-bucket', 
    'backups/daily', 
    'OFFLINE', 
    'NONE', 
    90, 
    20, 
    256, 
    268435456)"
```

## rdsadmin.restore\$1database
<a name="db2-sp-restore-database"></a>

Restaure une base de données d’un compartiment Amazon S3 vers votre instance de base de données RDS for Db2.

### Syntaxe
<a name="db2-sp-restore-database-syntax"></a>

```
db2 "call rdsadmin.restore_database(
    ?,
    'database_name', 
    's3_bucket_name', 
    's3_prefix', 
    restore_timestamp, 
    'backup_type')"
```

### Parameters
<a name="db2-sp-restore-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données cible à restaurer dans RDS for Db2. Le type de données est `varchar`.  
Par exemple, si le nom de la base de données source était `TESTDB` et que vous l'avez défini *database\$1name* sur`NEWDB`, Amazon RDS effectue la restauration `NEWDB` en tant que base de données source.

*s3\$1bucket\$1name*  
Nom du compartiment Amazon S3 dans lequel réside la sauvegarde. Le type de données est `varchar`.

*s3\$1prefix*  
Le préfixe à utiliser pour la mise en correspondance des fichiers lors du téléchargement. Le type de données est `varchar`.  
Si ce paramètre est vide, tous les fichiers du compartiment Amazon S3 seront traités. Voici un exemple de préfixe :  

```
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
```

*restore\$1timestamp*  
Horodatage de l’image de sauvegarde de la base de données. Le type de données est `varchar`.  
L’horodatage est inclus dans le nom du fichier de sauvegarde. Par exemple, `20230615010101` est l’horodatage du nom du fichier `SAMPLE.0.rdsdb.DBPART000.20230615010101.001`.

*backup\$1type*  
Type de sauvegarde. Le type de données est `varchar`. Valeurs valides : `OFFLINE`, `ONLINE`.  
Utilisez `ONLINE` pour des migrations quasiment sans interruption de service. Pour de plus amples informations, veuillez consulter [Migration de Linux vers Linux avec une durée d’indisponibilité quasiment nulle pour Amazon RDS for Db2](db2-near-zero-downtime-migration.md).

### Notes d’utilisation
<a name="db2-sp-restore-database-usage-notes"></a>

Vous pouvez utiliser cette procédure stockée pour migrer une base de données Db2 vers une instance de base de données RDS for Db2. Pour de plus amples informations, veuillez consulter [Utilisation des services AWS pour migrer des données de Db2 vers Amazon RDS for Db2](db2-migration-approaches.md). Vous pouvez également utiliser cette procédure stockée pour créer plusieurs copies de la même base de données portant des noms de base de données différents et utilisant la même image de restauration.

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes : 
+ Avant de restaurer une base de données, vous devez allouer un espace de stockage pour votre instance de base de données RDS for DB2 supérieur à celui de la base de données Db2 d'origine sur le disque. Si vous l'avez activé`USE_STREAMING_RESTORE`, Amazon RDS diffuse les fichiers de sauvegarde directement depuis votre compartiment S3 vers votre instance de base de données RDS pour Db2 lorsque vous restaurez votre sauvegarde. Si vous ne l'activez pas`USE_STREAMING_RESTORE`, vous devez allouer un espace de stockage pour votre instance de base de données RDS for DB2 égal ou supérieur à la somme de la taille de sauvegarde et de la base de données Db2 d'origine sur le disque. Pour de plus amples informations, veuillez consulter [Insufficient disk space](db2-troubleshooting.md#restore-database-sp-insufficient-disk-space).
+ Lorsque vous restaurez la sauvegarde, Amazon RDS extrait le fichier de sauvegarde sur votre instance de base de données RDS for Db2. La taille de chaque fichier de sauvegarde doit être inférieure ou égale à 5 To. Si un fichier de sauvegarde dépasse 5 To, vous devez diviser celui-ci en plusieurs fichiers plus petits. 
+ Pour restaurer tous les fichiers à l’aide de la procédure stockée `rdsadmin.restore_database`, n’incluez pas le suffixe du numéro de fichier après l’horodatage dans les noms de fichiers. Par exemple, les fichiers suivants sont *s3\$1prefix* `backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101` restaurés :

  ```
  SAMPLE.0.rdsdb.DBPART000.20230615010101.001
  SAMPLE.0.rdsdb.DBPART000.20230615010101.002
  SAMPLE.0.rdsdb.DBPART000.20230615010101.003
  SAMPLE.0.rdsdb.DBPART000.20230615010101.004
  SAMPLE.0.rdsdb.DBPART000.20230615010101.005
  ```
+ RDS for Db2 ne prend pas en charge le stockage non automatique. Pour de plus amples informations, veuillez consulter [Tablespaces not restored](db2-troubleshooting.md#restore-database-sp-tablespaces-not-restored).
+ RDS for Db2 ne prend pas en charge les routines non clôturées. Pour de plus amples informations, veuillez consulter [Non-fenced routines not allowed](db2-troubleshooting.md#restore-database-sp-non-fenced-routines).
+ Pour améliorer les performances des opérations de restauration de base de données, vous pouvez configurer le nombre de tampons, de manipulateurs de mémoire tampon et le nombre de chemins de sauvegarde multiples à utiliser par RDS. Pour optimiser l'utilisation du stockage et potentiellement améliorer les performances, vous pouvez également diffuser directement une sauvegarde depuis Amazon S3. Pour vérifier la configuration actuelle, utilisez [rdsadmin.show\$1configuration](#db2-sp-show-configuration). Pour modifier la configuration, utilisez [rdsadmin.set\$1configuration](#db2-sp-set-configuration).

Pour mettre la base de données en ligne et appliquer des journaux de transactions supplémentaires après avoir restauré la base de données, consultez [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database).

Pour plus d’informations sur la vérification du statut de restauration de votre base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Pour les messages d’erreur renvoyés lors de l’appel `rdsadmin.restore_database`, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-restore-database-examples"></a>

L'exemple suivant restaure une sauvegarde hors ligne avec un seul fichier ou plusieurs fichiers dotés des caractéristiques *s3\$1prefix* `backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101` suivantes :

```
db2 "call rdsadmin.restore_database(
    ?,
    'SAMPLE',
    'amzn-s3-demo-bucket',
    'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101',
    20230615010101,
    'OFFLINE')"
```

## rdsadmin.rollforward\$1database
<a name="db2-sp-rollforward-database"></a>

Met la base de données en ligne et applique des journaux de transactions supplémentaires après avoir restauré une base de données en appelant [rdsadmin.restore\$1database](#db2-sp-restore-database).

### Syntaxe
<a name="db2-sp-rollforward-database-syntax"></a>

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'database_name',
    's3_bucket_name', 
    s3_prefix, 
    'rollforward_to_option', 
    'complete_rollforward')"
```

### Parameters
<a name="db2-sp-rollforward-database-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle effectuer l’opération. Le type de données est `varchar`.

*s3\$1bucket\$1name*  
Nom du compartiment Amazon S3 dans lequel réside la sauvegarde. Le type de données est `varchar`.

*s3\$1prefix*  
Le préfixe à utiliser pour la mise en correspondance des fichiers lors du téléchargement. Le type de données est `varchar`.  
Si ce paramètre est vide, tous les fichiers du compartiment S3 seront téléchargés. Voici un exemple de préfixe :  

```
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
```

Les paramètres d’entrée suivants sont facultatifs :

*rollforward\$1to\$1option*  
Point de report. Le type de données est `varchar`. Valeurs valides : `END_OF_LOGS`, `END_OF_BACKUP` avec l’horodatage au format `YYYY-MM-DD-HH.MM.SS`. La valeur par défaut est `END_OF_LOGS`.

*complete\$1rollforward*  
Indique s’il faut achever le processus de report. Le type de données est `varchar`. La valeur par défaut est `TRUE`.  
Si `TRUE`, la base de données est en ligne et accessible à la fin du processus. Si `FALSE`, la base de données reste dans à l’état `ROLL-FORWARD PENDING`.

### Notes d’utilisation
<a name="db2-sp-rollforward-database-usage-notes"></a>

Vous pouvez utiliser `rds.rollforward_database` pour une sauvegarde en ligne avec des journaux inclus qui sont produits sur site dans de nombreux scénarios différents.

**Scénario 1 : restauration de la base de données, report des journaux inclus et mise en ligne de la base de données**

Une fois `rdsadmin.restore_database()` terminé, utilisez la syntaxe de l’[exemple 1](#db2-sp-rollforward-database-examples) pour mettre en ligne la base de données contenant les journaux de transactions.

**Scénario 2 : mise en ligne de la base de données sans report des journaux inclus.**

Une fois `rdsadmin.restore_database()` terminé, utilisez la syntaxe de l’[exemple 2](#db2-sp-rollforward-database-examples) pour mettre en ligne la base de données sans journaux de transactions.

**Scénario 3 : report des journaux inclus dans la sauvegarde et application de journaux de transactions supplémentaires au fur et à mesure qu’ils sont produits sur site**

Une fois `rdsadmin.restore_database()` terminé, utilisez la syntaxe de l’[exemple 3 ou de l’exemple 4](#db2-sp-rollforward-database-examples) pour reporter les journaux sans mettre en ligne la base de données.

Si vous définissez `complete_rollforward` sur `FALSE`, votre base de données est dans un état `ROLL-FORWARD PENDING` et hors ligne. Pour mettre la base de données en ligne, vous devez appeler [rdsadmin.complete\$1rollforward](#db2-sp-complete-rollforward).

Pour plus d’informations sur la vérification du statut de report de la base de données, consultez [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status).

### Exemples
<a name="db2-sp-rollforward-database-examples"></a>

**Exemple 1 : mise en ligne d’une base de données contenant des journaux de transactions**

L’exemple suivant reprend une sauvegarde en ligne de la base de données avec les journaux de transactions, puis met la base de données en ligne :

```
db2 "call rdsadmin.rollforward_database(
    ?,
    null,
    null,
    'END_OF_LOGS',
    'TRUE')"
```

**Exemple 2 : mise en ligne d’une base de données sans journaux de transactions**

L’exemple suivant reprend une sauvegarde en ligne de la base de données sans journaux de transactions, puis met la base de données en ligne :

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'logsfolder/,
    'END_OF_BACKUP',
    'TRUE')"
```

**Exemple 3 : non mise en ligne d’une base de données contenant des journaux de transactions**

L’exemple suivant reprend une sauvegarde en ligne de la base de données avec les journaux de transactions, puis ne met pas la base de données en ligne :

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    null,
    'onlinebackup/TESTDB',
    'END_OF_LOGS',
    'FALSE')"
```

**Exemple 4 : non mise en ligne d’une base de données contenant des journaux de transactions supplémentaires**

L’exemple suivant reprend une sauvegarde en ligne de la base de données avec les journaux de transactions supplémentaires, puis ne met pas la base de données en ligne :

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'logsfolder/S0000155.LOG',
    'END_OF_LOGS',
    'FALSE')"
```

## rdsadmin.rollforward\$1status
<a name="db2-sp-rollforward-status"></a>

Renvoie la sortie de `ROLLFORWARD DATABASE database_name QUERY STATUS`.

### Syntaxe
<a name="db2-sp-rollforward-status-syntax"></a>

```
db2 "call rdsadmin.rollforward_status(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-rollforward-status-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données sur laquelle effectuer l’opération. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-rollforward-status-usage-notes"></a>

Après avoir appelé [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database), vous pouvez appeler `rdsadmin.rollforward_status` pour vérifier le statut du report dans la base de données.

Pour plus d’informations sur la vérification du statut de cette procédure stockée, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

## rdsadmin.complete\$1rollforward
<a name="db2-sp-complete-rollforward"></a>

Met en ligne la base de données à partir d’un état `ROLL-FORWARD PENDING`.

### Syntaxe
<a name="db2-sp-complete-rollforward-syntax"></a>

```
db2 "call rdsadmin.complete_rollforward(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-complete-rollforward-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données que vous souhaitez mettre en ligne. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-complete-rollforward-usage-notes"></a>

Si vous appelez [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database) avec `complete_rollforward` défini sur `FALSE`, votre base de données est alors dans un état `ROLL-FORWARD PENDING` et hors ligne. Pour terminer le processus de report et mettre la base de données en ligne, appelez `rdsadmin.complete_rollforward`.

Pour plus d’informations sur la vérification du statut de finalisation du processus de report, consultez [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status).

### Exemples
<a name="db2-sp-complete-rollforward-examples"></a>

L’exemple suivant met la base de données TESTDB en ligne :

```
db2 "call rdsadmin.complete_rollforward(
    ?,
    'TESTDB')"
```

## rdsadmin.db2pd\$1command
<a name="db2-sp-db2pd-command"></a>

Collecte des informations sur une base de données RDS for Db2.

### Syntaxe
<a name="db2-sp-db2pd-command-syntax"></a>

```
db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
```

### Parameters
<a name="db2-sp-db2pd-command-parameters"></a>

Le paramètre d’entrée suivant est obligatoire :

*db2pd\$1cmd*  
Nom de la commande `db2pd` que vous voulez exécuter. Le type de données est `varchar`.  
Le paramètre doit commencer par un tiret. Pour obtenir la liste des paramètres, consultez [db2pd - Surveiller et résoudre les problèmes liés à la commande de base de données Db2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2pd-monitor-troubleshoot-db2-engine-activities) dans la documentation IBM Db2.  
Les options suivantes ne sont pas prises en charge :  
+ `-addnode`
+ `-alldatabases`
+ `-alldbp`
+ `-alldbs`
+ `-allmembers`
+ `-alm_in_memory`
+ `-cfinfo`
+ `-cfpool`
+ `-command`
+ `-dbpartitionnum`
+ `-debug`
+ `-dump`
+ `-everything`
+ `-file | -o`
+ `-ha`
+ `-interactive`
+ `-member`
+ `-pages`
**Note**  
`-pages summary` est pris en charge.
+ `-pdcollection`
+ `-repeat`
+ `-stack`
+ `-totalmem`
La sous-option `file` n’est pas prise en charge, par exemple `db2pd -db testdb -tcbstats file=tcbstat.out`.  
L’utilisation de l’option `stacks` n’est pas prise en charge, par exemple `db2pd -edus interval=5 top=10 stacks`.

### Notes d’utilisation
<a name="db2-sp-db2pd-command-usage-notes"></a>

Cette procédure stockée rassemble des informations qui peuvent aider à surveiller et à résoudre les problème liés aux bases de données RDS for Db2.

La procédure stockée utilise l’utilitaire IBM `db2pd` pour exécuter différentes commandes. L’utilitaire `db2pd` nécessite une autorisation `SYSADM`, que l’utilisateur principal de RDS for Db2 ne possède pas. Cependant, avec la procédure stockée Amazon RDS, l’utilisateur principal peut utiliser l’utilitaire pour exécuter diverses commandes. Pour plus d’informations sur cet utilitaire, consultez [db2pd - Surveiller et résoudre les problèmes liés à la commande de base de données Db2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2pd-monitor-troubleshoot-db2-engine-activities) dans la documentation IBM Db2.

La sortie est limitée à un maximum de 2 Go.

Pour plus d’informations sur la vérification du statut de collecte d’informations sur la base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-db2pd-command-examples"></a>

**Exemple 1 : renvoi de la durée de fonctionnement d’une instance de base de données**

L’exemple suivant renvoie la durée de fonctionnement d’une instance de base de données RDS for Db2 :

```
db2 "call rdsadmin.db2pd_command('-')"
```

**Exemple 2 : renvoi de la durée de fonctionnement de la base de données**

L’exemple suivant renvoie la durée de fonctionnement d’une base de données appelée `TESTDB` :

```
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
```

**Exemple 3 : renvoi de l’utilisation de la mémoire d’une instance de base de données**

L’exemple suivant renvoie l’utilisation de la mémoire d’une instance de base de données RDS for Db2 :

```
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
```

**Exemple 4 : renvoi des ensembles de mémoire d’une instance de base de données et d’une base de données**

L’exemple suivant renvoie les ensembles de mémoire d’une instance de base de données RDS for Db2 et d’une base de données appelée `TESTDB` :

```
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
```

## rdsadmin.force\$1application
<a name="db2-sp-force-application"></a>

Force les applications à quitter une base de données RDS for Db2.

### Syntaxe
<a name="db2-sp-force-application-syntax"></a>

```
db2 "call rdsadmin.force_application(
    ?,
    'applications')"
```

### Parameters
<a name="db2-sp-force-application-parameters"></a>

Les paramètres de sortie suivants sont obligatoires : 

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*applications*  
Applications que vous voulez forcer à quitter une base de données RDS for Db2. Le type de données est `varchar`. Valeurs valides : `ALL` ou *application\$1handle*.  
Séparez les noms de plusieurs applications par des virgules. Exemple : «*application\$1handle\$11*, *application\$1handle\$12* ».

### Notes d’utilisation
<a name="db2-sp-force-application-usage-notes"></a>

Cette procédure stockée force toutes les applications à quitter une base de données afin que vous puissiez effectuer la maintenance.

La procédure stockée utilise la commande IBM `FORCE APPLICATION`. La commande `FORCE APPLICATION` nécessite l’autorisation `SYSADM`, `SYSMAINT` ou `SYSCTRL`, que l’utilisateur principal de RDS for Db2 ne possède pas. Cependant, avec la procédure stockée Amazon RDS, l’utilisateur principal peut utiliser la commande. Pour plus d’informations, consultez [Commande FORCER L’APPLICATION](https://www.ibm.com/docs/en/db2/11.1?topic=commands-force-application) dans la documentation IBM Db2.

Pour plus d’informations sur la vérification du statut de désactivation forcée des applications d’une base de données, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-force-application-examples"></a>

**Exemple 1 : spécification de toutes les applications**

L’exemple suivant force toutes les applications à quitter une base de données RDS for Db2 :

```
db2 "call rdsadmin.force_application(
    ?,
    'ALL')"
```

**Exemple 2 : spécification de plusieurs applications**

L’exemple suivant force toutes les handles d’application `9991`, `8891` et `1192` à quitter une base de données RDS for Db2 :

```
db2 "call rdsadmin.force_application(
    ?,
    '9991, 8891, 1192')"
```

## rdsadmin.set\$1archive\$1log\$1retention
<a name="db2-sp-set-archive-log-retention"></a>

Configure la durée (en heures) de conservation des fichiers journaux d’archivage pour la base de données RDS for Db2 spécifiée.

### Syntaxe
<a name="db2-sp-set-archive-log-retention-syntax"></a>

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,            
    'database_name',  
    'archive_log_retention_hours')"
```

### Parameters
<a name="db2-sp-set-archive-log-retention-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données pour laquelle la conservation des journaux d’archivage doit être configurée. Le type de données est `varchar`.

*archive\$1log\$1retention\$1hours*  
Nombre d’heures pendant lesquelles les fichiers journaux d’archivage doivent être conservés. Le type de données est `smallint`. La valeur par défaut est`0`, et la durée maximale est de `840` (35 jours).  
Si la valeur est `0`, Amazon RDS ne conserve pas les fichiers journaux d’archivage.

### Notes d’utilisation
<a name="db2-sp-set-archive-log-retention-usage-notes"></a>

Par défaut, RDS for Db2 conserve les journaux pendant 5 minutes. Nous vous recommandons d'utiliser des outils de réplication tels que AWS DMS pour la capture des données de modification (CDC) ou IBM Q Replication de configurer la conservation des journaux dans ces outils pendant plus de 5 minutes.

Vous pouvez consulter le paramètre actuel de conservation des journaux d’archivage en appelant [rdsadmin.show\$1archive\$1log\$1retention](#db2-sp-show-archive-log-retention).

Vous ne pouvez pas configurer le paramètre de conservation des journaux d’archivage sur la base de données `rdsadmin`.

### Exemples
<a name="db2-sp-set-archive-log-retention-examples"></a>

**Exemple 1 : définition de la durée de conservation**

L’exemple suivant définit la durée de conservation du journal d’archivage pour une base de données appelée `TESTDB` à 24 heures.

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,
    'TESTDB', 
    '24')"
```

**Exemple 2 : désactivation de la durée de conservation**

L’exemple suivant désactive la conservation du journal d’archivage pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,
    'TESTDB', 
    '0')"
```

## rdsadmin.show\$1archive\$1log\$1retention
<a name="db2-sp-show-archive-log-retention"></a>

Renvoie le paramètre actuel de conservation du journal d’archivage pour la base de données spécifiée.

### Syntaxe
<a name="db2-sp-show-archive-log-retention-syntax"></a>

```
db2 "call rdsadmin.show_archive_log_retention(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-show-archive-log-retention-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données pour laquelle le paramètre de conservation du journal d’archivage doit être affiché. Le type de données est `varchar`.

### Exemples
<a name="db2-sp-show-archive-log-retention-examples"></a>

L’exemple suivant affiche la conservation du journal d’archivage pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.show_archive_log_retention(?,'TESTDB')"
```

## rdsadmin.list\$1archive\$1log\$1information
<a name="db2-sp-list-archive-log-information"></a>

Renvoie des informations sur les fichiers journaux d’archivage, tels que la taille, la date et l’heure de création, ainsi que le nom des fichiers journaux individuels pour la base de données spécifiée. Il renvoie également la quantité totale de stockage utilisée par les fichiers journaux de la base de données.

### Syntaxe
<a name="db2-sp-list-archive-log-information-syntax"></a>

```
db2 "call rdsadmin.list_archive_log_information(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-list-archive-log-information-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données pour laquelle répertorier les informations du journal d’archivage. Le type de données est `varchar`.

### Exemples
<a name="db2-sp-list-archive-log-information-examples"></a>

L’exemple suivant renvoie les informations du journal d’archivage pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.list_archive_log_information(
    ?,
    'TESTDB')"
```

## rdsadmin.enable\$1archive\$1log\$1copy
<a name="db2-sp-enable_archive_log_copy"></a>

Permet de copier le journal d'archivage de la base de données RDS Db2 vers Amazon S3.

### Syntaxe
<a name="db2-sp-enable_archive_log_copy-syntax"></a>

```
db2 "call rdsadmin.enable_archive_log_copy(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-enable_archive_log_copy-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données pour laquelle vous souhaitez activer la copie du journal d'archivage vers Amazon S3. Le type de données est `varchar`.

### Exemples
<a name="db2-sp-enable_archive_log_copy-examples"></a>

L'exemple suivant active la copie du journal d'archivage pour une base de données appelée`TESTDB`.

```
db2 "call rdsadmin.enable_archive_log_copy(
    ?,
    'TESTDB')"
```

## rdsadmin.disable\$1archive\$1log\$1copy
<a name="db2-sp-disable_archive_log_copy"></a>

Désactive la copie du journal d'archivage de la base de données RDS Db2 vers Amazon S3.

### Syntaxe
<a name="db2-sp-disable_archive_log_copy-syntax"></a>

```
db2 "call rdsadmin.disable_archive_log_copy(
    ?,
    'database_name')"
```

### Parameters
<a name="db2-sp-disable_archive_log_copy-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Le paramètre d’entrée suivant est obligatoire :

*database\$1name*  
Nom de la base de données pour laquelle vous souhaitez désactiver la copie du journal d'archivage vers Amazon S3. Le type de données est `varchar`.

### Exemples
<a name="db2-sp-disable_archive_log_copy-examples"></a>

L'exemple suivant désactive la copie du journal d'archive pour une base de données appelée`TESTDB`.

```
db2 "call rdsadmin.disable_archive_log_copy(
    ?,
    'TESTDB')"
```

## rdsadmin.fgac\$1command
<a name="db2-sp-fgac-command"></a>

Exécute des commandes de contrôle d'accès détaillées (FGAC).

### Syntaxe
<a name="db2-sp-fgac-command-syntax"></a>

```
db2 "call rdsadmin.fgac_command(
    ?,
    'database_name',
    'fgac_cmd')"
```

### Parameters
<a name="db2-sp-fgac-command-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données sur laquelle vous souhaitez exécuter les commandes FGAC. Le type de données est `varchar`.

*fgac\$1cmd*  
Commande de contrôle d'accès précise que vous souhaitez exécuter. Le type de données est `varchar`.  
Les commandes suivantes sont valides :  
+ `ALTER MASK`— Modifie un masque de colonne existant dans le contrôle d'accès aux lignes et aux colonnes (RCAC).
+ `ALTER PERMISSION`— Modifie les propriétés d'une autorisation de ligne existante dans RCAC.
+ `ALTER SECURITY POLICY`— Modifie une politique de sécurité existante pour le RCAC.
+ `ALTER SECURITY LABEL`— Modifie les propriétés d'une étiquette de sécurité existante dans le contrôle d'accès basé sur les étiquettes (LBAC). 
+ `ALTER TABLE`— Modifie la structure de la table, notamment en ajoutant des contrôles RCAC ou LBAC.
+ `CREATE MASK`— Crée un nouveau masque de colonne pour le RCAC.
+ `CREATE PERMISSION`— Crée une nouvelle autorisation de ligne pour le RCAC.
+ `CREATE SECURITY LABEL`— Crée une nouvelle étiquette de sécurité pour le LBAC.
+ `CREATE SECURITY POLICY`— Crée une nouvelle politique de sécurité pour le RCAC.
+ `DROP MASK`— Supprime un masque de colonne existant.
+ `DROP PERMISSION`— Supprime une autorisation de ligne existante.
+ `DROP SECURITY LABEL`— Supprime une étiquette de sécurité du LBAC.
+ `DROP SECURITY POLICY`— Supprime une politique de sécurité RCAC existante.
+ `GRANT EXEMPTION ON RULE`— Permet à un utilisateur de contourner des règles LBAC spécifiques.
+ `GRANT SECURITY LABEL`— Attribue une étiquette de sécurité LBAC à un utilisateur.
+ `REVOKE EXEMPTION ON RULE`— Supprime l'exemption d'un utilisateur aux règles LBAC.
+ `REVOKE SECURITY LABEL`— Supprime une étiquette de sécurité LBAC attribuée à un utilisateur.

### Notes d’utilisation
<a name="db2-sp-fgac-command-usage-notes"></a>

Cette procédure stockée contrôle l'accès au niveau de la ligne ou de la colonne aux données de table de votre base de données sur une instance de base de données RDS pour DB2. RDS pour Db2 prend en charge deux types de FGAC sur la base de données : 
+ Contrôle d'accès basé sur des étiquettes (LBAC)
+ Contrôle d'accès aux lignes et aux colonnes (RCAC)

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes : 
+ Pour éviter un guillemet simple ('), utilisez un guillemet simple supplémentaire. Les exemples suivants montrent comment s'échapper `'apple'``'banana'`, et`'fruit'`.

  ```
  db2 "call rdsadmin.fgac_command(
      ?,
      'testdb',
      'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
  ```

  ```
  db2 "call rdsadmin.fgac_command(
      ?, 
      'testdb', 
      'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')"
  ```
+ Pour éviter les crochets ([]), utilisez une barre oblique inverse (\$1). L'exemple suivant montre comment s'échapper`[''apple'',''banana'']`. 

  ```
  db2 "call rdsadmin.fgac_command(
      ?, '
      testdb', 
      'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"
  ```

### Exemples
<a name="db2-sp-fgac-command-examples"></a>

Les exemples suivants exécutent tous des commandes FGAC sur une base de données appelée`testdb`.

**Exemple 1 : Création d'une nouvelle étiquette de sécurité appelée `FRUITSET`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
```

**Exemple 2 : Création d'un nouveau masque pour la `EMP_ID` colonne qui est activé lorsque la valeur `EMP_ID` est inférieure à trois**

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"
```

**Exemple 3 : Création d'un nouveau masque pour la `DEPARTMENT` colonne qui est activé lorsqu'il `SESSION_USER` est défini sur `security_user`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE  WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"
```

**Exemple 4 : Création d'une nouvelle étiquette de sécurité appelée `treelabel`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE SECURITY LABEL COMPONENT treelabel  TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"
```

## rdsadmin.db2support\$1command
<a name="db2-sp-db2support-command"></a>

Collecte des informations de diagnostic sur une base de données RDS pour DB2 et les télécharge dans un compartiment Amazon S3.

### Syntaxe
<a name="db2-sp-db2support-command-syntax"></a>

```
db2 "call rdsadmin.db2support_command(
    ?,
    'database_name',
    's3_bucket_name',
    's3_prefix')"
```

### Parameters
<a name="db2-sp-db2support-command-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement `?`.

Les paramètres d’entrée suivants sont obligatoires :

*database\$1name*  
Nom de la base de données pour laquelle les informations de diagnostic doivent être collectées. Le type de données est `varchar`.

*s3\$1bucket\$1name*  
Le nom du compartiment Amazon S3 dans lequel vous souhaitez télécharger les informations de diagnostic. Le type de données est `varchar`.

*s3\$1prefix*  
Préfixe du chemin d'accès à Amazon S3 où RDS for Db2 télécharge les fichiers de diagnostic. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-db2support-command-usage-notes"></a>

Cette procédure stockée collecte des informations de diagnostic qui peuvent aider à résoudre les problèmes des bases de données RDS pour Db2 et télécharge les informations dans un compartiment Amazon S3.

La procédure stockée utilise l'IBM`db2support`utilitaire pour collecter des données de diagnostic. Pour plus d'informations sur cet utilitaire, voir [db2support - Commande de l'outil d'analyse des problèmes et de collecte d'environnements](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2support-problem-analysis-environment-collection-tool) dans la IBM Db2 documentation.

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes :
+ Pour télécharger les fichiers de diagnostic sur Amazon S3, vous devez déjà avoir configuré l'intégration. Pour de plus amples informations, veuillez consulter [Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3](db2-s3-integration.md).
+ Pour qu'une instance de base de données RDS for Db2 puisse interagir avec Amazon S3, vous devez disposer d'un VPC et d'un point de terminaison de passerelle Amazon S3 que les sous-réseaux privés peuvent utiliser. Pour plus d’informations, consultez [Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3](db2-troubleshooting.md#db2-creating-endpoint) et [Étape 2 : vérification de l’existence du point de terminaison de votre passerelle VPC pour Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

Avant d’appeler`rdsadmin.db2support_command`, vous devez vous connecter à la base de données `rdsadmin`. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par votre RDS pour les informations d'instance de base de données DB2 :

```
db2 connect to rdsadmin user master_username using master_password
```

Pour plus d'informations sur la vérification de l'état de la collecte des informations de diagnostic, consultez[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-db2support-command-examples"></a>

**Exemple 1 : collecte d'informations de diagnostic pour une base de données**

L'exemple suivant collecte des informations de diagnostic pour une base de données appelée `TESTDB` et les télécharge dans le compartiment Amazon S3 appelé `amzn-s3-demo-bucket` avec le préfixe `diagnostics/testdb` :

```
db2 "call rdsadmin.db2support_command(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'diagnostics/testdb')"
```

**Exemple 2 : collecte d'informations de diagnostic avec un préfixe basé sur la date**

L'exemple suivant collecte des informations de diagnostic pour une base de données appelée `MYDB` et les télécharge dans le compartiment Amazon S3 appelé `amzn-s3-demo-bucket` avec un préfixe basé sur la date :

```
db2 "call rdsadmin.db2support_command(
    ?,
    'MYDB',
    'amzn-s3-demo-bucket',
    'support/2024/01/15')"
```

# Procédures stockées pour l’accès au stockage pour RDS for Db2
<a name="db2-sp-managing-storage-access"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent l’accès au stockage pour les bases de données RDS for Db2 qui utilisent Amazon S3 pour la migration des données. Pour plus d’informations, consultez [Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2](db2-migration-load-from-s3.md).

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.catalog\$1storage\$1access](#db2-sp-catalog-storage-access)
+ [rdsadmin.uncatalog\$1storage\$1access](#db2-sp-uncatalog-storage-access)

## rdsadmin.catalog\$1storage\$1access
<a name="db2-sp-catalog-storage-access"></a>

Catalogue un alias de stockage permettant d’accéder à un compartiment Amazon S3 contenant des fichiers de données Db2.

### Syntaxe
<a name="db2-sp-catalog-storage-access-syntax"></a>

```
db2 "call rdsadmin.catalog_storage_access(
    ?,
    'alias',
    's3_bucket_name',
    'grantee_type',
    'grantee'
    )"
```

### Paramètres
<a name="db2-sp-catalog-storage-access-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Le type de données est `varchar`.

Les paramètres d’entrée suivants sont obligatoires :

*alias*  
Nom d’alias permettant d’accéder au stockage à distance dans un compartiment Amazon S3. Le type de données est `varchar`.

*s3\$1bucket\$1name*  
Nom du compartiment Amazon S3 dans lequel vos données résident. Le type de données est `varchar`.

*grantee\$1type*  
Type de bénéficiaire à recevoir l’autorisation. Le type de données est `varchar`. Valeurs valides : `USER`, `GROUP`.

*grantee*  
Utilisateur ou groupe devant recevoir l’autorisation. Le type de données est `varchar`. 

### Notes d’utilisation
<a name="db2-sp-catalog-storage-access-usage-notes"></a>

Amazon RDS inclut l’alias catalogué dans le rôle IAM que vous avez ajouté à votre instance de base de données RDS for Db2. Si vous supprimez le rôle IAM de votre instance de base de données, Amazon RDS supprime l’alias. Pour plus d’informations, consultez [Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2](db2-migration-load-from-s3.md).

Pour plus d’informations sur la vérification du statut de catalogage de votre alias, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-catalog-storage-access-examples"></a>

L’exemple suivant enregistre un alias appelé `SAMPLE`. L’utilisateur `jorge_souza` a accès au compartiment Amazon S3 appelé `amzn-s3-demo-bucket`.

```
db2 "call rdsadmin.catalog_storage_access(
    ?,
    'SAMPLE', 
    'amzn-s3-demo-bucket', 
    'USER', 
    'jorge_souza')"
```

## rdsadmin.uncatalog\$1storage\$1access
<a name="db2-sp-uncatalog-storage-access"></a>

Supprime un alias d’accès au stockage.

### Syntaxe
<a name="db2-sp-uncatalog-storage-access-syntax"></a>

```
db2 "call rdsadmin.uncatalog_storage_access(
    ?,
    'alias')"
```

### Paramètres
<a name="db2-sp-uncatalog-storage-access-parameters"></a>

Les paramètres de sortie suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Le type de données est `varchar`.

Le paramètre d’entrée suivant est obligatoire :

*alias*  
Nom de l’alias de stockage à supprimer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-uncatalog-storage-access-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de suppression de votre alias, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-uncatalog-storage-access-examples"></a>

L’exemple suivant supprime un alias appelé `SAMPLE`. Cet alias ne donne plus accès au compartiment Amazon S3 auquel il était associé.

```
db2 "call rdsadmin.uncatalog_storage_access(
    ?,
    'SAMPLE')"
```

# Procédures stockées pour les tablespaces pour RDS for Db2
<a name="db2-sp-managing-tablespaces"></a>

Les procédures stockées intégrées décrites dans cette rubrique gèrent les tablespaces pour les bases de données Amazon RDS for Db2. Pour exécuter ces procédures, l’utilisateur principal doit d’abord se connecter à la base de données `rdsadmin`. 

Ces procédures stockées sont utilisées dans diverses tâches. Cette liste n’est pas exhaustive.
+ [Tâches courantes pour les tablespaces](db2-managing-tablespaces.md)
+ [Génération de rapports de performance](db2-managing-databases.md#db2-generating-performance-reports)
+ [Copie des métadonnées d’une base de données avec db2look](db2-native-db2-tools-db2look.md)
+ [Création d’une base de données de référentiel pour IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md#db2-creating-repo-db-monitoring-dmc)

Reportez-vous aux procédures stockées intégrées suivantes pour obtenir des informations sur leur syntaxe, leurs paramètres, leurs notes d’utilisation et des exemples.

**Topics**
+ [rdsadmin.create\$1tablespace](#db2-sp-create-tablespace)
+ [rdsadmin.alter\$1tablespace](#db2-sp-alter-tablespace)
+ [rdsadmin.rename\$1tablespace](#db2-sp-rename-tablespace)
+ [rdsadmin.drop\$1tablespace](#db2-sp-drop-tablespace)

## rdsadmin.create\$1tablespace
<a name="db2-sp-create-tablespace"></a>

Crée un tablespace.

### Syntaxe
<a name="db2-sp-create-tablespace-syntax"></a>

```
db2 "call rdsadmin.create_tablespace(
    'database_name', 
    'tablespace_name',
    'buffer_pool_name', 
    tablespace_page_size,
    tablespace_initial_size, 
    tablespace_increase_size, 
    'tablespace_type',
    'tablespace_prefetch_size')"
```

### Parameters
<a name="db2-sp-create-tablespace.parameters"></a>

Les paramètres suivants sont obligatoires : 

*database\$1name*  
Nom de la table de base de données dans laquelle créer le tablespace. Le type de données est `varchar`.

*tablespace\$1name*  
Nom du tablespace à créer. Le type de données est `varchar`.  
Le nom du tablespace présente les restrictions suivantes :  
+ Ce nom ne peut pas être identique à celui d’un tablespace existant dans cette base de données.
+ Il ne peut contenir que les caractères `_$#@a-zA-Z0-9`.
+ Il ne peut pas commencer par `_` ou `$`.
+ Il ne peut pas commencer par `SYS`.

Les paramètres suivants sont facultatifs :

*buffer\$1pool\$1name*  
Nom du groupe de mémoires tampons à attribuer au tablespace. Le type de données est `varchar`. La valeur par défaut est une chaîne vide.  
Vous devez déjà disposer d’un groupe de mémoires tampons de la même taille de page à associer au tablespace.

*tablespace\$1page\$1size*  
Taille de page du tablespace en octets. Le type de données est `integer`. Valeurs valides: `4096`, `8192`, `16384`, `32768`. La taille de page par défaut est celle utilisée lorsque vous avez créé la base de données en appelant [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).  
Amazon RDS prend en charge l’atomicité d’écriture pour les pages de 4 Kio, 8 Kio et 16 Kio. En revanche, les pages de 32 Kio risquent des écritures déchirées ou des données partielles écrites sur le bureau. Si vous utilisez des pages 32 KiB, nous vous recommandons d'activer la point-in-time restauration et les sauvegardes automatisées. Sinon, vous risquez de ne pas pouvoir récupérer les pages déchirées. Pour plus d’informations, consultez [Présentation des sauvegardes](USER_WorkingWithAutomatedBackups.md) et [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

*tablespace\$1initial\$1size*  
Taille initiale du tablespace en kilo-octets (Ko). Le type de données est `integer`. Valeurs valides : `48` ou plus. La valeur par défaut est NULL.   
Si vous ne définissez aucune valeur, Db2 définit une valeur appropriée pour vous.   
Ce paramètre ne s’applique pas aux tablespaces temporaires, car le système gère les tablespaces temporaires.

*tablespace\$1increase\$1size*  
Pourcentage d’augmentation du tablespace lorsqu’il est plein. Le type de données est `integer`. Valeurs valides : `1` - `100`. La valeur par défaut est NULL.  
Si vous ne définissez aucune valeur, Db2 définit une valeur appropriée pour vous.  
Ce paramètre ne s’applique pas aux tablespaces temporaires, car le système gère les tablespaces temporaires.

*tablespace\$1type*  
Taille du tablespace. Le type de données est `char`. Valeurs valides : `U` (pour les données utilisateur), `T` (pour les données temporaires de l’utilisateur) ou `S` (pour les données temporaires du système). La valeur par défaut est `U`.

*tablespace\$1prefetch\$1size*  
Taille de page prefetch en octets. Le type de données est `char`. Valeurs valides : `AUTOMATIC` (insensible à la casse) ou entiers positifs non nuls inférieurs ou égaux à 32767.

### Notes d’utilisation
<a name="db2-sp-create-tablespace-usage-notes"></a>

RDS for Db2 crée toujours une base de données volumineuse. 

Pour plus d’informations sur la vérification du statut de création d’un tablespace, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemples
<a name="db2-sp-create-tablespace-examples"></a>

**Exemple 1 : création d’un tablespace et attribution d’un groupe de mémoires tampons**

L’exemple suivant crée un groupe de mémoires tampons appelé `SP8` et attribue un groupe de mémoires tampons appelé `BP8` pour une base de données appelée `TESTDB`. Le tablespace a une taille de page initiale de 4 096 octets, un tablespace initial de 1 000 Ko et une augmentation de taille de table définie à 50 %.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8',
    4096,
    1000,
    50)"
```

**Exemple 2 : création d’un tablespace temporaire et attribution d’un groupe de mémoires tampons**

L’exemple suivant crée un tablespace temporaire nommé `SP8`. Il attribue un groupe de mémoires tampons appelé `BP8` d’une taille de 8 Kio pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    8192, 
    NULL, 
    NULL, 
    'T')"
```

**Exemple 3 : création d’un tablespace et attribution d’une taille de page prefetch**

L’exemple suivant crée un tablespace appelé `SP8` pour une base de données appelée `TESTDB`. Le tablespace a une taille initiale d’augmentation de `50` et une taille de page prefetch de `800`.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    NULL,
    NULL,
    NULL,
    50,
    NULL,
    '800')"
```

## rdsadmin.alter\$1tablespace
<a name="db2-sp-alter-tablespace"></a>

Modifie un tablespace.

### Syntaxe
<a name="db2-sp-alter-tablespace-syntax"></a>

```
db2 "call rdsadmin.alter_tablespace(
    'database_name', 
    'tablespace_name', 
    'buffer_pool_name', 
    tablespace_increase_size, 
    'max_size', 
    'reduce_max', 
    'reduce_stop', 
    'reduce_value', 
    'lower_high_water', 
    'lower_high_water_stop', 
    'switch_online',
    'tablespace_prefetch_size')"
```

### Parameters
<a name="db2-sp-alter-tablespace-parameters"></a>

Les paramètres suivants sont obligatoires : 

*database\$1name*  
Nom de la base de données qui utilise le tablespace. Le type de données est `varchar`.

*tablespace\$1name*  
Nom du tablespace à modifier. Le type de données est `varchar`.

Les paramètres suivants sont facultatifs :

*buffer\$1pool\$1name*   
Nom du groupe de mémoires tampons à attribuer au tablespace. Le type de données est `varchar`. La valeur par défaut est une chaîne vide.  
Vous devez déjà disposer d’un groupe de mémoires tampons de la même taille de page à associer au tablespace.

*tablespace\$1increase\$1size*  
Pourcentage d’augmentation du tablespace lorsqu’il est plein. Le type de données est `integer`. Valeurs valides : `1` - `100`. La valeur par défaut est `0`.

*max\$1size*  
Taille maximale du tablespace. Le type de données est `varchar`. Valeurs valides : *integer* `K` `M` \$1 \$1 `G` ou`NONE`. La valeur par défaut est `NONE`.

*reduce\$1max*  
Indique s’il faut réduire la limite supérieur à sa limite maximale. Le type de données est `char`. La valeur par défaut est `N`.

*reduce\$1stop*  
Indique s’il faut interrompre une commande `reduce_max` ou `reduce_value` précédente. Le type de données est `char`. La valeur par défaut est `N`.

*reduce\$1value*  
Le nombre ou le pourcentage à appliquer pour réduire la limite supérieure du tablespace. Le type de données est `varchar`. Valeurs valides : *integer* `K` `M` \$1 \$1 `G` ou `1` —`100`. La valeur par défaut est `N`.

*lower\$1high\$1water*  
Indique s’il faut exécuter la commande `ALTER TABLESPACE LOWER HIGH WATER MARK`. Le type de données est `char`. La valeur par défaut est `N`.

*lower\$1high\$1water\$1stop*  
Indique s’il faut exécuter la commande `ALTER TABLESPACE LOWER HIGH WATER MARK STOP`. Le type de données est `char`. La valeur par défaut est `N`.

*switch\$1online*  
Indique s’il faut exécuter la commande `ALTER TABLESPACE SWITCH ONLINE`. Le type de données est `char`. La valeur par défaut est `N`.

*tablespace\$1prefetch\$1size*  
Taille de page prefetch en octets. Le type de données est `char`. Valeurs valides : `AUTOMATIC` (insensible à la casse) ou entiers positifs non nuls inférieurs ou égaux à 32767.  
Ce paramètre ne fonctionne qu’avec `buffer_pool_name`, `table_increase_size`, `max_size` et `switch_online`. Il ne fonctionne pas avec `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water` et `lower_high_water_stop`.

### Notes d’utilisation
<a name="db2-sp-alter-tablespace-usage-notes"></a>

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes :
+ La procédure stockée `rdsadmin.alter_tablespace` ne fonctionnera pas sur un tablespace avec `tablespace_type` défini sur `T` pour les données temporaires de l’utilisateur.
+ Les paramètres facultatifs `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop` et `switch_online` s’excluent mutuellement. Vous ne pouvez pas les combiner avec d’autres paramètres facultatifs, tels que `buffer_pool_name` dans la commande `rdsadmin.alter_tablespace`. Pour plus d’informations, consultez [Statement not valid](db2-troubleshooting.md#alter-tablespace-sp-statement-not-valid).

Pour plus d’informations sur la vérification du statut de modification d’un tablespace, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

Pour les messages d’erreur renvoyés lors de l’appel de procédures stockées, consultez [Erreurs de procédure stockée](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemples
<a name="db2-sp-alter-tablespace-examples"></a>

**Exemple 1 : abaissement de la limite supérieure**

L’exemple suivant modifier un tablespace appelé `SP8` et attribue un groupe de mémoires tampons appelé `BP8` pour une base de données appelée `TESTDB` afin d’abaisser la limite supérieure.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    NULL, 
    NULL, 
    'Y')"
```

**Exemple 2 : réduction de la limite supérieure**

L’exemple suivant exécute la commande `REDUCE MAX` sur un tablespace appelé `TBSP_TEST` dans la base de données `TESTDB`.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    'Y')"
```

**Exemple 3 : interruption des commandes pour réduire la limite supérieure**

L’exemple suivant exécute la commande `REDUCE STOP` sur un tablespace appelé `TBSP_TEST` dans la base de données `TESTDB`. 

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    'Y')"
```

**Exemple 4 : modification de la taille de page prefetch existante**

L’exemple suivant exécute la commande `ALTER TABLESPACE SWITCH ONLINE` sur un tablespace appelé `TSBP_TEST` et modifie la taille de page prefetch existante en `64`. 

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    ‘Y’,
    ‘64’)"
```

## rdsadmin.rename\$1tablespace
<a name="db2-sp-rename-tablespace"></a>

Renomme un tablespace.

### Syntaxe
<a name="db2-sp-rename-tablespace-syntax"></a>

```
db2 "call rdsadmin.rename_tablespace(
    ?,
    'database_name', 
    'source_tablespace_name',
    'target_tablespace_name')"
```

### Parameters
<a name="db2-sp-rename-tablespace-parameters"></a>

Les paramètres suivants sont obligatoires :

?  
Marqueur de paramètre qui génère un message d’erreur. Ce paramètre accepte uniquement ?.

*database\$1name*  
Nom de la base de données à laquelle le tablespace appartient. Le type de données est `varchar`.

*source\$1tablespace\$1name*  
Nom du tablespace à renommer. Le type de données est `varchar`.

*target\$1tablespace\$1name*  
Nom du nouveau tablespace. Le type de données est `varchar`.  
Le nouveau nom présente les restrictions suivantes :  
+ Ce nom ne peut pas être identique à celui d’un tablespace existant.
+ Il ne peut contenir que les caractères `_$#@a-zA-Z0-9`.
+ Il ne peut pas commencer par `_` ou `$`.
+ Il ne peut pas commencer par `SYS`.

### Notes d’utilisation
<a name="db2-sp-rename-tablespace-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de modification du nom d’un tablespace, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

Vous ne pouvez pas renommer les tablespaces appartenant à la base de données `rdsadmin`.

### Exemples
<a name="db2-sp-rename-tablespace-examples"></a>

L’exemple suivant renomme un tablespace appelé `SP8` en `SP9` pour une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.rename_tablespace(
    ?,
    'TESTDB',
    'SP8',
    'SP9')"
```

## rdsadmin.drop\$1tablespace
<a name="db2-sp-drop-tablespace"></a>

Supprime un tablespace.

### Syntaxe
<a name="db2-sp-drop-tablespace-syntax"></a>

```
db2 "call rdsadmin.drop_tablespace(
    'database_name', 
    'tablespace_name')"
```

### Parameters
<a name="db2-sp-drop-tablespace-parameters"></a>

Les paramètres suivants sont obligatoires :

*database\$1name*  
Nom de la base de données à laquelle le tablespace appartient. Le type de données est `varchar`.

*tablespace\$1name*  
Nom du tablespace à supprimer. Le type de données est `varchar`.

### Notes d’utilisation
<a name="db2-sp-drop-tablespace-usage-notes"></a>

Pour plus d’informations sur la vérification du statut de suppression d’un tablespace, consultez [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemples
<a name="db2-sp-drop-tablespace-examples"></a>

L’exemple suivant crée un tablespace appelé `SP8` à partir d’une base de données appelée `TESTDB`.

```
db2 "call rdsadmin.drop_tablespace(
    'TESTDB',
    'SP8')"
```

# Référence des fonctions définies par l’utilisateur Amazon RDS for Db2
<a name="db2-user-defined-functions"></a>

Les fonctions suivantes définies par l’utilisateur sont disponibles pour les instances de base de données Amazon RDS exécutant le moteur Db2. 

**Topics**
+ [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status)
+ [rdsadmin.list\$1databases](#db2-udf-list-databases)
+ [rdsadmin.list\$1modifiable\$1db\$1params](#db2-udf-list-modi-db-params)

## rdsadmin.get\$1task\$1status
<a name="db2-udf-get-task-status"></a>

Renvoie le statut d’une tâche.

### Syntaxe
<a name="db2-udf-get-task-status-syntax"></a>

```
db2 "select task_id, task_type, database_name, lifecycle,
    varchar(bson_to_json(task_input_params), 500) as task_params,
    cast(task_output as varchar(500)) as task_output
    from table(rdsadmin.get_task_status(task_id,'database_name','task_type'))"
```

### Parameters
<a name="db2-udf-get-task-status-parameters"></a>

Les paramètres suivants sont facultatifs. Si vous ne fournissez pas de paramètre, la fonction définie par l’utilisateur renvoie le statut de toutes les tâches pour toutes les bases de données. Amazon RDS conserve l’historique des tâches pendant 35 jours.

*task\$1id*  
ID de la tâche en cours d’exécution. Cet ID est renvoyé lorsque vous exécutez une tâche. Par défaut : `0`. 

*database\$1name*  
Nom de la base de données pour laquelle la tâche est exécutée.

*task\$1type*  
Type de tâche à interroger. Valeurs valides : `ADD_GROUPS`, `ADD_USER`, `ALTER_BUFFERPOOL`, `ALTER_TABLESPACE`, `CHANGE_PASSWORD`, `COMPLETE_ROLLFORWARD`, `CREATE_BUFFERPOOL`, `CREATE_DATABASE`, `CREATE_ROLE`, `CREATE_TABLESPACE`, `DROP_BUFFERPOOL`, `DROP_DATABASE`, `DROP_TABLESPACE`, `LIST_USERS`, `REMOVE_GROUPS`, `REMOVE_USER`, `RESTORE_DB`, `ROLLFORWARD_DB_LOG`, `ROLLFORWARD_STATUS`, `UPDATE_DB_PARAM`.

### Notes d’utilisation
<a name="db2-udf-get-task-status-usage-notes"></a>

Vous pouvez utiliser la fonction `rdsadmin.get_task_status` définie par l’utilisateur pour vérifier le statut des tâches suivantes pour Amazon RDS for Db2. Cette liste n’est pas exhaustive.
+ Création, modification ou suppression d’un groupe de mémoires tampons
+ Création, modification ou suppression d’un tablespace
+ Création ou suppression d’une base de données
+ Restauration d’une sauvegarde de base de données à partir d’Amazon S3
+ Transfert des journaux de base de données à partir d’Amazon S3

### Exemples
<a name="db2-udf-get-task-status-examples"></a>

L’exemple suivant affiche les colonnes renvoyées lorsque `rdsadmin.get_task_status` est appelé.

```
db2 "describe select * from table(rdsadmin.get_task_status())"
```

L’exemple suivant répertorie le statut de toutes les tâches.

```
db2 "select task_id, task_type, database_name, lifecycle, 
    varchar(bson_to_json(task_input_params), 500) as task_params, 
    cast(task_output as varchar(500)) as task_output 
    from table(rdsadmin.get_task_status(null,null,null))"
```

L’exemple suivant répertorie le statut d’une tâche spécifique.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(1,null,null))"
```

L’exemple suivant répertorie le statut d’une tâche et d’une base de données spécifique.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(2,'SAMPLE',null))"
```

L’exemple suivant répertorie le statut de toutes les tâches `ADD_GROUPS`.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(null,null,'add_groups'))"
```

L’exemple suivant répertorie le statut de toutes les tâches pour une base de données spécifique. 

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(null,'testdb', null))"
```

L’exemple suivant affiche les valeurs JSON sous forme de colonnes.

```
db2 "select varchar(r.task_type,25) as task_type, varchar(r.lifecycle,10) as lifecycle, r.created_at, u.* from 
    table(rdsadmin.get_task_status(null,null,'restore_db')) as r, json_table(r.task_input_params, 'strict $' columns(s3_prefix varchar(500) 
    null on empty, s3_bucket_name varchar(500) null on empty) error on error ) as U"
```

### Réponse
<a name="db2-udf-get-task-status-response"></a>

La fonction `rdsadmin.get_task_status` définie par l’utilisateur renvoie les colonnes suivantes :

`TASK_ID`  
ID de la tâche

`TASK_TYPE`  
Cela dépend des paramètres d’entrée.  
+ `ADD_GROUPS` : ajoute des groupes.
+ `ADD_USER` : ajoute un utilisateur.
+ `ALTER_BUFFERPOOL` : modifie un groupe de mémoires tampons.
+ `ALTER_TABLESPACE` : modifie un tablespace.
+ `CHANGE_PASSWORD ` : modifie le mot de passe d’un utilisateur.
+ `COMPLETE_ROLLFORWARD` : termine une tâche `rdsadmin.rollforward_database` et active une base de données.
+ `CREATE_BUFFERPOOL` : crée un groupe de mémoires tampons.
+ `CREATE_DATABASE` : crée une base de données.
+ `CREATE_ROLE` : crée un rôle Db2 pour un utilisateur.
+ `CREATE_TABLESPACE` : crée un tablespace.
+ `DROP_BUFFERPOOL` : supprime un groupe de mémoires tampons.
+ `DROP_DATABASE` : supprime une base de données.
+ `DROP_TABLESPACE` : supprime un tablespace.
+ `LIST_USERS` : répertorie tous les utilisateurs.
+ `REMOVE_GROUPS` : supprime des groupes.
+ `REMOVE_USER` : supprime un utilisateur.
+ `RESTORE_DB` : restaure une base de données complète.
+ `ROLLFORWARD_DB_LOG` : exécute une tâche `rdsadmin.rollforward_database` sur les journaux de base de données.
+ `ROLLFORWARD_STATUS ` : renvoie le statut d’une tâche `rdsadmin.rollforward_database`.
+ `UPDATE_DB_PARAM` : met à jour les paramètres des données.

`DATABASE_NAME`  
Nom de la base de données à laquelle est associée à la tâche.

`COMPLETED_WORK_BYTES`  
Nombre d’octets restaurés par la tâche.

`DURATION_MINS`  
Temps nécessaire pour terminer la tâche. 

`LIFECYCLE`  
État de la tâche. Statuts possibles :  
+ `CREATED` : une fois qu’une tâche est soumise à Amazon RDS, Amazon RDS définit le statut sur `CREATED`.
+ `IN_PROGRESS` : après le démarrage d’une tâche, Amazon RDS défini le statut sur `IN_PROGRESS`. Il peut s’écouler jusqu’à 5 minutes avant qu’un statut ne passe de `CREATED` à `IN_PROGRESS`.
+ `SUCCESS` : lorsqu’une tâche est terminée, Amazon RDS défini le statut sur `SUCCESS`.
+ `ERROR` : si une tâche de restauration échoue, Amazon RDS définit le statut sur `ERROR`. Pour plus d’informations sur l’erreur, consultez `TASK_OUPUT`. 

`CREATED_BY`  
Le `authid` qui a créé la commande.

`CREATED_AT`  
Date et heure de création de la tâche.

`LAST_UPDATED_AT`  
Date et heure de la dernière mise à jour de la tâche.

`TASK_INPUT_PARAMS`  
Les paramètres varient en fonction du type de tâche. Tous les paramètres d’entrée sont représentés sous forme d’objet JSON. Par exemple, les clés JSON de la tâche `RESTORE_DB` sont les suivantes :   
+ `DBNAME`
+ `RESTORE_TIMESTAMP`
+ `S3_BUCKET_NAME`
+ `S3_PREFIX`

`TASK_OUTPUT`  
Informations supplémentaires sur la tâche. Si une erreur se produit lors de la restauration native, cette colonne inclut des informations sur l’erreur. 

### Exemples de réponses
<a name="db2-udf-get-task-status-response-examples"></a>

L’exemple de réponse suivant montre qu’une base de données appelée `TESTJP` a été créée avec succès. Pour plus d’informations, consultez la procédure stockée [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

```
`1 SUCCESS CREATE_DATABASE RDSDB 2023-10-24-18.32.44.962689 2023-10-24-18.34.50.038523 1 TESTJP { "CODESET" : "IBM-437", "TERRITORY" : "JP", "COLLATION" : "SYSTEM", "AUTOCONFIGURE_CMD" : "", "PAGESIZE" : 4096 } 
2023-10-24-18.33.30.079048 Task execution has started.

2023-10-24-18.34.50.038523 Task execution has completed successfully`.
```

L’exemple de réponse suivant explique pourquoi la suppression d’une base de données a échoué. Pour plus d’informations, consultez la procédure stockée [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database).

```
1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started.
2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. 
Reason Dropping database created via rds CreateDBInstance api is not allowed. 
Only database created using rdsadmin.create_database can be dropped
```

L’exemple de réponse suivant montre la restauration réussie d’une base de données. Pour plus d’informations, consultez la procédure stockée [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

```
1 RESTORE_DB  SAMPLE  SUCCESS   
                                         
{ "S3_BUCKET_NAME" : "amzn-s3-demo-bucket", "S3_PREFIX" : "SAMPLE.0.rdsdb3.DBPART000.20230413183211.001", "RESTORE_TIMESTAMP" : "20230413183211", "BACKUP_TYPE" : "offline" }                                                                                                                                                                                                                                                                                                                                                   

2023-11-06-18.31.03.115795 Task execution has started.
2023-11-06-18.31.04.300231 Preparing to download
2023-11-06-18.31.08.368827 Download complete. Starting Restore
2023-11-06-18.33.13.891356 Task Completed Successfully
```

## rdsadmin.list\$1databases
<a name="db2-udf-list-databases"></a>

Renvoie une liste de toutes les bases de données exécutées sur une instance de base de données RDS for Db2.

### Syntaxe
<a name="db2-udf-list-databases-syntax"></a>

```
db2 "select * from table(rdsadmin.list_databases())"
```

### Notes d’utilisation
<a name="db2-udf-list-databases-usage-notes"></a>

Cette fonction définie par l’utilisateur ne précise pas si les bases de données sont activées ou désactivées. 

Si vos bases de données ne sont pas répertoriées dans la liste, appelez la fonction [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status) définie par l’utilisateur et recherchez les messages d’erreur.

### Réponse
<a name="db2-udf-list-databases-response"></a>

La fonction `rdsadmin.list_databases` définie par l’utilisateur renvoie les colonnes suivantes : 

`DATABASE_NAME`  
Nom d’une base de données.

`CREATE_TIME`  
Date et heure de création de la base de données.

`DATABASE_UNIQUE_ID`  
Le RDS a créé un GUID pour identifier de manière unique la base de données DB2.

`ARCHIVE_LOG_RETENTION_HOUR`  
Nombre d’heures pendant lesquelles les fichiers journaux d’archivage doivent être conservés.

`ARCHIVE_LOG_COPY`  
Indique si la fonctionnalité est ACTIVÉE ou DÉSACTIVÉE pour la base de données.

`ARCHIVE_LOG_LAST_UPLOAD_FILE `  
Indique le dernier journal d'archivage chargé sur S3.

`ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME`  
Indique l'heure à laquelle le fichier journal a été archivé.

`ARCHIVE_LOG_COPY_STATUS`  
Affiche l'état de la copie du journal d'archivage.  
TÉLÉCHARGEMENT : indique que les fichiers journaux d'archives sont en cours de téléchargement vers S3.  
CONFIGURATION\$1ERROR : indique qu'un problème de configuration nécessite votre attention.   
Pour afficher le détail de l'erreur, consultez les messages d'événement RDS relatifs à votre instance de base de données. Les messages relatifs aux événements peuvent être consultés sur la [page Visualisation des événements Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html)

### Exemples de réponses
<a name="db2-udf-list-databases-response-examples"></a>

L’exemple de réponse suivant montre une liste de bases de données et l’heure à laquelle elles ont été créées. `rdsadmin` est une base de données gérée par Amazon RDS et qui apparaît toujours dans la sortie.

```
DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
--------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         0 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
...
```

## rdsadmin.list\$1modifiable\$1db\$1params
<a name="db2-udf-list-modi-db-params"></a>

Renvoie la liste de tous les paramètres de configuration de base de données modifiables.

### Syntaxe
<a name="db2-udf-list-modi-db-params-syntax"></a>

```
db2 "select * from table(rdsadmin.list_modifiable_db_params())"
```

### Notes d’utilisation
<a name="db2-udf-list-modi-db-params-usage-notes"></a>

Cette fonction définie par l'utilisateur affiche une liste sélectionnée de paramètres de base de données modifiables. Ces paramètres peuvent être mis à jour à l'aide de la procédure stockée[rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Tout paramètre de base de données non inclus dans cette liste a été restreint et ne peut pas être modifié.

### Réponse
<a name="db2-udf-list-modi-db-params-response"></a>

La fonction `rdsadmin.list_modifiable_db_params` définie par l’utilisateur renvoie les colonnes suivantes : 

`PARAM_NAME`  
Nom du paramètre qui peut être modifié.

`DEFAULT_VALUE`  
Valeur du paramètre par défaut au moment de la création de la base de données.

`RESTART_REQUIRED`  
Si le recyclage de la base de données est requis ou non.  
 Y = Oui, le redémarrage de la base de données est nécessaire.  
 N = Non, le redémarrage de la base de données n'est pas nécessaire.

### Exemples de réponses
<a name="db2-udf-list-modi-db-params-response-examples"></a>

Voici un exemple de liste (tronquée) des résultats attendus.

```
PARAM_NAME             DEFAULT_VALUE RESTART_REQUIRED
---------------------- ------------- ----------------
ACT_SORTMEM_LIMIT      NONE          N
ARCHRETRYDELAY         20            N
AUTHN_CACHE_DURATION   3             N
AUTHN_CACHE_USERS      0             N
AUTO_CG_STATS          OFF           N
...
```

# Dépannage d’Amazon RDS for Db2
<a name="db2-troubleshooting"></a>

Le contenu suivant peut vous aider à résoudre les problèmes que vous pouvez rencontrer avec RDS for Db2.

Pour plus d’informations sur la résolution des problèmes courants liés à Amazon RDS, consultez [Dépannage d’Amazon RDS](CHAP_Troubleshooting.md).

**Topics**
+ [Erreur de connexion de la base de données](#db2-database-connection-error)
+ [I/O Erreur de fichier](#db2-file-input-output-error)
+ [Erreurs de procédure stockée](#db2-troubleshooting-stored-procedures)

## Erreur de connexion de la base de données
<a name="db2-database-connection-error"></a>

Le message d’erreur suivant indique qu’une base de données n’a pas pu se connecter, car le serveur ne dispose pas de suffisamment de mémoire.

```
SQL1643C The database manager failed to allocate shared memory because the
database manager instance memory limit has been reached.
```

Augmentez la mémoire de votre instance de base de données, puis essayez de vous reconnecter à votre base de données. Pour plus d’informations sur l’utilisation de la mémoire et les recommandations relatives aux bases de données, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md). Pour plus d’informations sur la manière de mettre à jour la mémoire d’une base de données RDS for Db2, consultez [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

## I/O Erreur de fichier
<a name="db2-file-input-output-error"></a>

Vous pouvez rencontrer une I/O erreur de fichier pour différentes raisons, par exemple lorsque vous utilisez la `LOAD` commande ou que vous appelez la procédure `rdsadmin.restore_database` stockée. 

Dans cet exemples, vous exécutez la commande `LOAD` suivante. 

```
db2 "call sysproc.admin_cmd('load from "DB2REMOTE://s3test//public/datapump/t6.del" of del lobs from "DB2REMOTE://s3test/public/datapump/" modified by lobsinfile MESSAGES ON SERVER insert INTO RDSDB.t6 nonrecoverable ')"
```

La commande `LOAD` renvoie le message suivant :

```
  Result set 1
  --------------

  ROWS_READ            ROWS_SKIPPED         ROWS_LOADED          ROWS_REJECTED        ROWS_DELETED         ROWS_COMMITTED       ROWS_PARTITIONED     NUM_AGENTINFO_ENTRIES MSG_RETRIEVAL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    MSG_REMOVAL
  -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                     -                    -                    -                    -                    -                    -                    -                     - SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG                                                                                                                                                                                                                                                                                                                                                                                                                                            CALL SYSPROC.ADMIN_REMOVE_MSGS('1594987316_285548770')

  1 record(s) selected.

  Return Status = 0

SQL20397W  Routine "SYSPROC.ADMIN_CMD" execution has completed, but at least
one error, "SQL1652", was encountered during the execution. More information
is available.  SQLSTATE=01H52
```

Pour afficher le message d’erreur, vous devez exécuter la commande SQL comme suggéré dans la réponse précédente. `SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG` renvoie le message suivant :

```
SQLCODE   MSG
--------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL2025N  An I/O error occurred. Error code “438”. Media on which this error occurred: “DB2REMOTE://s3test//public/datapump/t6.del”

SQL3500W The utility is beginning the LOAD phase at time “07/05/2024 21:21:48.082954”

SQL1652N File I/O error occurred
```

Les journaux de diagnostic Db2 contiennent un fichier journal similaire au suivant :

```
2024-07-05-21.20.09.440609+000 I1191321E864          LEVEL: Error
PID     : 2710                 TID : 139619509200640 PROC : db2sysc 0
INSTANCE: rdsdb                NODE : 000            DB   : NTP
APPHDL  : 0-12180              APPID: xxx.xx.x.xxx.xxxxx.xxxxxxxxxxxx
UOWID   : 5                    ACTID: 1
AUTHID  : ADMIN                HOSTNAME: ip-xx-xx-x-xx
EDUID   : 147                  EDUNAME: db2lmr 0
FUNCTION: DB2 UDB, oper system services, sqloS3Client_GetObjectInfo, probe:219
MESSAGE : ZRC=0x870F01B6=-2029059658=SQLO_FAILED
          "An unexpected error is encountered"
DATA #1 : String, 29 bytes
S3:HeadObject request failed.
DATA #2 : signed integer, 4 bytes
99
DATA #3 : String, 0 bytes
Object not dumped: Address: 0x00007EFC08A9AE38 Size: 0 Reason: Zero-length data
DATA #4 : String, 33 bytes
curlCode: 28, Timeout was reached
```

Cette I/O erreur de fichier peut être le résultat de plusieurs scénarios différents. Par exemple, le VPC associé au groupe de sécurité utilisé pour créer votre instance de base de données RDS for Db2 peut ne pas disposer d’un point de terminaison de passerelle Amazon S3. Ce point de terminaison est essentiel pour permettre à RDS for Db2 d’accéder à Amazon S3. Si votre instance de base de données RDS for Db2 se trouve dans des sous-réseaux privés, un point de terminaison de passerelle Amazon S3 est requis. Vous pouvez spécifier si votre instance de base de données utilise des sous-réseaux privés ou publics en configurant des groupes de sous-réseaux Amazon RDS. Pour plus d’informations, consultez [Utilisation de groupes de sous-réseaux DB](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets).

**Topics**
+ [Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3](#db2-creating-endpoint)
+ [Étape 2 : vérification de l’existence du point de terminaison de votre passerelle VPC pour Amazon S3 existe](#db2-confirming-endpoint)

### Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3
<a name="db2-creating-endpoint"></a>

Pour que votre instance de base de données RDS for Db2 interagisse avec Amazon S3, créez un VPC, puis un point de terminaison de passerelle Amazon S3 que les sous-réseaux privés pourront utiliser.

**Création d’un point de terminaison de passerelle VPC pour S3**

1. Créez un VPC. Pour plus d’informations, consultez [Création d’un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) dans le *Guide de l’utilisateur Amazon Virtual Private Cloud*.

1. Créez un point de terminaison de passerelle Amazon S3 pour les sous-réseaux privés à utiliser. Pour plus d’informations, consultez [Points de terminaison de passerelle](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html) dans le *Guide AWS PrivateLink *.

### Étape 2 : vérification de l’existence du point de terminaison de votre passerelle VPC pour Amazon S3 existe
<a name="db2-confirming-endpoint"></a>

Vérifiez que vous avez correctement créé un point de terminaison de passerelle Amazon S3 à l’aide de la AWS Management Console ou d’ AWS CLI.

#### Console
<a name="db2-confirming-endpoing-console"></a>

**Confirmation du point de terminaison de passerelle Amazon S3**

1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc)

1.  Dans le coin supérieur droit de la console, choisissez la Région AWS de votre VPC.

1. Sélectionnez le VPC que vous avez créé.

1. Dans l’onglet **Carte des ressources**, sous **Connexions réseau**, vérifiez qu’un point de terminaison de passerelle Amazon S3 est répertorié. 

#### AWS CLI
<a name="db2-confirming-endpoint-cli"></a>

Pour confirmer le point de terminaison d’une passerelle Amazon S3, exécutez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html). Dans l'exemple suivant, remplacez *vpc\$1id* par l'ID VPC, par votre et *region* par le Région AWS nom *profile* de votre profil.

Pour Linux, macOS ou Unix :

```
aws ec2 describe-vpc-endpoints \
    --filters "Name=vpc-id,Values=$vpc_id" \
    "Name=service-name,\
    Values=com.amazonaws.${region}.s3" \
    --region $region --profile=$profile \
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Pour Windows :

```
aws ec2 describe-vpc-endpoints ^
    --filters "Name=vpc-id,Values=$vpc_id" ^
    "Name=service-name,^
    Values=com.amazonaws.${region}.s3" ^
    --region $region --profile=$profile ^
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant s’il existe un point de terminaison de passerelle Amazon S3. 

```
[
    "vpce-0ea810434ff0b97e4"
]
```

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant s’il n’existe pas de point de terminaison de passerelle Amazon S3. 

```
[]
```

Si aucun point de terminaison de passerelle Amazon S3 n’est répertorié, alors [Étape 1 : création d’un point de terminaison de passerelle VPC pour Amazon S3](#db2-creating-endpoint). 

## Erreurs de procédure stockée
<a name="db2-troubleshooting-stored-procedures"></a>

Cette section décrit les différentes erreurs renvoyées lors de l’appel de procédures stockées et explique comment les résoudre.


| Catégorie | Erreurs de procédure stockée | 
| --- | --- | 
|  Bases de données  |  [erreurs rdsadmin.activate\$1database](#db2-troubleshooting-activate-database-sp-errors)  | 
|  Bases de données  |  [Erreurs rdsadmin.backup\$1database](#db2-troubleshooting-backup-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.create\$1database](#db2-troubleshooting-create-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.deactivate\$1database](#db2-troubleshooting-deactivate-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.drop\$1database](#db2-troubleshooting-drop-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.reactivate\$1database](#db2-troubleshooting-reactivate-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.restore\$1database](#db2-troubleshooting-restore-database-sp-errors)  | 
|  Bases de données  |  [erreurs rdsadmin.update\$1db\$1param](#db2-troubleshooting-update-db-param-sp-errors)  | 
|  Espaces de table  |  [erreurs rdsadmin.alter\$1tablespace](#db2-troubleshooting-alter-tablespace-sp-errors)  | 

### erreurs rdsadmin.activate\$1database
<a name="db2-troubleshooting-activate-database-sp-errors"></a>

Les erreurs suivantes peuvent se produire lorsque vous appelez la procédure stockée [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Failed to allocate shared memory](#activate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to activate because of running processes](#activate-database-sp-unable-to-activate-processes)  |  `The database can’t be activated because it's in the process of being created or restored.`  | 

**Impossible d’allouer de la mémoire partagée**

Le message d’erreur suivant indique qu’une procédure stockée n’a pas pu activer de base de données, car l’instance de base de données ne dispose pas de suffisamment de mémoire.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Augmentez la mémoire de votre instance de base de données, puis appelez à nouveau la procédure stockée `rdsadmin.activate_database`. Pour plus d’informations sur l’utilisation de la mémoire et les recommandations relatives aux bases de données, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md).

**Activation impossible en raison de processus en cours d’exécution**

Le message d’erreur suivant indique que la procédure stockée n’a pas pu activer de base de données, car la procédure stockée `rdsadmin.create_database` ou `rdsadmin.restore_database` est en cours d’exécution.

```
The database can’t be activated because it's in the process of being created or restored.
```

Attendez quelques minutes, puis rappelez la procédure stockée `rdsadmin.activate_database`.

### erreurs rdsadmin.alter\$1tablespace
<a name="db2-troubleshooting-alter-tablespace-sp-errors"></a>

Les erreurs suivantes peuvent se produire lorsque vous appelez la procédure stockée [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Statement not valid](#alter-tablespace-sp-statement-not-valid)  |  `DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: ` `SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"`  | 
|  [tablespace_prefetch_size value not valid](#alter-tablespace-sp-prefetch-value-not-valid)  |  `Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.`  | 
|  [tablespace_prefetch_size numerical value not valid](#alter-tablespace-sp-prefetch-numerical-value-not-valid)  |  `Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.`  | 
|  [Parameter can't be used with tablespace_prefetch_size](#alter-tablespace-sp-prefetch-incompatible-parameter)  |  `You can't use tablespace_prefetch_size with {parameter}.`  | 
|  [Tablespace change failed](#alter-tablespace-sp-tablespace-change-failed)  |  `The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.`  | 

**Instruction non valide**

Le message d’erreur suivant indique que la procédure stockée a combiné des paramètres facultatifs mutuellement exclusifs avec d’autres paramètres facultatifs. Les paramètres facultatifs `reduce_max, reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop`, et `switch_online` pour la procédure stockée `rdsadmin.alter_tablespace` s’excluent mutuellement. Vous ne pouvez pas les combiner avec d’autres paramètres facultatifs, tels que `buffer_pool_name` dans la procédure stockée `rdsadmin.alter_tablespace`. Si vous les combinez, Db2 renvoie ce message d’erreur lorsque vous appelez la fonction `rdsadmin.get_task_status` définie par l’utilisateur. 

```
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: 
SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"
```

Appelez à nouveau la procédure stockée `rdsadmin.alter_tablespace` sans combiner les paramètres facultatifs mutuellement exclusifs avec d’autres paramètres facultatifs. Appelez ensuite la fonction `rdsadmin.get_task_status` définie par l’utilisateur. Pour plus d’informations, consultez [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace) et [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

**valeur tablespace\$1prefetch\$1size non valide**

Le message d’erreur suivant indique que vous n’avez pas défini `tablespace_prefetch_size` sur `AUTOMATIC` ou sur une valeur numérique non positive. Par exemple, vous avez essayé de le définir sur `testinput`.

```
Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.
```

Appelez à nouveau la procédure stockée `rdsadmin.alter_tablespace` et définissez `tablespace_prefetch_size` sur `AUTOMATIC` ou sur une valeur numérique non positive.

**valeur tablespace\$1prefetch\$1size numerical non valide**

Le message d’erreur suivant indique que vous avez défini `tablespace_prefetch_size` sur une valeur numérique supérieure à 32767.

```
Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.
```

Appelez à nouveau la procédure stockée `rdsadmin.alter_tablespace` et définissez `tablespace_prefetch_size` sur une valeur numérique non positive inférieure ou égale à 32767.

**Le paramètre ne peut pas être utilisé avec tablespace\$1prefetch\$1size**

Le message d’erreur suivant indique que vous avez essayé d’utiliser `tablespace_prefetch_size` avec un paramètre incompatible. 

```
You can't use tablespace_prefetch_size with {parameter}.
```

Appelez à nouveau la procédure stockée `rdsadmin.alter_tablespace` et utilisez uniquement `tablespace_prefetch_size` avec des paramètres compatibles. Pour plus d’informations sur les paramètres que vous pouvez utiliser avec `tablespace_prefetch_size`, consultez [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace).

**La modification du tablespace a échoué**

Le message d’erreur suivant indique que vous avez essayé de modifier un tablespace. 

```
The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.
```

### Erreurs rdsadmin.backup\$1database
<a name="db2-troubleshooting-backup-database-sp-errors"></a>

Les erreurs suivantes peuvent se produire lorsque vous appelez la procédure stockée [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Insufficient disk space](#backup-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.`  | 
|  [Internal error](#backup-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 

**Espace disque insuffisant**

Le message d'erreur suivant indique que l'espace disque de votre instance de base de données est insuffisant pour sauvegarder votre base de données :

```
Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.
```

Lorsque vous sauvegardez une base de données sur un stockage distant, assurez-vous de disposer de suffisamment d'espace disque pour la session de sauvegarde et les fichiers de travail. Chaque session de sauvegarde traite jusqu'à 5 Go de données, mais un espace supplémentaire est nécessaire pour les journaux de transactions, les fichiers temporaires et les opérations de base de données en cours. 

Nous vous recommandons de disposer de l'espace disque disponible suivant pour les sauvegardes en fonction de la taille de la base de données :
+ Pour les bases de données de moins de 5 Go : taille de la base de données \$1 3 Go de mémoire tampon
+ Pour les bases de données de 5 Go ou plus : au moins 10 Go d'espace libre

Cette quantité d'espace disque disponible tient compte du traitement des sessions de sauvegarde, de l'accumulation du journal des transactions pendant la sauvegarde, des fichiers de travail temporaires et des flux de sauvegarde parallèles s'ils sont configurés. Pour de plus amples informations, veuillez consulter [Augmentation de la capacité de stockage d'une instance de base de données](USER_PIOPS.ModifyingExisting.md).

Augmentez votre espace disque, puis appelez à nouveau la procédure stockée [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database). Pour vérifier que la base de données a été correctement sauvegardée, vérifiez l'état de la tâche à l'aide de[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). Vous pouvez également vérifier que les fichiers de sauvegarde existent dans votre compartiment Amazon S3 sous*s3\$1prefix/dbi\$1resource\$1id/db\$1name*.

**Erreur interne**

Le message d’erreur suivant indique que la procédure stockée a rencontré une erreur interne : 

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

Contactez [AWS Support](https://aws.amazon.com/premiumsupport/).

### erreurs rdsadmin.create\$1database
<a name="db2-troubleshooting-create-database-sp-errors"></a>

L’erreur suivante peut se produire lorsque vous appelez la procédure stockée [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Failed to allocate shared memory](#create-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 

**Impossible d’allouer de la mémoire partagée**

Le message d’erreur suivant indique qu’une procédure stockée n’a pas pu créer de base de données, car l’instance de base de données ne dispose pas de suffisamment de mémoire.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Augmentez la mémoire de votre instance de base de données, puis appelez à nouveau la procédure stockée `rdsadmin.create_database`. Pour plus d’informations sur l’utilisation de la mémoire et les recommandations relatives aux bases de données, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md).

Pour confirmer que la base de données a été créée, appelez la fonction [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) définie par l’utilisateur et vérifiez que la nouvelle base de données est répertoriée.

### erreurs rdsadmin.deactivate\$1database
<a name="db2-troubleshooting-deactivate-database-sp-errors"></a>

L’erreur suivante peut se produire lorsque vous appelez la procédure stockée [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Unable to deactivate because of running processes](#deactivate-database-sp-unable-to-deactivate-processes)  |  `The database can’t be deactivated because it's in the process of being created or restored.`  | 

**Désactivation impossible en raison de processus en cours d’exécution**

Le message d’erreur suivant indique que la procédure stockée n’a pas pu désactiver la base de données, car la procédure stockée `rdsadmin.create_database` ou `rdsadmin.restore_database` est en cours d’exécution.

```
The database can’t be deactivated because it's in the process of being created or restored.
```

Attendez quelques minutes, puis rappelez la procédure stockée `rdsadmin.deactivate_database`.

### Erreurs rdsadmin.drop\$1database
<a name="db2-troubleshooting-drop-database-sp-errors"></a>

Les erreurs suivantes peuvent se produire lorsque vous appelez la procédure stockée [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Database name doesn't exist](#drop-database-sp-database-name-not-exist)  |  `SQL0438N Application raised error or warning with diagnostic text: "Cannot drop database. Database with provided name does not exist". SQLSTATE=99993`  | 
|  [Return status = 0](#drop-database-sp-return-status-zero)  |  `Return Status = 0`  | 
|  [Dropping database not allowed](#drop-database-sp-not-allowed)  |  `1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped`  | 

**Le nom de la base de données n’existe pas**

Le message d’erreur suivant indique que vous avez transmis un nom de base de données incorrect dans la procédure stockée `rdsadmin.drop_database`.

```
SQL0438N Application raised error or warning with diagnostic text: "Cannot
drop database. Database with provided name does not exist". SQLSTATE=99993
```

Appelez à nouveau la procédure stockée `rdsadmin.drop_database` avec un nom de base de données correct. Pour confirmer que la base de données a été supprimée, appelez la fonction [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) définie par l’utilisateur et vérifiez que la base de données supprimée n’est pas répertoriée.

**État du renvoi = 0**

Le message d’erreur suivant indique que la procédure stockée n’a pas pu être terminée. 

```
Return Status = 0
```

Après réception de `Return Status = 0`, appelez la fonction [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) définie par l’utilisateur. 

**La suppression de la base de données est interdite**

Le message d’erreur suivant indique que vous avez créé la base de données à l’aide de la console Amazon RDS ou de l’ AWS CLI. Vous ne pouvez utiliser la procédure stockée `rdsadmin.drop_database` que si vous avez créé la base de données en appelant la procédure stockée [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

```
1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started.
2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. 
Reason Dropping database created via rds CreateDBInstance api is not allowed. 
Only database created using rdsadmin.create_database can be dropped
```

Pour supprimer une base de données que vous avez créée à l’aide de la console Amazon RDS ou de l’ AWS CLI, utilisez un client pour vous connecter à la base de données, puis exécutez la commande appropriée.

### erreurs rdsadmin.reactivate\$1database
<a name="db2-troubleshooting-reactivate-database-sp-errors"></a>

L’erreur suivante peut se produire lorsque vous appelez la procédure stockée [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Failed to allocate shared memory](#reactivate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to reactivate because of running processes](#reactivate-database-sp-unable-to-reactivate-processes)  |  `The database can’t be reactivated because it's in the process of being created or restored.`  | 

**Impossible d’allouer de la mémoire partagée**

Le message d’erreur suivant indique qu’une procédure stockée n’a pas pu activer de base de données, car l’instance de base de données ne dispose pas de suffisamment de mémoire.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Augmentez la mémoire de votre instance de base de données, puis appelez à nouveau la procédure stockée `rdsadmin.activate_database`. Pour plus d’informations sur l’utilisation de la mémoire et les recommandations relatives aux bases de données, consultez [Plusieurs bases de données sur une instance de base de données Amazon RDS for Db2](db2-multiple-databases.md).

**Réactivation impossible en raison de processus en cours d’exécution**

Le message d’erreur suivant indique que la procédure stockée n’a pas pu réactiver la base de données, car la procédure stockée `rdsadmin.create_database` ou `rdsadmin.restore_database` est en cours d’exécution.

```
The database can’t be reactivated because it's in the process of being created or restored.
```

Attendez quelques minutes, puis rappelez la procédure stockée `rdsadmin.reactivate_database`.

### Erreurs rdsadmin.restore\$1database
<a name="db2-troubleshooting-restore-database-sp-errors"></a>

Les erreurs suivantes peuvent se produire lorsque vous appelez la procédure stockée [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database) :


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Insufficient disk space](#restore-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.`  | 
|  [Internal error](#restore-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 
|  [Non-fenced routines not allowed](#restore-database-sp-non-fenced-routines)  |  `Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.`  | 
| [Tablespaces not restored](#restore-database-sp-tablespaces-not-restored) |  `Reason SQL0970N The system attempted to write to a read-only file. Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.`  | 

**Espace disque insuffisant**

Le message d’erreur suivant indique que l’espace disque de votre instance de base de données est insuffisant pour restaurer votre base de données :

```
Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.
```

L’espace libre sur votre instance de base de données doit être plus de deux fois supérieur à la taille de votre image de sauvegarde. Si votre image de sauvegarde est compressée, l’espace libre sur votre instance de base de données doit être plus de trois fois supérieur à la taille de votre image de sauvegarde. Pour plus d’informations, consultez [Augmentation de la capacité de stockage d'une instance de base de données](USER_PIOPS.ModifyingExisting.md).

Augmentez votre espace disque, puis appelez à nouveau la procédure stockée `rdsadmin.restore_database`. Pour confirmer que la base de données a été restaurée, appelez la fonction [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) définie par l’utilisateur et vérifiez que la base de données restaurée est répertoriée.

**Erreur interne**

Le message d’erreur suivant indique que la procédure stockée a rencontré une erreur interne : 

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

Contactez [AWS Support](https://aws.amazon.com/premiumsupport/).

**Les routines non clôturées ne sont pas autorisées**

Le message d’erreur suivant indique que votre base de données contient des routines non clôturées :

```
Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.
```

RDS for Db2 ne prend pas en charge les routines non clôturées. Supprimez les routines non clôturées de la base de données source, puis appelez à nouveau `rdsadmin.restore_database`. Pour confirmer que la base de données a été restaurée, appelez la fonction [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) définie par l’utilisateur et vérifiez que la base de données restaurée est répertoriée. Pour plus d’informations, consultez [Routines non clôturées](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines).

**Tablespaces non restaurés**

Le message d’erreur suivant indique que RDS for Db2 a correctement restauré votre base de données, mais n’a pas pu restaurer un ou plusieurs tablespaces :

```
Reason SQL0970N The system attempted to write to a read-only file.
Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.
```

RDS for Db2 ne prend pas en charge le stockage non automatique. Convertissez le stockage non automatique en stockage automatique, puis appelez à nouveau `rdsadmin.restore_database`. Pour plus d’informations, consultez [Conversion d’une base de données de stockage non automatique en une base de données de stockage automatique](https://www.ibm.com/docs/en/db2/11.5?topic=databases-converting-nonautomatic-storage-database-use-automatic-storage) dans la documentation IBM Db2.

Les bases de données dont le stockage SMS n’est pas automatique doivent être restaurées manuellement. Si votre base de données contient un stockage SMS non automatique, contactez le [Support AWS](https://aws.amazon.com/premiumsupport/). 

Pour plus d’informations sur le stockage non automatique et les migrations ponctuelles, consultez [Tablespaces de stockage non automatiques pendant la migration](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces).

### erreurs rdsadmin.update\$1db\$1param
<a name="db2-troubleshooting-update-db-param-sp-errors"></a>

L’erreur suivante peut se produire lorsque vous appelez la procédure stockée [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).


| Erreur | Message d’erreur | 
| --- | --- | 
|  [Parameter not supported or modifiable](#update-db-param-sp-parameter-not-supported-modifiable)  | SQL0438N Application raised error or warning with diagnostic text: "Parameter is either not supported or not modifiable to customers". SQLSTATE=99993 | 

**Paramètre non pris en charge ou non modifiable**

Le message d’erreur suivant indique que vous avez essayé de modifier un paramètre de configuration de base de données qui n’est pas pris en charge ou qui n’est pas modifiable.

```
SQL0438N Application raised error or warning with diagnostic text: "Parameter
is either not supported or not modifiable to customers". SQLSTATE=99993
```

Vous pouvez voir quels paramètres sont modifiables en consultant vos groupes de paramètres. Pour plus d’informations, consultez [Affichage des valeurs de paramètres pour un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Viewing.md).