Procédures stockées pour les bases de données pour RDS for Db2 - Amazon Relational Database Service

Procédures stockées pour les bases de données pour RDS for Db2

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.

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.

rdsadmin.create_database

Crée une base de données.

Syntaxe

db2 "call rdsadmin.create_database('database_name')"

Paramètres

Note

Cette procédure stockée ne valide pas la combinaison des paramètres requis. Lorsque vous appelez rdsadmin.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 dans la documentation IBM Db2.

Les paramètres suivants sont obligatoires :

database_name

Nom de la base de données à créer. Le type de données est varchar.

Les paramètres suivants sont facultatifs :

database_page_size

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.

Important

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 de 32 Kio, nous vous recommandons d’activer la reprise ponctuelle et les sauvegardes automatiques. Sinon, vous risquez de ne pas pouvoir récupérer les pages déchirées. Pour plus d’informations, consultez Présentation des sauvegardes et Restauration d’une instance de base de données à un instant précis pour Amazon RDS.

database_code_set

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_territory

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_collation

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 #26 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 dans la documentation IBM Db2.

database_autoconfigure_str

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 dans la documentation IBM Db2.

Notes d’utilisation

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_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 dans la documentation IBM Db2.

Avant d’appelerrdsadmin.create_database, vous devez vous connecter à la base de données rdsadmin. Dans l’exemple suivant, remplacez master_username et master_password par les informations de votre instance de base de données RDS for 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_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.create_database, consultez Erreurs de procédure stockée.

Exemples

L’exemple suivant crée une base de données appelée TESTJP avec une combinaison correcte des paramètres database_code_set, database_territory et database_collation pour le Japon :

db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"

rdsadmin.deactivate_database

Désactive une base de données.

Syntaxe

db2 "call rdsadmin.deactivate_database( ?, 'database_name')"

Paramètres

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_name

Nom de la base de données à désactiver. Le type de données est varchar.

Notes d’utilisation

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_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_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.deactivate_database, consultez Erreurs de procédure stockée.

Exemples

Les exemples suivants désactivent une base de données appelée TESTDB.

db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"

rdsadmin.activate_database

Active une base de données.

Pour plus d'informations sur les différences entre rdsadmin.reactivate_database et rdsadmin.activate_database, consultez Notes d’utilisation.

Syntaxe

db2 "call rdsadmin.activate_database( ?, 'database_name')"

Paramètres

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_name

Nom de la base de données à activer. Le type de données est varchar.

Notes d’utilisation

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_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_database.

Pour plus d’informations sur la vérification du statut d’activation d’une base de données, consultez rdsadmin.get_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.activate_database, consultez Erreurs de procédure stockée.

Exemples

Les exemples suivants activent une base de données appelée TESTDB.

db2 "call rdsadmin.activate_database(?, 'TESTDB')"

rdsadmin.reactivate_database

Réactive une base de données.

Pour plus d’informations sur les différences entre rdsadmin.activate_database et rdsadmin.reactivate_database, consultez Notes d’utilisation.

Syntaxe

db2 "call rdsadmin.reactivate_database( ?, 'database_name')"

Paramètres

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_name

Nom de la base de données à réactiver. Le type de données est varchar.

Notes d’utilisation

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_database, puis active la base de données en appelant la procédure stockée rdsadmin.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_database, vous pouvez appeler la procédure stockée rdsadmin.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_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.reactivate_database, consultez Erreurs de procédure stockée.

Exemples

Les exemples suivants réactivent une base de données appelée TESTDB.

db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"

rdsadmin.drop_database

Supprime une base de données.

Syntaxe

db2 "call rdsadmin.drop_database('database_name')"

Paramètres

Les paramètres suivants sont obligatoires :

database_name

Nom de la base de données à supprimer. Le type de données est varchar.

Notes d’utilisation

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 plus d’informations, consultez Création d’une instance de base de données.

  • Vous avez créé la base de données en appelant la procédure stockée rdsadmin.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_database.

Avant d’appelerrdsadmin.drop_database, vous devez vous connecter à la base de données rdsadmin. Dans l’exemple suivant, remplacez master_username et master_password par les informations de votre instance de base de données RDS for 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_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.drop_database, consultez Erreurs de procédure stockée.

Exemples

L’exemple suivant supprime une base de données appelée TESTDB :

db2 "call rdsadmin.drop_database('TESTDB')"

rdsadmin.update_db_param

Met à jour les paramètres de la base de données.

Syntaxe

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

Paramètres

Les paramètres suivants sont obligatoires :

database_name

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_to_modify

Nom du paramètre à modifier. Le type de données est varchar. Pour plus d’informations, consultez Paramètres Amazon RDS for Db2.

changed_value

Valeur à modifier pour la valeur du paramètre. Le type de données est varchar.

Le paramètre suivant est facultatif :

restart_database

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

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_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.update_db_param, consultez Erreurs de procédure stockée.

Exemples

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_configuration

Configure les paramètres spécifiques de la base de données.

Syntaxe

db2 "call rdsadmin.set_configuration( 'name', 'value')"

Paramètres

Les paramètres suivants sont obligatoires :

nom

Nom du paramètre de configuration. Le type de données est varchar.

valeur

Valeur du paramètre de configuration. Le type de données est varchar.

Notes d’utilisation

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 documentation IBM Db2.

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 vCPU de 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 documentation IBM Db2.

Exemples

Exemple 1 : 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 2 : spécification du nombre de mémoires 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')"

rdsadmin.show_configuration

Renvoie les paramètres actuels que vous pouvez définir à l’aide de la procédure stockée rdsadmin.set_configuration.

Syntaxe

db2 "call rdsadmin.show_configuration( 'name')"

Paramètres

Le paramètre suivant est facultatif :

nom

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 : nombre de mémoires 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.

Notes d’utilisation

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

L’exemple suivant renvoie des informations sur la configuration RESTORE_DATABASE_PARALLELISM actuelle.

db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"

rdsadmin.restore_database

Restaure une base de données d’un compartiment Amazon S3 vers votre instance de base de données RDS for Db2.

Syntaxe

db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"

Paramètres

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_name

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 avez défini database_name sur NEWDB, Amazon RDS restaure NEWDB en tant que base de données source.

s3_bucket_name

Nom du compartiment Amazon S3 dans lequel réside la sauvegarde. Le type de données est varchar.

s3_prefix

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 téléchargés. Voici un exemple de préfixe :

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
restore_timestamp

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_type

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 plus d’informations, consultez Migration de Linux vers Linux avec une durée d’indisponibilité quasiment nulle pour Amazon RDS for Db2.

Notes d’utilisation

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 plus d’informations, consultez Utilisation des services AWS pour migrer des données de Db2 vers Amazon RDS for Db2. 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 prévoir un espace de stockage pour votre instance de base de données RDS for Db2 qui soit égal ou supérieur à la somme de la taille de votre sauvegarde et de la base de données Db2 d’origine sur le disque. Pour plus d’informations, consultez 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, le s3_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 restaure les fichiers suivants :

    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 plus d’informations, consultez Tablespaces not restored.

  • RDS for Db2 ne prend pas en charge les routines non clôturées. Pour plus d’informations, consultez Non-fenced routines not allowed.

  • Pour améliorer les performances des opérations de restauration des bases de données, vous pouvez configurer le nombre de mémoires tampons et de manipulateurs de mémoires tampons à utiliser par RDS. Pour vérifier la configuration actuelle, utilisez rdsadmin.show_configuration. Pour modifier la configuration, utilisez rdsadmin.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_database.

Pour plus d’informations sur la vérification du statut de restauration de votre base de données, consultez rdsadmin.get_task_status.

Pour les messages d’erreur renvoyés lors de l’appel rdsadmin.restore_database, consultez Erreurs de procédure stockée.

Exemples

L’exemple suivant restaure une sauvegarde hors ligne avec un seul fichier ou plusieurs fichiers dotés du s3_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 :

db2 "call rdsadmin.restore_database( ?, 'SAMPLE', 'amzn-s3-demo-bucket', 'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101', 20230615010101, 'OFFLINE')"

rdsadmin.rollforward_database

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_database.

Syntaxe

db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollforward_to_option', 'complete_rollforward')"

Paramètres

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_name

Nom de la base de données sur laquelle effectuer l’opération. Le type de données est varchar.

s3_bucket_name

Nom du compartiment Amazon S3 dans lequel réside la sauvegarde. Le type de données est varchar.

s3_prefix

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_to_option

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_rollforward

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

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 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 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 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_rollforward.

Pour plus d’informations sur la vérification du statut de report de la base de données, consultez rdsadmin.rollforward_status.

Exemples

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_status

Renvoie la sortie de ROLLFORWARD DATABASE database_name QUERY STATUS.

Syntaxe

db2 "call rdsadmin.rollforward_status( ?, 'database_name')"

Paramètres

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_name

Nom de la base de données sur laquelle effectuer l’opération. Le type de données est varchar.

Notes d’utilisation

Après avoir appelé rdsadmin.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_task_status.

rdsadmin.complete_rollforward

Met en ligne la base de données à partir d’un état ROLL-FORWARD PENDING.

Syntaxe

db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"

Paramètres

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_name

Nom de la base de données que vous souhaitez mettre en ligne. Le type de données est varchar.

Notes d’utilisation

Si vous appelez rdsadmin.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_status.

Exemples

L’exemple suivant met la base de données TESTDB en ligne :

db2 "call rdsadmin.complete_rollforward( ?, 'TESTDB')"

rdsadmin.db2pd_command

Collecte des informations sur une base de données RDS for Db2.

Syntaxe

db2 "call rdsadmin.db2pd_command('db2pd_cmd')"

Paramètres

Le paramètre d’entrée suivant est obligatoire :

db2pd_cmd

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 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

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 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_task_status.

Exemples

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_application

Force les applications à quitter une base de données RDS for Db2.

Syntaxe

db2 "call rdsadmin.force_application( ?, 'applications')"

Paramètres

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_handle.

Séparez les noms de plusieurs applications par des virgules. Exemple : « application_handle_1, application_handle_2 ».

Notes d’utilisation

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 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_task_status.

Exemples

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_archive_log_retention

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

db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"

Paramètres

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_name

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_log_retention_hours

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 valeur maximale est 168 (7 jours).

Si la valeur est 0, Amazon RDS ne conserve pas les fichiers journaux d’archivage.

Notes d’utilisation

Par défaut, RDS for Db2 conserve les journaux pendant 5 minutes. Si vous utilisez des outils de réplication tels que AWS DMS pour la capture de données modifiées (CDC) ou IBM Q Replication, nous vous recommandons 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_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

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_archive_log_retention

Renvoie le paramètre actuel de conservation du journal d’archivage pour la base de données spécifiée.

Syntaxe

db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"

Paramètres

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_name

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

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_archive_log_information

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

db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"

Paramètres

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_name

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

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')"