Gespeicherte Prozeduren für Tablespaces von RDS für Db2 - 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.

Gespeicherte Prozeduren für Tablespaces von RDS für Db2

Mit den in diesem Thema beschrieben integrierten gespeicherten Prozeduren werden Tablespaces für Datenbanken von Amazon RDS für Db2 verwaltet. Um diese Prozeduren auszuführen, muss der Masterbenutzer zuerst eine Verbindung mit der Datenbank rdsadmin herstellen.

Diese gespeicherten Prozeduren werden für eine Vielzahl von Aufgaben verwendet. Diese Liste ist nicht umfassend.

In den folgenden integrierten gespeicherten Prozeduren erhalten Sie Informationen zu deren Syntax, Parametern, Nutzungshinweisen und Beispielen.

rdsadmin.create_tablespace

Erstellt ein Tablespace.

Syntax

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

Parameter

Die folgenden Parameter sind erforderlich:

database_name

Der Name der Datenbank, in der die Partition erstellt wird. Der Datentyp ist varchar.

tablespace_name

Der Name des zu erstellenden Tablespace. Der Datentyp ist varchar.

Der Name des Tablespace weist die folgenden Einschränkungen auf:

  • Er darf nicht mit dem Namen eines vorhandenen Tablespace in dieser Datenbank identisch sein.

  • Er kann nur die Zeichen _$#@a-zA-Z0-9 enthalten.

  • Er darf nicht mit _ oder $ beginnen.

  • Er darf nicht mit SYS beginnen.

Die folgenden Parameter sind optional:

buffer_pool_name

Der Name des Pufferpools, dem das Tablespace zugewiesen werden soll. Der Datentyp ist varchar. Der Standardwert ist eine leere Zeichenfolge.

Wichtig

Sie müssen bereits über einen Pufferpool mit derselben Seitengröße verfügen, um ihn mit dem Tablespace verknüpfen zu können.

tablespace_page_size

Die Seitengröße des Tablespace in Bytes. Der Datentyp ist integer. Zulässige Werte: 4096, 8192, 16384, 32768. Die Standardeinstellung ist die Seitengröße, die Sie beim Erstellen der Datenbank durch Aufrufen von rdsadmin.create_database verwendet haben.

Wichtig

Amazon RDS unterstützt Write-Atomizität für Seiten mit 4 KiB, 8 KiB und 16 KiB. Im Gegensatz dazu besteht bei Seiten mit 32 KiB die Gefahr, dass Schreibvorgänge fehlerhaft sind oder dass partielle Daten auf den Desk geschrieben werden. Wenn Sie Seiten mit 32 KiB verwenden, empfehlen wir, eine zeitpunktbezogene Wiederherstellung und automatisierte Backups zu aktivieren. Andernfalls ist nach fehlerhaften Schreibvorgängen keine Wiederherstellung möglich. Weitere Informationen erhalten Sie unter Einführung in Backups und Wiederherstellen einer DB-Instance auf einen bestimmten Zeitpunkt für Amazon RDS.

tablespace_initial_size

Die Anfangsgröße des Tablespace in Kilobyte (KB). Der Datentyp ist integer. Gültige Werte: 48 oder höher. Der Standardwert ist „null“.

Wenn Sie keinen Wert festlegen, legt Db2 einen geeigneten Wert für Sie fest.

Anmerkung

Dieser Parameter gilt nicht für temporäre Tablespaces, da diese vom System verwaltet werden.

tablespace_increase_size

Der Prozentsatz, um den das Tablespace vergrößert werden soll, wenn es voll ist. Der Datentyp ist integer. Gültige Werte: 1100. Der Standardwert ist „null“.

Wenn Sie keinen Wert festlegen, legt Db2 einen geeigneten Wert für Sie fest.

Anmerkung

Dieser Parameter gilt nicht für temporäre Tablespaces, da diese vom System verwaltet werden.

tablespace_type

Der Typ des Tablespace. Der Datentyp ist char. Gültige Werte: U (für Benutzerdaten), T (für temporäre Benutzerdaten) oder S (für temporäre Systemdaten). Der Standardwert ist U.

tablespace_prefetch_size

Die Speichervorgriff-Seitengröße des Tablespace. Der Datentyp ist char. Gültige Werte: AUTOMATIC (Groß- und Kleinschreibung wird nicht berücksichtigt) oder positive Ganzzahlen ungleich Null, die kleiner als oder gleich 32767 sind.

Nutzungshinweise

RDS für Db2 erstellt immer eine große Datenbank für Daten.

Informationen zum Überprüfen des Status beim Erstellen eines Tablespace finden Sie unter rdsadmin.get_task_status.

Beispiele

Beispiel 1: Erstellen eines Tablespace und Zuweisen eines Pufferpools

Im folgenden Beispiel wird das Tablespace SP8 erstellt und der Pufferpool BP8 für die Datenbank TESTDB zugewiesen. Das Tablespace hat eine ursprüngliche Tablespace-Seitengröße von 4096 Byte, ein ursprüngliches Tablespace von 1000 KB und die Erweiterung der Tabellengröße ist auf 50 % festgelegt.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 4096, 1000, 50)"

Beispiel 2: Erstellen eines temporären Tablespace und Zuweisen eines Pufferpools

Im folgenden Beispiel wird das temporäre Tablespace SP8 erstellt. Es weist den Pufferpool BP8 mit einer Größe von 8 KiB für die Datenbank TESTDB zu.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 8192, NULL, NULL, 'T')"

Beispiel 3: Erstellen eines Tablespace und Zuweisen einer Speichervorgriff-Seitengröße

Im folgenden Beispiel wird das Tablespace SP8 für die Datenbank TESTDB zugewiesen. Das Tablespace hat eine ursprüngliche Tablespace-Erweiterungsgröße von 50 und eine Speichervorgriff-Seitengröße von 800.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', NULL, NULL, NULL, 50, NULL, '800')"

rdsadmin.alter_tablespace

Ändert ein Tablespace.

Syntax

db2 "call rdsadmin.alter_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_increase_size, 'max_size', 'reduce_max', 'reduce_stop', 'reduce_value', 'lower_high_water', 'lower_high_water_stop', 'switch_online', 'tablespace_prefetch_size')"

Parameter

Die folgenden Parameter sind erforderlich:

database_name

Der Name der Datenbank, die das Tablespace verwendet. Der Datentyp ist varchar.

tablespace_name

Der Name des zu ändernden Tablespace. Der Datentyp ist varchar.

Die folgenden Parameter sind optional:

buffer_pool_name

Der Name des Pufferpools, dem das Tablespace zugewiesen werden soll. Der Datentyp ist varchar. Der Standardwert ist eine leere Zeichenfolge.

Wichtig

Sie müssen bereits über einen Pufferpool mit derselben Seitengröße verfügen, um ihn mit dem Tablespace verknüpfen zu können.

tablespace_increase_size

Der Prozentsatz, um den das Tablespace vergrößert werden soll, wenn es voll ist. Der Datentyp ist integer. Gültige Werte: 1100. Der Standardwert ist 0.

max_size

Die maximale Größe für das Tablespace. Der Datentyp ist varchar. Gültige Werte: integer K | M | G oder NONE. Der Standardwert ist NONE.

reduce_max

Gibt an, ob der Wert für „High Water Mark“ auf den maximalen Grenzwert reduziert werden soll. Der Datentyp ist char. Der Standardwert ist N.

reduce_stop

Gibt an, ob der vorhergehende Befehl reduce_max oder der Befehl reduce_value unterbrochen werden soll. Der Datentyp ist char. Der Standardwert ist N.

reduce_value

Der Wert oder der Prozentsatz, um den der Wert für „High Water Mark“ im Tablespace reduziert werden soll. Der Datentyp ist varchar. Gültige Werte: integer K| M | G oder 1100. Der Standardwert ist N.

lower_high_water

Gibt an, ob der Befehl ALTER TABLESPACE LOWER HIGH WATER MARK ausgeführt werden soll. Der Datentyp ist char. Der Standardwert ist N.

lower_high_water_stop

Gibt an, ob der Befehl ALTER TABLESPACE LOWER HIGH WATER MARK STOP ausgeführt werden soll. Der Datentyp ist char. Der Standardwert ist N.

switch_online

Gibt an, ob der Befehl ALTER TABLESPACE SWITCH ONLINE ausgeführt werden soll. Der Datentyp ist char. Der Standardwert ist N.

tablespace_prefetch_size

Die Speichervorgriff-Seitengröße des Tablespace. Der Datentyp ist char. Gültige Werte: AUTOMATIC (Groß- und Kleinschreibung wird nicht berücksichtigt) oder positive Ganzzahlen ungleich Null, die kleiner als oder gleich 32767 sind.

Anmerkung

Dieser Parameter funktioniert nur mit buffer_pool_name, table_increase_size, max_size und switch_online. Er funktioniert nicht mit reduce_max, reduce_stop, reduce_value, lower_high_water und lower_high_water_stop.

Nutzungshinweise

Bevor Sie die gespeicherte Prozedur aufrufen, lesen Sie die folgenden Hinweise:

  • Die gespeicherte Prozedur rdsadmin.alter_tablespace funktioniert nicht in einem Tablespace, in dem tablespace_type für temporäre Benutzerdaten auf T festgelegt ist.

  • Die Parameter reduce_max, reduce_stop, reduce_value, lower_high_water, lower_high_water_stop und switch_online schließen sich gegenseitig aus. Sie können nicht mit anderen optionalen Parametern wie buffer_pool_name im Befehl rdsadmin.alter_tablespace kombiniert werden. Weitere Informationen finden Sie unter Statement not valid.

Informationen zum Überprüfen des Status beim Ändern eines Tablespace finden Sie unter rdsadmin.get_task_status.

Informationen zu Fehlermeldungen, die beim Aufrufen von gespeicherten Prozeduren zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.

Beispiele

Beispiel 1: Senken des Werts für „High Water Mark“

Im folgenden Beispiel wird das Tablespace SP8 geändert und der Pufferpool BP8 für die Datenbank TESTDB zugewiesen, um den Wert für „High Water Mark“ zu senken.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'SP8', 'BP8', NULL, NULL, 'Y')"

Beispiel 2: Reduzieren des Werts für „High Water Mark“

Im folgenden Beispiel wird der Befehl REDUCE MAX im Tablespace TBSP_TEST in der Datenbank TESTDB ausgeführt.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, 'Y')"

Beispiel 3: Unterbrechen von Befehlen, um den Wert für „High Water Mark“ zu reduzieren

Im folgenden Beispiel wird der Befehl REDUCE STOP im Tablespace TBSP_TEST in der Datenbank TESTDB ausgeführt.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, 'Y')"

Beispiel 4: Ändern der vorhandenen Speichervorgriff-Seitengröße

Im folgenden Beispiel wird der Befehl ALTER TABLESPACE SWITCH ONLINE für das Tablespace TSBP_TEST ausgeführt und die vorhandene Speichervorgriff-Seitengröße auf 64 geändert.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ‘Y’, ‘64’)"

rdsadmin.rename_tablespace

Benennt ein Tablespace um.

Syntax

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

Parameter

Die folgenden Parameter sind erforderlich:

?

Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur „?“.

database_name

Der Name der Datenbank, zu der das Tablespace gehört. Der Datentyp ist varchar.

source_tablespace_name

Der Name des Tablespace, das umbenannt werden soll. Der Datentyp ist varchar.

target_tablespace_name

Der neue Name des Tablespace. Der Datentyp ist varchar.

Der neue Name weist die folgenden Einschränkungen auf:

  • Er darf nicht mit dem Namen eines vorhandenen Tablespace identisch sein.

  • Er kann nur die Zeichen _$#@a-zA-Z0-9 enthalten.

  • Er darf nicht mit _ oder $ beginnen.

  • Er darf nicht mit SYS beginnen.

Nutzungshinweise

Informationen zum Überprüfen des Status beim Umbenennen eines Tablespace finden Sie unter rdsadmin.get_task_status.

Sie können Tablespaces, die zur Datenbank rdsadmin gehören, nicht umbenennen.

Beispiele

Im folgenden Beispiel wird das Tablespace SP8 in der Datenbank TESTDB in SP9 umbenannt.

db2 "call rdsadmin.rename_tablespace( ?, 'TESTDB', 'SP8', 'SP9')"

rdsadmin.drop_tablespace

Verwirft ein Tablespace.

Syntax

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

Parameter

Die folgenden Parameter sind erforderlich:

database_name

Der Name der Datenbank, zu der das Tablespace gehört. Der Datentyp ist varchar.

tablespace_name

Der Name des Tablespace, das verworfen werden soll. Der Datentyp ist varchar.

Nutzungshinweise

Informationen zum Überprüfen des Status beim Verwerfen eines Tablespace finden Sie unter rdsadmin.get_task_status.

Beispiele

Im folgenden Beispiel wird das Tablespace SP8 aus der Datenbank TESTDB verworfen.

db2 "call rdsadmin.drop_tablespace( 'TESTDB', 'SP8')"