Tâches courantes pour les 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.

Tâches courantes pour les bases de données

Vous pouvez créer, supprimer ou restaurer des bases de données sur votre instance de base de données RDS pour DB2. La création, la suppression ou la restauration de bases de données nécessitent une SYSADM autorité de niveau supérieur, qui n'est pas accessible à l'utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.

Vous pouvez également effectuer des tâches de gestion courantes telles que la surveillance, la maintenance et la collecte d'informations sur vos bases de données.

Création d’une base de données

Pour créer une base de données sur votre instance de base de données RDS pour DB2, appelez la procédure rdsadmin.create_database stockée. Pour plus d'informations, consultez CREATE DATABASEla section commande dans la IBM Db2 documentation.

Note

Si vous envisagez de modifier le db2_compatibility_vector paramètre, 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.

Pour créer une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Créez une base de données en appelantrdsadmin.create_database. Pour de plus amples informations, veuillez consulter rdsadmin.create_database.

    db2 "call rdsadmin.create_database('database_name')"
  3. (Facultatif) Créez des bases de données supplémentaires en rdsadmin.create_database appelant chaque base de données que vous souhaitez créer. Chaque instance de base de données DB2 peut contenir jusqu'à 50 bases de données. Pour de plus amples informations, veuillez consulter rdsadmin.create_database.

    db2 "call rdsadmin.create_database('database_name')"
  4. (Facultatif) Vérifiez que votre base de données a été créée à l'aide de l'une des méthodes suivantes :

    • Appelez rdsadmin.list_databases. Pour de plus amples informations, veuillez consulter rdsadmin.list_databases.

    • Exécutez la commande SQL suivante :

      db2 "select varchar(r.task_type,25) as task_type, r.database_name, varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name, varchar(bson_to_json(task_input_params),256) as input_params, varchar(r.task_output,1024) as task_output from table(rdsadmin.get_task_status(null,null,'create_database')) as r order by created_at desc"

Configuration des paramètres d'une base de données

Pour configurer les paramètres d'une base de données sur votre instance de base de données RDS pour DB2, appelez la procédure rdsadmin.set_configuration stockée. Par exemple, vous pouvez configurer le nombre de tampons ou de manipulateurs de tampons à créer lors d'une opération de restauration.

Pour configurer les paramètres d'une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Facultatif) Vérifiez vos paramètres de configuration actuels en appelantrdsadmin.show_configuration. Pour de plus amples informations, veuillez consulter rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Configurez les paramètres de la base de données en appelantrdsadmin.set_configuration. Pour de plus amples informations, veuillez consulter rdsadmin.set_configuration.

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

Modification des paramètres de base de données

Amazon RDS pour Db2 utilise trois types de paramètres : les paramètres de configuration du gestionnaire de base de données, les variables de registre et les paramètres de configuration de base de données. Vous pouvez mettre à jour les deux premiers types par le biais de groupes de paramètres et le dernier par le biais de la procédure rdsadmin.update_db_param stockée.

Note

Vous ne pouvez modifier que les valeurs des paramètres existants. Vous ne pouvez pas ajouter de nouveaux paramètres que RDS pour DB2 ne prend pas en charge.

Pour plus d'informations sur ces paramètres et sur la façon de modifier leurs valeurs, consultezParamètres d'Amazon RDS pour DB2.

Configuration de la conservation des journaux

Pour configurer la durée pendant laquelle Amazon RDS conserve les fichiers journaux de votre base de données RDS pour DB2, appelez la rdsadmin.set_archive_log_retention procédure stockée.

Pour configurer la conservation des journaux pour une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Facultatif) Vérifiez votre configuration actuelle pour la conservation des journaux en appelantrdsadmin.show_archive_log_retention. Pour de plus amples informations, veuillez consulter rdsadmin.show_archive_log_retention.

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. Configurez la conservation des journaux pour la base de données en appelantrdsadmin.set_archive_log_retention. Pour de plus amples informations, veuillez consulter rdsadmin.set_archive_log_retention.

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

Informations du journal des annonces

Pour répertorier les informations relatives aux fichiers journaux d'archivage, y compris des informations telles que la taille totale de stockage utilisée, appelez la procédure rdsadmin.list_archive_log_information stockée.

Pour répertorier les informations de journal d'une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Renvoie une liste des informations du fichier journal en appelantrdsadmin.list_archive_log_information. Pour de plus amples informations, veuillez consulter rdsadmin.list_archive_log_information.

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

Désactivation d'une base de données

Pour désactiver une base de données sur votre instance de base de données RDS pour DB2, appelez la rdsadmin.deactivate_database procédure stockée.

Par défaut, Amazon RDS active une base de données lorsque vous créez une base de données sur votre instance de base de données RDS pour DB2. Vous pouvez désactiver les bases de données peu utilisées pour économiser les ressources de mémoire.

Pour désactiver une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Désactivez une base de données en appelantrdsadmin.deactivate_database. Pour de plus amples informations, veuillez consulter rdsadmin.deactivate_database.

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

Activation d'une base de données

Pour activer une base de données sur une instance de base de données RDS autonome pour DB2, appelez la rdsadmin.activate_database procédure stockée.

Par défaut, Amazon RDS active une base de données lorsque vous créez une base de données sur votre instance de base de données RDS pour DB2. Vous pouvez désactiver les bases de données peu utilisées pour économiser les ressources de mémoire, puis activer ultérieurement une base de données désactivée.

Pour activer une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Activez une base de données en appelantrdsadmin.activate_database. Pour de plus amples informations, veuillez consulter rdsadmin.activate_database.

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

Réactivation d'une base de données

Pour réactiver une base de données, appelez la procédure rdsadmin.reactivate_database stockée. Après avoir modifié les configurations de base de données, vous devrez peut-être réactiver une base de données sur une instance de base de données RDS pour DB2. Pour déterminer si vous devez réactiver une base de données, connectez-vous à la base de données et db2 get db cfg show detail exécutez-la.

Vous pouvez également appeler cette procédure stockée pour réactiver une base de données sur une instance de base de données autonome RDS pour DB2 après avoir modifié les configurations de base de données. Vous pouvez également réactiver une base de données sur une instance de base de données RDS pour DB2 autonome en appelant d'abord la procédure rdsadmin.deactivate_database stockée, puis la procédure stockée. rdsadmin.activate_database Pour plus d’informations, consultez Désactivation d'une base de données et Activation d'une base de données.

Pour réactiver une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Réactivez une base de données en appelantrdsadmin.reactivate_database. Pour de plus amples informations, veuillez consulter rdsadmin.reactivate_database.

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

Supprimer une base de données

Pour supprimer une base de données de votre instance de base de données RDS pour DB2, appelez la procédure rdsadmin.drop_database stockée. Pour plus d'informations, consultez la section Suppression de bases de données dans la IBM Db2 documentation.

Note

Vous pouvez supprimer une base de données en appelant la procédure stockée uniquement si certaines conditions sont remplies. Pour plus d'informations, reportez-vous Notes d’utilisation àrdsadmin.drop_database.

Pour supprimer une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Supprimez une base de données en appelantrdsadmin.drop_database. Pour de plus amples informations, veuillez consulter rdsadmin.drop_database.

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

Restauration d'une base de données

Pour déplacer une base de données d'un compartiment Amazon S3 vers votre instance de base de données RDS pour DB2, appelez la procédure rdsadmin.restore_database stockée. Pour plus d'informations, consultez RESTORE DATABASEla section commande dans la IBM Db2 documentation.

Pour restaurer une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Facultatif) Vérifiez vos paramètres de configuration actuels pour optimiser l'opération de restauration en appelantrdsadmin.show_configuration. Pour de plus amples informations, veuillez consulter rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Configurez les paramètres pour optimiser l'opération de restauration en appelantrdsadmin.set_configuration. La définition explicite de ces valeurs peut améliorer les performances lors de la restauration de bases de données contenant de gros volumes de données. Pour de plus amples informations, veuillez consulter rdsadmin.set_configuration.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"
  4. Restaurez la base de données en appelantrdsadmin.restore_database. Pour de plus amples informations, veuillez consulter rdsadmin.restore_database.

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. (Facultatif) Vérifiez que votre base de données a été restaurée en appelant rdsadmin.list_databases et en vérifiant que la base de données restaurée est répertoriée. Pour de plus amples informations, veuillez consulter rdsadmin.list_databases.

  6. Remettez la base de données en ligne et appliquez des journaux de transactions supplémentaires en appelantrdsadmin.rollforward_database. Pour de plus amples informations, veuillez consulter rdsadmin.rollforward_database.

    db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollforward_to_option', 'complete_rollforward')"
  7. Si vous l'avez défini complete_rollforward FALSE à l'étape précédente, vous devez terminer de remettre la base de données en ligne en appelantrdsadmin.complete_rollforward. Pour de plus amples informations, veuillez consulter rdsadmin.complete_rollforward.

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

Liste des bases de données

Vous pouvez répertorier toutes vos bases de données exécutées sur Amazon RDS pour DB2 en appelant la fonction définie par l'rdsadmin.list_databasesutilisateur.

Pour répertorier vos bases de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Répertoriez vos bases de données en appelantrdsadmin.list_databases. Pour de plus amples informations, veuillez consulter rdsadmin.list_databases.

    db2 "select * from table(rdsadmin.list_databases())"

Collecte d'informations sur les bases de données

Pour collecter des informations sur une base de données sur une instance de base de données RDS pour DB2, appelez la procédure rdsadmin.db2pd_command stockée. Ces informations peuvent vous aider à surveiller vos bases de données ou à résoudre les problèmes.

Pour collecter des informations sur une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Collectez des informations sur la base de données en appelantrdsadmin.db2pd_command. Pour de plus amples informations, veuillez consulter rdsadmin.db2pd_command.

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

Forcer les applications à quitter les bases de données

Pour forcer les applications à quitter une base de données sur votre instance de base de données RDS pour DB2, appelez la procédure rdsadmin.force_application stockée. Avant de procéder à la maintenance de vos bases de données, forcez les applications à quitter vos bases de données.

Pour forcer les applications à quitter une base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Forcez les applications à quitter une base de données en appelantrdsadmin.force_application. Pour de plus amples informations, veuillez consulter rdsadmin.force_application.

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

Génération de rapports de performance

Vous pouvez générer des rapports de performance à l'aide d'une procédure ou d'un script. Pour plus d'informations sur l'utilisation d'une procédure, voir DBSUMMARYprocédure ‐ Générer un rapport récapitulatif des mesures de performance du système et de l'application dans la IBM Db2 documentation.

Db2 inclut un db2mon.sh fichier dans son ~sqllib/sample/perf répertoire. L'exécution du script produit un rapport détaillé et peu coûteux sur les métriques SQL. Pour télécharger le db2mon.sh fichier et les fichiers de script associés, consultez le perfrépertoire dans le référentiel IBM db2-samplesGitHub.

Pour générer des rapports de performance à l'aide du script
  1. Connectez-vous à votre base de données DB2 à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Créez un pool de mémoire tampon nommé db2monbp avec une taille de page de 4096 en appelantrdsadmin.create_bufferpool. Pour de plus amples informations, veuillez consulter rdsadmin.create_bufferpool.

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. Créez un tablespace temporaire nommé db2montmptbsp qui utilise le pool de db2monbp mémoire tampon en appelant. rdsadmin.create_tablespace Pour de plus amples informations, veuillez consulter rdsadmin.create_tablespace.

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. Ouvrez le db2mon.sh script et modifiez la ligne concernant la connexion à une base de données.

    1. Supprimez la ligne suivante.

      db2 -v connect to $dbName
    2. Remplacez la ligne de l'étape précédente par la ligne suivante. Dans l'exemple suivant, remplacez master_username et master_password par le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

      db2 -v connect to $dbName user master_username using master_password
    3. Supprimez les lignes suivantes.

      db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
  5. Exécutez le db2mon.sh script pour générer un rapport à des intervalles spécifiés. Dans l'exemple suivant, remplacez absolute_path par le chemin complet du fichier de script, rds_database_alias par le nom de votre base de données et seconds par le nombre de secondes (0 à 3 600) entre la génération du rapport.

    absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out

    Exemples

    L'exemple suivant montre que le fichier de script se trouve dans le perf répertoire situé sous le home répertoire.

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. Supprimez le pool de mémoire tampon et le tablespace créés pour le db2mon.sh fichier. Dans l'exemple suivant, remplacez master_username et master_password par le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2. Remplacez database_name par le nom de votre base de données. Pour plus d'informations, consultez rdsadmin.drop_tablespace et rdsadmin.drop_bufferpool.

    db2 connect to rdsadmin user master_username using master_password db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"