Gestion des bases de données - 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.

Gestion des bases de données

Les procédures stockées suivantes gèrent les bases de données.

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 appelezrdsadmin.get_task_status, la fonction définie par l'utilisateur peut renvoyer une erreur en raison d'une combinaison non valide de database_codesetdatabase_territory, etdatabase_collation. Pour plus d'informations, consultez la section Choix de la page de code, du territoire et du classement pour votre base de données dans la IBM Db2 documentation.

Les paramètres suivants sont obligatoires :

database_name

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

Les paramètres suivants sont facultatifs :

taille_page_base de données

Taille de page par défaut de la base de données. Valeurs valides: 4096, 8192, 16384, 32768. Le type de données estinteger. L’argument par défaut est 8192.

Important

Amazon RDS prend en charge l'atomicité d'écriture pour les pages 4 KiB, 8 KiB et 16 KiB. En revanche, les pages de 32 Kio risquent d'être déchirées ou d'écrire des données partielles sur le bureau. Si vous utilisez des pages 32 KiB, nous vous recommandons d'activer la point-in-time restauration et les sauvegardes automatisées. Sinon, vous risquez de ne pas pouvoir récupérer des pages déchirées. Pour plus d’informations, consultez Présentation des sauvegardes et Restauration d'une instance de base de données à une date spécifiée.

jeu de codes de base de données

Le jeu de codes de la base de données. Le type de données estvarchar. L’argument par défaut est UTF-8.

territoire_base de données

Code de pays à deux lettres pour la base de données. Le type de données estvarchar. L’argument par défaut est US.

collation de base de données

Séquence de classement qui détermine la manière dont 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 estvarchar.

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, collation ; 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 ASCII en japonais, collation ; CCSID 037 (EBCDIC, anglais américain).

  • EBCDIC_932_5035— Page de code ASCII en japonais, classement ; CCSID 500 (EBCDIC International).

  • EBCDIC_1252_037— Page de code latin de Windows, classement ; CCSID 037 (EBCDIC, anglais américain).

  • EBCDIC_1252_500— Page de code latin de Windows, classement ; CCSID 500 (EBCDIC International).

  • IDENTITY— Classement par défaut. Les chaînes sont comparées octet par octet.

  • IDENTITY_16BIT— Le schéma de codage de compatibilité pour UTF-16 : séquence de classement 8 bits (CESU-8). Pour plus d'informations, consultez le rapport technique Unicode #26 sur le site Web du Consortium Unicode.

  • NLSCHAR— À utiliser uniquement avec la page de code thaï (CP874).

  • SYSTEM— Si vous l'utilisezSYSTEM, la base de données récupère automatiquement la séquence de classement pour database_codeset etdatabase_territory.

L’argument par défaut est IDENTITY.

En outre, RDS pour Db2 prend en charge les groupes de collations suivants : language-aware-collation et. locale-sensitive-collation Pour plus d'informations, consultez la section Choix d'un classement pour une base de données Unicode dans la IBM Db2 documentation.

database_autoconfigure_str

La syntaxe de la AUTOCONFIGURE commande, par exemple « AUTOCONFIGURE APPLY DB ». Le type de données estvarchar. La valeur par défaut est une chaîne vide ou nulle.

Pour plus d'informations, consultez AUTOCONFIGUREla section commande dans la IBM Db2 documentation.

Notes d’utilisation

Vous pouvez créer une base de données en appelant rdsadmin.create_database si 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 pour DB2 à l'aide de la console Amazon RDS ou du. AWS CLI Pour plus d’informations, consultez Création d'une instance de base de données.

Considérations spéciales :

  • La CREATE DATABASE commande envoyée à l'instance Db2 utilise l'RESTRICTIVEoption.

  • RDS pour les utilisations de DB2 uniquement. AUTOMATIC STORAGE

  • RDS pour DB2 utilise les valeurs par défaut pour NUMSEGS et. DFT_EXTENT_SZ

  • RDS pour DB2 utilise le chiffrement du stockage et ne prend pas en charge le chiffrement de base de données.

Pour plus d'informations sur ces considérations, consultez la section CREATE DATABASEcommande dans la IBM Db2 documentation.

Avant d'appelerrdsadmin.create_database, vous devez vous connecter à la rdsadmin base de données. 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 de l'état de création d'une base de données, consultezrdsadmin.get_task_status.

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

Notes d’utilisation

Vous pouvez supprimer une base de données en appelant rdsadmin.drop_database uniquement si les conditions suivantes sont remplies :

  • 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 pour DB2 à l'aide de la console Amazon RDS ou du. 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 rdsadmin.create_database stockée.

  • Vous avez restauré la base de données à partir d'une image hors ligne ou sauvegardée en appelant la procédure rdsadmin.restore_database stockée.

Avant d'appelerrdsadmin.drop_database, vous devez vous connecter à la rdsadmin base de données. 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 de l'état de suppression d'une base de données, consultezrdsadmin.get_task_status.

Exemples

L'exemple suivant supprime une base de données appeléeTESTDB.

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

Exemples de réponses

Si vous transmettez un nom de base de données incorrect, la procédure stockée renvoie l'exemple de réponse suivant.

SQL0438N Application raised error or warning with diagnostic text: "Cannot drop database. Database with provided name does not exist". SQLSTATE=99993

Si vous avez créé la base de données à l'aide de la console Amazon RDS ou du AWS CLI, la procédure stockée renvoie l'exemple de réponse suivant.

Return Status = 0

Après réceptionReturn Status = 0, appelez la procédure rdsadmin.get_task_status stockée. Une réponse similaire à l'exemple suivant explique le statut.

1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped

rdsadmin.update_db_param

Actualise les paramètres de base de données.

Syntaxe

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

Paramètres

Les paramètres suivants sont obligatoires :

database_name

Nom de la base de données pour laquelle exécuter la tâche. Le type de données estvarchar.

paramètre_à_modifier

Nom du paramètre à modifier. Le type de données estvarchar. Pour plus d’informations, consultez RDS pour les paramètres Db2.

valeur_modifiée

La valeur à laquelle modifier la valeur du paramètre. Le type de données estvarchar.

Notes d’utilisation

Pour plus d'informations sur la vérification de l'état de mise à jour des paramètres de base de données, consultezrdsadmin.get_task_status.

Exemples

L'exemple suivant met à jour le archretrydelay paramètre 100 pour une base de données appeléeTESTDB.

db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')";

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

Restaure une base de données.

Syntaxe

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

Paramètres

Le paramètre de sortie suivant est requis :

?

Un marché de paramètres qui génère un message d'erreur. Ce paramètre accepte uniquement ?.

Les paramètres d'entrée suivants sont requis :

database_name

Nom de la base de données à restaurer. Ce nom doit correspondre au nom de la base de données dans l'image de sauvegarde. Le type de données estvarchar.

s3_bucket_name

Le nom du compartiment Amazon S3 dans lequel réside votre sauvegarde. Le type de données estvarchar.

préfixe s3_

Le préfixe à utiliser pour la mise en correspondance des fichiers lors du téléchargement. Le type de données estvarchar.

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

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

type_de sauvegarde

Type de sauvegarde. Le type de données estvarchar. Valeurs valides : OFFLINE, ONLINE.

À utiliser ONLINE pour des migrations quasiment sans interruption de service. Pour plus d’informations, consultez Migration des bases de données DB2 Linux basées sur des interruptions de service quasi nulles.

Notes d’utilisation

Vous pouvez restaurer une base de données en appelant rdsadmin.restore_database si 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 pour DB2 à l'aide de la console Amazon RDS ou du. AWS CLI Pour plus d’informations, consultez Création d'une instance de base de données.

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 é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. Lorsque vous restaurez la sauvegarde, Amazon RDS extrait le fichier de sauvegarde sur votre instance de base de données RDS pour DB2.

Chaque fichier de sauvegarde doit être inférieur ou égal à 5 To. Si un fichier de sauvegarde dépasse 5 To, vous devez diviser celui-ci en plusieurs fichiers plus petits.

Pour garantir que la procédure rdsadmin.restore_database stockée restaure tous les fichiers, n'incluez pas le suffixe du numéro de fichier après l'horodatage dans les noms de fichiers. Par exemple, le préfixe backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 s3_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

Pour plus d'informations sur la vérification de l'état de restauration de votre base de données, consultezrdsadmin.get_task_status.

Pour mettre la base de données en ligne et appliquer des journaux de transactions supplémentaires après la restauration de la base de données, consultezrdsadmin.rollforward_database.

Exemples

L'exemple suivant restaure une sauvegarde hors ligne avec un seul fichier ou plusieurs fichiers portant le préfixe backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101s3_.

db2 "call rdsadmin.restore_database( ?, 'SAMPLE', 'myS3bucket', '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 appelantrdsadmin.restore_database.

Syntaxe

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

Paramètres

Le paramètre de sortie suivant est requis :

?

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

database_name

Nom de la base de données sur laquelle effectuer l'opération. Le type de données estvarchar.

s3_bucket_name

Le nom du compartiment Amazon S3 dans lequel réside votre sauvegarde. Le type de données estvarchar.

préfixe s3_

Le préfixe à utiliser pour la mise en correspondance des fichiers lors du téléchargement. Le type de données estvarchar.

Si ce paramètre est vide, tous les fichiers du compartiment S3 seront téléchargés. L'exemple suivant est un exemple de préfixe.

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101

Les paramètres d'entrée suivants sont facultatifs :

rollforward_to_option

Le point vers lequel vous souhaitez avancer. Le type de données estvarchar. Valeurs valides : END_OF_LOGS, END_OF_BACKUP. L’argument par défaut est END OF LOGS.

complete_rollforward

Spécifie s'il faut terminer le processus de reconduction. Le type de données estvarchar. L’argument par défaut est TRUE.

SiTRUE, une fois terminée, la base de données est en ligne et accessible. Si c'est le casFALSE, la base de données reste dans un ROLL-FORWARD PENDING état.

Notes d’utilisation

Après avoir appelérdsadmin.restore_database, vous devez appeler rollforward_database pour appliquer les journaux d'archivage à partir d'un compartiment S3. Vous pouvez également utiliser cette procédure stockée pour restaurer des journaux de transactions supplémentaires après un appelrdsadmin.restore_database.

Si vous définissez cette complete_rollforward optionFALSE, cela signifie que votre base de données est en ROLL-FORWARD PENDING état et hors ligne. Pour mettre la base de données en ligne, vous devez appelerrdsadmin.complete_rollforward.

Pour plus d'informations sur la vérification de l'état du report de la base de données, consultezrdsadmin.get_task_status.

Exemples

L'exemple suivant passe à 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')"

L'exemple suivant passe à 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', 'S3Bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"

L'exemple suivant passe à 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')"

L'exemple suivant passe à une sauvegarde en ligne de la base de données avec des journaux de transactions supplémentaires, puis ne met pas la base de données en ligne.

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'S3Bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"

rdsadmin.complete_rollforward

Met en ligne la base de données d'un ROLL-FORWARD PENDING État.

Syntaxe

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

Paramètres

Le paramètre de sortie suivant est requis :

?

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

Notes d’utilisation

Si vous avez appelé rdsadmin.rollforward_database avec complete_rollforward set toFALSE, cela signifie que votre base de données est en ROLL-FORWARD PENDING état et hors ligne. Pour terminer le processus de reconduction et mettre la base de données en ligne, appelez. rdsadmin.complete_rollforward

Pour plus d'informations sur la vérification de l'état d'achèvement du processus de report, voir. rdsadmin.get_task_status

Exemples

L'exemple suivant met la TESTDB base de données en ligne.

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