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

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

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', 'database_page_size', 'database_code_set', 'database_territory', 'database_collation', 'database_autoconfigure_str', 'database_non-restrictive')"

Parameters

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

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

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 de plus amples informations, veuillez consulter 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 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_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 database_collation paramètres database_code_setdatabase_territory,, et 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')"

Parameters

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

Parameters

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

Parameters

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

Parameters

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 de plus amples informations, veuillez consulter 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 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_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')"

Parameters

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 de plus amples informations, veuillez consulter 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')"

Parameters

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

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

Exemples

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

Parameters

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

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

Sauvegarde une base de données depuis une instance de base de données RDS pour DB2 dans un compartiment Amazon S3.

Syntaxe

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

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

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'appelrdsadmin.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_prefix

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_prefix RDS pour DB2 télécharge tous les fichiers de sauvegarde vers. s3_prefix/dbi_resource_id/db_name Si vous définissez num_files une valeur supérieure à1, le db_name 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_prefix paramètre.

backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
backup_type

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_option

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. Utilisationslibdb2compr.so.

  • ZLIB— Compression Db2 améliorée. Utiliselibdb2zcompr.so, mais c'est plus gourmand en processeur et le coût de stockage le plus élevé.

util_impact_priority

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 : 1100 (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.

num_files

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 de grande taille, 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_buffers

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_filesdéfini sur plus de1), un nombre plus élevé de mémoires tampons peut améliorer les performances. Si ce n'est pas compression_option le casNONE, vous pouvez améliorer les performances en augmentant num_buffers etparallelism.

Notes d’utilisation

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_database

Avant d’appeler la procédure stockée, passez en revue les considérations suivantes :

Avant d’appelerrdsadmin.backup_database, vous devez vous connecter à la base de données rdsadmin. Dans l'exemple suivant, remplacez master_username et master_password 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, consultezrdsadmin.get_task_status.

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

Exemples

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_prefix àbackups/daily.

Exemple #1 : 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 #2 : 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 réduit la taille du fichier, mais 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 #3 : 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 #4 : 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_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')"

Parameters

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 l'avez défini database_name surNEWDB, Amazon RDS effectue la restauration 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 traité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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter 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 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 pasUSE_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.

  • 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_prefix 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.

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

  • 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_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 des caractéristiques s3_prefix 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_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')"

Parameters

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

Parameters

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

Parameters

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

Parameters

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

Parameters

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

Parameters

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

Parameters

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

Parameters

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

rdsadmin.fgac_command

Exécute des commandes de contrôle d'accès détaillées (FGAC).

Syntaxe

db2 "call rdsadmin.fgac_command( ?, 'database_name', 'fgac_cmd')"

Parameters

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 vous souhaitez exécuter les commandes FGAC. Le type de données est varchar.

fgac_cmd

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

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 (\). L'exemple suivant montre comment s'échapper[''apple'',''banana''].

    db2 "call rdsadmin.fgac_command( ?, ' testdb', 'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"

Exemples

Les exemples suivants exécutent tous des commandes FGAC sur une base de données appeléetestdb.

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