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 tablespaces
Vous pouvez créer, modifier, renommer ou supprimer des tablespaces pour une base de données RDS for Db2. La création, la modification, le changement de nom ou la suppression de tablespaces nécessitent une autorité SYSADM de niveau supérieur, qui n’est pas disponible pour l’utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.
Rubriques
Création d’un tablespace
Pour créer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée rdsadmin.create_tablespace. Pour plus d’informations, consultez Instruction CREATE TABLESPACE
Important
Pour créer un tablespace vous devez disposer d’un pool de mémoires tampons de même taille de page à associer au tablespace. Pour plus d’informations, consultez Tâches courantes pour les pools de mémoires tampons.
Pour créer un tablespace
-
Connectez-vous à la base de données
rdsadminà l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacezmaster_usernameetmaster_passwordpar vos propres informations.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Créez un tablespace en appelant
rdsadmin.create_tablespace. Pour plus d’informations, consultez rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name',tablespace_initial_size,tablespace_increase_size, 'tablespace_type')"
Modification d’un tablespace
Pour modifier un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée rdsadmin.alter_tablespace. Vous pouvez utiliser cette procédure stockée pour modifier le pool de mémoires tampons d’un tablespace, abaisser la limite maximale ou mettre un tablespace en ligne. Pour plus d’informations, consultez Instruction ALTER TABLESPACE
Pour modifier un tablespace
-
Connectez-vous à la base de données
rdsadminà l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacezmaster_usernameetmaster_passwordpar vos propres informations.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Modifiez un tablespace en appelant
rdsadmin.alter_tablespace. Pour plus d’informations, consultez rdsadmin.alter_tablespace.db2 "call rdsadmin.alter_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name',buffer_pool_size,tablespace_increase_size, 'max_size', 'reduce_max', 'reduce_stop', 'reduce_value', 'lower_high_water', 'lower_high_water_stop', 'switch_online')"
Changement de nom d’un tablespace
Pour changer le nom d’un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée rdsadmin.rename_tablespace. Pour plus d’informations, consultez Instruction RENAME TABLESPACE
Modification du nom d’un tablespace
-
Connectez-vous à la base de données
rdsadminà l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacezmaster_usernameetmaster_passwordpar vos propres informations.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Renommez un tablespace en appelant
rdsadmin.rename_tablespace. Pour plus d’informations, y compris les restrictions relatives au nom que vous pouvez donner à un tablespace, consultez rdsadmin.rename_tablespace.db2 "call rdsadmin.rename_tablespace( 'database_name', 'source_tablespace_name', 'target_tablespace_name')"
Suppression d’un tablespace
Pour supprimer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée rdsadmin.drop_tablespace. Avant de supprimer un tablespace, supprimez d’abord tous les objets qu’il contient, tels que des tables, des index ou des objets volumineux (LOB). Pour plus d’informations, consultez Suppression de tablespaces
Pour supprimer un tablespace
-
Connectez-vous à la base de données
rdsadminà l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacezmaster_usernameetmaster_passwordpar vos propres informations.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Supprimez un tablespace en appelant
rdsadmin.drop_tablespace. Pour plus d’informations, consultez rdsadmin.drop_tablespace.db2 "call rdsadmin.drop_tablespace( 'database_name', 'tablespace_name')"
Vérification du statut d’un tablespace
Vous pouvez vérifier le statut d’un tablespace en utilisant la fonction cast.
Pour vérifier le statut d’un tablespace
-
Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez
rds_database_alias,master_usernameetmaster_passwordpar vos propres informations.db2 connect tords_database_aliasusermaster_usernameusingmaster_password -
Renvoyez une sortie récapitulative.
Pour une sortie récapitulative :
db2 "select cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
Renvoi d’informations détaillées sur les tablespaces
Vous pouvez renvoyer des informations sur un tablespace pour un membre ou pour tous les membres à l’aide de la fonction cast.
Pour renvoyer des informations détaillées sur les tablespaces
-
Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez
rds_database_alias,master_usernameetmaster_passwordpar vos propres informations.db2 connect tords_database_aliasusermaster_usernameusingmaster_password -
Renvoyez des informations sur tous les tablespaces de la base de données pour un membre ou pour tous les membres.
Pour un membre :
db2 "select cast(member as smallint) as member, cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "Pour tous les membres :
db2 "select cast(member as smallint) as member cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
Liste de l’état et du groupe de stockage d’un tablespace
Vous pouvez répertorier l’état et le groupe de stockage d’un tablespace en exécutant une instruction SQL.
Pour répertorier l’état et le groupe de stockage d’un tablespace, exécutez l’instruction SQL suivante :
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name, varchar(TBSP_STATE, 30) state, tbsp_type, varchar(storage_group_name,30) storage_group FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
Liste des tablespaces d’une table
Vous pouvez répertorier les tablespaces d’une table en exécutant une instruction SQL.
Pour répertorier les tablespaces d’une table, exécutez l’instruction SQL suivante. Dans l’exemple suivant, remplacez SCHEMA_NAME et TABLE_NAME par les noms de votre schéma et de votre table :
db2 "SELECT VARCHAR(SD.TBSPACE,30) AS DATA_SPACE, VARCHAR(SL.TBSPACE,30) AS LONG_SPACE, VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE FROM SYSCAT.DATAPARTITIONS P JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID WHERE TABSCHEMA = 'SCHEMA_NAME' AND TABNAME = 'TABLE_NAME'"
Liste des conteneurs de tablespaces
Vous pouvez répertorier tous les conteneurs de tablespaces ou des conteneurs de tablespaces spécifiques à l’aide de la commande cast.
Création de la liste des conteneurs d’un tablespace
-
Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacez
rds_database_alias,master_usernameetmaster_passwordpar vos propres informations :db2 connect tords_database_aliasusermaster_usernameusingmaster_password -
Renvoyez une liste de tous les conteneurs de tablespaces de la base de données ou de conteneurs de tablespaces spécifiques.
Pour tous les conteneurs de tablespaces :
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"Pour des conteneurs de tablespaces spécifiques :
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"