Häufige Aufgaben in Bezug auf Tablespaces - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Häufige Aufgaben in Bezug auf Tablespaces

Sie können Tablespaces für eine Datenbank von RDS für Db2 erstellen, ändern, umbenennen oder löschen. Das Erstellen, Ändern, Umbenennen oder Löschen von Tablespaces erfordert eine höhere SYSADM-Autoritätsebene, die dem Hauptbenutzer nicht zur Verfügung stehen. Verwenden Sie stattdessen gespeicherte Amazon-RDS-Prozeduren.

Erstellen eines Tablespaces

Rufen Sie die gespeicherte Prozedur rdsadmin.create_tablespace auf, um einen Tablespace für Ihre Datenbank von RDS für Db2 zu erstellen. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter CREATE TABLESPACE statement.

Wichtig

Um einen Tablespace zu erstellen, müssen Sie über einen Pufferpool mit derselben Seitengröße verfügen, den Sie mit dem Tablespace verknüpfen können. Weitere Informationen finden Sie unter Allgemeine Aufgaben für Pufferpools.

So erstellen Sie einen Tablespace
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Erstellen Sie einen Tablespace, indem Sie rdsadmin.create_tablespace aufrufen. Weitere Informationen finden Sie unter rdsadmin.create_tablespace.

    db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_initial_size, tablespace_increase_size, 'tablespace_type')"

Ändern eines Tablespaces

Rufen Sie die gespeicherte Prozedur rdsadmin.alter_tablespace auf, um einen Tablespace für Ihre Datenbank von RDS für Db2 zu ändern. Sie können diese gespeicherte Prozedur verwenden, um den Pufferpool eines Tablespaces zu ändern, die sogenannte „High Water Mark“ zu senken oder einen Tablespace online zu schalten. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter ALTER TABLESPACE statement.

So ändern Sie einen Tablespace
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Ändern Sie einen Tablespace, indem Sie rdsadmin.alter_tablespace aufrufen. Weitere Informationen finden Sie unter 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')"

Umbenennen eines Tablespaces

Rufen Sie die gespeicherte Prozedur rdsadmin.rename_tablespace auf, um den Namen eines Tablespaces für Ihre Datenbank von RDS für Db2 zu ändern. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter RENAME TABLESPACE statement.

So benennen Sie einen Tablespaces um
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Benennen Sie einen Tablespace um, indem Sie rdsadmin.rename_tablespace aufrufen. Weitere Informationen, einschließlich der Einschränkungen, die für Tablespace-Namen gelten, finden Sie unter rdsadmin.rename_tablespace.

    db2 "call rdsadmin.rename_tablespace( 'database_name', 'source_tablespace_name', 'target_tablespace_name')"

Löschen eines Tablespaces

Rufen Sie die gespeicherte Prozedur rdsadmin.drop_tablespace auf, um einen Tablespace von Ihrer Datenbank von RDS für Db2 zu löschen. Bevor Sie einen Tablespace löschen, entfernen Sie zunächst alle Objekte im Tablespace, z. B. Tabellen, Indizes oder große Objekte (LOBs). Weitere Informationen finden Sie unter Löschen von Tablespaces in der IBM Db2-Dokumentation.

So löschen Sie einen Tablespace
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Löschen Sie einen Tablespace, indem Sie rdsadmin.drop_tablespace aufrufen. Weitere Informationen finden Sie unter rdsadmin.drop_tablespace.

    db2 "call rdsadmin.drop_tablespace( 'database_name', 'tablespace_name')"

Prüfen des Status eines Tablespaces

Sie können den Status eines Tablespaces mithilfe der cast-Funktion überprüfen.

So überprüfen Sie den Status eines Tablespaces
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel rds_database_alias, master_username und master_password durch Ihre Informationen.

    db2 connect to rds_database_alias user master_username using master_password
  2. Generieren Sie eine Ausgabe zur Übersicht.

    Für eine Ausgabe zur Übersicht:

    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"

Generieren detaillierter Informationen zu Tablespaces

Mithilfe der Funktion cast können Sie Informationen über einen Tablespace für ein Mitglied oder alle Mitglieder generieren.

So generieren Sie detaillierte Informationen zu Tablespaces
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel rds_database_alias, master_username und master_password durch Ihre Informationen.

    db2 connect to rds_database_alias user master_username using master_password
  2. Generieren Sie Details zu allen Tablespaces in der Datenbank für ein Mitglied oder für alle Mitglieder.

    Für ein Mitglied:

    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 "

    Für alle Mitglieder:

    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 "

Auflisten des Status und der Speichergruppe für einen Tablespace

Sie können den Status und die Speichergruppe für einen Tablespace auflisten, indem Sie eine SQL-Anweisung ausführen.

Führen Sie die folgende SQL-Anweisung aus, um den Status und die Speichergruppe für einen Tablespace aufzulisten:

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"

Auflisten der Tablespaces einer Tabelle

Sie können die Tablespaces für eine Tabelle auflisten, indem Sie eine SQL-Anweisung ausführen.

Führen Sie die folgende SQL-Anweisung aus, um die Tablespaces einer Tabelle aufzulisten. Ersetzen Sie im folgenden Beispiel SCHEMA_NAME und TABLE_NAME durch die Namen Ihres Schemas und Ihrer Tabelle:

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

Auflisten von Tablespace-Containern

Sie können alle Tablespace-Container oder bestimmte Tablespace-Container auflisten, indem Sie den Befehl cast verwenden.

So listen Sie die Tablespace-Container für einen Tablespace auf
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel rds_database_alias, master_username und master_password durch Ihre Informationen:

    db2 connect to rds_database_alias user master_username using master_password
  2. Generieren Sie eine Liste aller Tablespace-Container in der Datenbank oder bestimmter Tablespace-Container.

    Für alle Tablespace-Container:

    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"

    Für bestimmte Tablespace-Container:

    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"