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 Datenbanken von RDS für Db2
Mit den in diesem Thema beschrieben integrierten gespeicherten Prozeduren werden 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.
Gespeicherte Prozeduren
rdsadmin.create_database
Erstellt eine Datenbank.
Syntax
db2 "call rdsadmin.create_database( 'database_name', 'database_page_size', 'database_code_set', 'database_territory', 'database_collation', 'database_autoconfigure_str', 'database_non-restrictive')"
Parameter
Anmerkung
Mit dieser gespeicherten Prozedur wird die Kombination der erforderlichen Parameter nicht validiert. Beim Aufrufen von rdsadmin.get_task_status kann die benutzerdefinierte Funktion aufgrund einer ungültigen Kombination von database_codeset, database_territory und database_collation einen Fehler zurückgeben. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter Choosing the code page, territory, and collation for your database
Der folgende Parameter ist erforderlich:
database_name-
Der Name der zu erstellenden Datenbank. Der Datentyp ist
varchar.
Die folgenden Parameter sind optional:
database_page_size-
Die Standard-Seitengröße der Datenbank. Zulässige Werte:
4096,8192,16384,32768. Der Datentyp istinteger. Der Standardwert ist8192.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 beschädigt werden oder dass Teile von Daten auf die Festplatte geschrieben werden. Wenn Sie Seiten mit 32 KiB verwenden, empfehlen wir Ihnen, die point-in-time Wiederherstellung und automatische 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.
database_code_set-
Der Codesatz für die Datenbank. Der Datentyp ist
varchar. Der Standardwert istUTF-8. database_territory-
Der zweistellige Ländercode für die Datenbank. Der Datentyp ist
varchar. Der Standardwert istUS. database_collation-
Die Sortierreihenfolge, die festlegt, wie die in der Datenbank gespeicherten Zeichenfolgen sortiert und verglichen werden. Der Datentyp ist
varchar.Zulässige Werte:
-
COMPATIBILITY– Sortierreihenfolge von IBM Db2 Version 2. -
EBCDIC_819_037– Lateinische ISO-Codepage, Sortierung; CCSID 037 (EBCDIC US-Englisch). -
EBCDIC_819_500– Lateinische ISO-Codepage, Sortierung; CCSID 500 (EBCDIC International). -
EBCDIC_850_037– Lateinische ASCII-Codepage, Sortierung; CCSID 037 (EBCDIC US-Englisch). -
EBCDIC_850_500– Lateinische ASCII-Codepage, Sortierung; CCSID 500 (EBCDIC International). -
EBCDIC_932_5026– Japanische ASCII-Codepage, Sortierung; CCSID 5026 (EBCDIC US-Englisch). -
EBCDIC_932_5035– Japanische ASCII-Codepage, Sortierung; CCSID 5035 (EBCDIC International). -
EBCDIC_1252_037– Lateinische Windows-Codepage, Sortierung; CCSID 037 (EBCDIC US-Englisch). -
EBCDIC_1252_500– Lateinische Windows-Codepage, Sortierung; CCSID 500 (EBCDIC International). -
IDENTITY– Standardsortierung. Die Zeichenfolgen werden Byte für Byte verglichen. -
IDENTITY_16BIT– Das Kompatibilitäts-Kodierungsschema für die UTF-16:8-Bit-Sortierreihenfolge (CESU-8). Weitere Informationen finden Sie im Unicode Technical Report #26auf der Website vom Unicode Consortium. -
NLSCHAR— Nur zur Verwendung mit der thailändischen Codepage (CP874). -
SYSTEM– Wenn SieSYSTEMverwenden, nutzt die Datenbank automatisch die Sortierreihenfolge fürdatabase_codesetunddatabase_territory.
Der Standardwert ist
IDENTITY.Darüber hinaus unterstützt RDS für Db2 die folgenden Sortierungsgruppen:
language-aware-collationundlocale-sensitive-collation. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter Choosing a collation for a Unicode database. -
database_autoconfigure_str-
Die Befehlssyntax
AUTOCONFIGURE, zum Beispiel'AUTOCONFIGURE APPLY DB'. Der Datentyp istvarchar. Der Standardwert ist eine leere Zeichenfolge oder Null.Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter AUTOCONFIGURE command
. database_non-restrictive-
Die Gewährung von Standardberechtigungen und -berechtigungen innerhalb der Datenbank. Der Datentyp ist
varchar. Der Standardwert istN.Zulässige Werte:
-
N— Die erstellte Datenbank ist restriktiv und gewährt keine Befugnisse oder Privilegien. -
Y— Die erstellte Datenbank ist nicht restriktiv und gewährt der speziellen GruppePUBLICeine Reihe von Berechtigungen. Weitere Informationen finden Sie in der IBM Db2 Dokumentation unter Standardberechtigungen, die beim Erstellen einer Datenbank gewährtwerden.
-
Nutzungshinweise
Wenn Sie den Parameter db2_compatibility_vector ändern möchten, erledigen Sie dies vor dem Erstellen einer Datenbank. Weitere Informationen finden Sie unter Festlegen des Parameters db2_compatibility_vector.
Spezielle Anforderungen:
-
Der an die Db2-Instance gesendete Befehl
CREATE DATABASEverwendet die OptionRESTRICTIVE. -
RDS für Db2 verwendet nur
AUTOMATIC STORAGE-Tabellenbereiche. -
RDS für Db2 verwendet die Standardwerte für
NUMSEGSundDFT_EXTENT_SZ. -
RDS für Db2 verwendet Speicherverschlüsselung und unterstützt keine Datenbankverschlüsselung.
Weitere Informationen zu diesen Anforderungen finden Sie in der IBM Db2-Dokumentation unter CREATE DATABASE command
Vor dem Aufrufen von rdsadmin.create_database müssen Sie eine Verbindung mit der Datenbank rdsadmin herstellen. Ersetzen Sie im folgenden Beispiel master_username und master_password durch die Informationen Ihrer RDS for Db2-DB-Instance:
db2 connect to rdsadmin usermaster_usernameusingmaster_password
Informationen zum Überprüfen des Erstellungsstatus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.create_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird eine Datenbank erstellt, die TESTJP mit einer korrekten Kombination der database_collation Parameter database_code_setdatabase_territory, und für Japan aufgerufen wird:
db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"
rdsadmin.deactivate_database
Deaktiviert eine Datenbank.
Syntax
db2 "call rdsadmin.deactivate_database( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der zu deaktivierenden Datenbank. Der Datentyp ist
varchar.
Nutzungshinweise
Sie können Datenbanken deaktivieren, um Speicherressourcen zu schonen oder andere Änderungen an der Datenbankkonfiguration vorzunehmen. Rufen Sie die gespeicherte Prozedur rdsadmin.activate_database auf, um deaktivierte Datenbanken wieder online zu schalten.
Durch Aufrufen der gespeicherten Prozedur rdsadmin.deactivate_database können Sie eine Datenbank auf einer Quell-DB-Instance während der Replikation nicht deaktivieren.
Informationen zum Überprüfen des Deaktivierungsstatus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.deactivate_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird die Datenbank TESTDB deaktiviert.
db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"
rdsadmin.activate_database
Aktiviert eine Datenbank.
Informationen zu den Unterschieden zwischen rdsadmin.reactivate_database und rdsadmin.activate_database finden Sie unter Nutzungshinweise.
Syntax
db2 "call rdsadmin.activate_database( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der zu aktivierenden Datenbank. Der Datentyp ist
varchar.
Nutzungshinweise
Alle Datenbanken werden bei der Erstellung standardmäßig aktiviert. Wenn Sie eine Datenbank auf einer eigenständigen DB-Instance deaktivieren, um Speicherressourcen zu schonen oder andere Änderungen an der Datenbankkonfiguration vorzunehmen, rufen Sie die gespeicherte Prozedur rdsadmin.activate_database auf, um die Datenbank erneut zu aktivieren.
Mit dieser gespeicherten Prozedur wird nur eine Datenbank aktiviert, die sich auf einer eigenständigen DB-Instance befindet und durch Aufrufen der gespeicherten Prozedur rdsadmin.deactivate_database deaktiviert wurde. Um eine Datenbank auf einer Replikatquell-DB-Instance zu aktivieren, müssen Sie die gespeicherte Prozedur rdsadmin.reactivate_database aufrufen.
Informationen zum Überprüfen des Aktivierungsstatus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.activate_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird die Datenbank TESTDB aktiviert.
db2 "call rdsadmin.activate_database(?, 'TESTDB')"
rdsadmin.reactivate_database
Aktiviert eine Datenbank erneut.
Informationen zu den Unterschieden zwischen rdsadmin.activate_database und rdsadmin.reactivate_database finden Sie unter Nutzungshinweise.
Syntax
db2 "call rdsadmin.reactivate_database( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der erneut zu aktivierenden Datenbank. Der Datentyp ist
varchar.
Nutzungshinweise
Wenn Sie die gespeicherte Prozedur rdsadmin.reactivate_database aufrufen, wird mit dieser zuerst die Datenbank durch Aufrufen der gespeicherten Prozedur rdsadmin.deactivate_database deaktiviert und dann durch Aufrufen der gespeicherten Prozedur rdsadmin.activate_database aktiviert.
Nachdem Sie Änderungen an den Datenbankkonfigurationen vorgenommen haben, müssen Sie möglicherweise eine Datenbank auf einer DB-Instance von RDS für Db2 erneut aktivieren. Um zu ermitteln, ob Sie eine Datenbank erneut aktivieren müssen, stellen Sie eine Verbindung mit der Datenbank her und führen Sie db2 get db cfg show detail aus.
Eine Datenbank auf einer eigenständigen DB-Instance können Sie mit der gespeicherten Prozedur rdsadmin.reactivate_database erneut aktivieren. Wenn Sie die gespeicherte Prozedur rdsadmin.deactivate_database bereits aufgerufen haben, können Sie auch stattdessen die gespeicherte Prozedur rdsadmin.activate_database aufrufen.
Für eine Datenbank auf einer Replikatquell-DB-Instance müssen Sie die gespeicherte Prozedur rdsadmin.reactivate_database verwenden, um sie erneut zu aktivieren.
Informationen zum Überprüfen des Reaktivierungsstatus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.reactivate_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird die Datenbank TESTDB erneut aktiviert.
db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"
rdsadmin.drop_database
Entfernt eine Datenbank.
Syntax
db2 "call rdsadmin.drop_database('database_name')"
Parameter
Der folgende Parameter ist erforderlich:
database_name-
Der Name der zu entfernenden Datenbank. Der Datentyp ist
varchar.
Nutzungshinweise
Sie können eine Datenbank durch Aufrufen von rdsadmin.drop_database nur dann entfernen, wenn die folgenden Bedingungen erfüllt sind:
-
Beim Erstellen der DB-Instance von RDS für Db2 mithilfe der Amazon-RDS-Konsole oder der AWS CLI haben Sie den Namen der Datenbank nicht angegeben. Weitere Informationen finden Sie unter Erstellen einer DB-Instance.
-
Sie haben die Datenbank durch Aufrufen der gespeicherten Prozedur rdsadmin.create_database erstellt.
-
Sie haben die Datenbank aus einem Offline- oder Sicherungsabbild durch Aufrufen der gespeicherten Prozedur rdsadmin.restore_database wiederhergestellt.
Vor dem Aufrufen von rdsadmin.drop_database müssen Sie eine Verbindung mit der Datenbank rdsadmin herstellen. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre RDS for Db2-DB-Instance-Informationen:
db2 connect to rdsadmin usermaster_usernameusingmaster_password
Informationen zum Überprüfen des Löschstatus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.drop_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird die Datenbank TESTDB entfernt:
db2 "call rdsadmin.drop_database('TESTDB')"
rdsadmin.update_db_param
Aktualisiert die Datenbankparameter.
Syntax
db2 "call rdsadmin.update_db_param( 'database_name', 'parameter_to_modify', 'changed_value', 'restart_database')"
Parameter
Die folgenden Parameter sind erforderlich:
database_name-
Der Name der Datenbank, für die die Aufgabe ausgeführt werden soll. Der Datentyp ist
varchar. parameter_to_modify-
Der Name des zu ändernden Parameters. Der Datentyp ist
varchar. Weitere Informationen finden Sie unter Parameter von Amazon RDS für Db2. changed_value-
Der Wert, in den der Parameterwert geändert werden soll. Der Datentyp ist
varchar.
Der folgende Parameter ist optional:
restart_database-
Gibt an, ob RDS die Datenbank neu startet, sofern ein Neustart erforderlich ist. Der Datentyp ist
varchar. Umlogprimaryundlogfilsizzu ändern, legen Sie diesen Parameter auf'YES'fest.
Nutzungshinweise
Informationen zum Überprüfen des Aktualisierungsstatus von Datenbankparametern finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.update_db_param zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Beispiel 1: Aktualisieren eines Parameters
Im folgenden Beispiel wird der Parameter archretrydelay für die Datenbank TESTDB auf 100 aktualisiert:
db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"
Beispiel 2: Verzögern der Validierung von Objekten
Im folgenden Beispiel wird die Validierung von erstellten Objekten in der Datenbank TESTDB verzögert, um eine Überprüfung der Abhängigkeiten zu vermeiden:
db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"
rdsadmin.set_configuration
Konfiguriert spezifische Einstellungen für die Datenbank.
Syntax
db2 "call rdsadmin.set_configuration( 'name', 'value')"
Parameter
Die folgenden Parameter sind erforderlich:
name-
Der Name der Konfigurationseinstellung. Der Datentyp ist
varchar. value-
Der Wert der Konfigurationseinstellung. Der Datentyp ist
varchar.
Nutzungshinweise
In der folgenden Tabelle sind die Konfigurationseinstellungen angegeben, die Sie mit rdsadmin.set_configuration steuern können.
| Name | Description |
|---|---|
|
|
Die Anzahl der während einer Wiederherstellung zu erstellenden Puffer. Dieser Wert muss kleiner als die Gesamtspeichergröße der DB-Instance-Klasse sein. Wenn diese Einstellung nicht konfiguriert ist, legt Db2 den Wert fest, der während der Wiederherstellung verwendet werden soll. Weitere Informationen finden Sie in der IBM Db2 Dokumentation unter dem Befehl RESTORE DATABASE |
|
|
Die Anzahl der während einer Wiederherstellung zu erstellenden Puffermanipulatoren. Dieser Wert muss kleiner als das Doppelte der Zahl von v CPUs für die DB-Instance sein. Wenn diese Einstellung nicht konfiguriert ist, legt Db2 den Wert fest, der während der Wiederherstellung verwendet werden soll. Weitere Informationen finden Sie in der IBM Db2 Dokumentation unter dem Befehl RESTORE DATABASE |
|
|
Die Anzahl der Pfade (oder I/O Streams), die während einer Wiederherstellung aus Amazon S3 verwendet werden sollen. Um diese Konfigurationseinstellung verwenden zu können, benötigen Sie mehrere Sicherungsdateien. Dieser Wert kann die Leistung bei der Wiederherstellung von Datenbanken mit großen Datenmengen verbessern, da er mehrere Datenbanksicherungsdateien parallel wiederherstellt. Wir empfehlen, dass Sie diesen Wert so einstellen, dass er der Anzahl Ihrer Datenbanksicherungsdateien entspricht. Weitere Informationen finden Sie in der IBM Db2 Dokumentation unter dem Befehl BACKUP DATABASE |
|
|
Gibt an, ob Backup-Daten direkt während der Wiederherstellung gestreamt werden sollen, anstatt zuerst das gesamte Backup auf Ihre RDS for Db2-DB-Instance herunterzuladen und dann zu extrahieren. Die Einstellung |
Beispiele
Beispiel 1: Angeben der Anzahl der zu erstellenden Puffer
Im folgenden Beispiel wird die Konfiguration RESTORE_DATABASE_NUM_BUFFERS auf 150 festgelegt.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"
Beispiel 2: Angabe der Anzahl der zu erstellenden Puffermanipulatoren
Im folgenden Beispiel wird die Konfiguration RESTORE_DATABASE_PARALLELISM auf 8 festgelegt.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"
Beispiel 3: Angeben der Anzahl der Pfade oder I/O Streams, die bei der Wiederherstellung verwendet werden sollen
Im folgenden Beispiel wird die Konfiguration RESTORE_DATABASE_NUM_MULTI_PATHS auf 5 festgelegt.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_MULTI_PATHS', '5')"
Beispiel 4: Einstellung der Wiederherstellung auf Stream-Backup-Daten
Im folgenden Beispiel wird die Konfiguration USE_STREAMING_RESTORE auf TRUE festgelegt.
db2 "call rdsadmin.set_configuration( 'USE_STREAMING_RESTORE', 'TRUE')"
rdsadmin.show_configuration
Gibt die aktuellen Einstellungen zurück, die Sie mithilfe der gespeicherten Prozedur rdsadmin.set_configuration festlegen können.
Syntax
db2 "call rdsadmin.show_configuration( 'name')"
Parameter
Der folgende Parameter ist optional:
name-
Der Name der Konfigurationseinstellung, zu der Informationen zurückgegeben werden sollen. Der Datentyp ist
varchar.Die folgenden Konfigurationsnamen sind gültig:
-
RESTORE_DATABASE_NUM_BUFFERS— Die Anzahl der Puffer, die während eines Wiederherstellungsvorgangs erstellt werden sollen. -
RESTORE_DATABASE_PARALLELISM— Die Anzahl der Puffermanipulatoren, die während eines Wiederherstellungsvorgangs erstellt werden sollen. -
RESTORE_DATABASE_NUM_MULTI_PATHS— Die Anzahl der Pfade (oder I/O Streams), die während einer Wiederherstellung aus Amazon S3 verwendet werden sollen. -
USE_STREAMING_RESTORE— Gibt an, ob Backup-Daten direkt während der Wiederherstellung gestreamt werden sollen, anstatt zuerst die gesamten Backup-Daten auf Ihre RDS for Db2-DB-Instance herunterzuladen und dann zu extrahieren.
-
Nutzungshinweise
Wenn Sie den Namen einer Konfigurationseinstellung nicht festlegen, gibt rdsadmin.show_configuration Informationen für alle Konfigurationseinstellungen zurück, die Sie mithilfe der gespeicherten Prozedur rdsadmin.set_configuration festlegen können.
Beispiele
Im folgenden Beispiel werden Informationen zur aktuellen Konfiguration RESTORE_DATABASE_PARALLELISM zurückgegeben.
db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"
rdsadmin.backup_database
Sichert eine Datenbank von einer RDS for Db2-DB-Instance in einem Amazon S3 S3-Bucket.
Syntax
db2 "call rdsadmin.backup_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', 'backup_type', 'compression_option', 'util_impact_priority', 'num_files', 'parallelism', 'num_buffers')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Zieldatenbank auf einer RDS for Db2-DB-Instance, die gesichert werden soll. Der Datentyp ist
varchar.Die Datenbank muss in der DB-Instance vorhanden sein. Sie können die
rdsadminDatenbank nicht sichern. s3_bucket_name-
Der Name des Amazon S3 S3-Buckets, in dem sich Ihr Backup befinden soll. Der Datentyp ist
varchar.Der S3-Bucket muss vor dem Aufruf vorhanden sein
rdsadmin.backup_database, sich in derselben Zieldatenbank AWS-Region wie die Zieldatenbank in der RDS for Db2-DB-Instance befinden, die Sie sichern möchten, und über die der DB-Instance zugeordnete IAM-Rolle zugänglich sein. s3_prefix-
Das Präfix des Pfads zu Amazon S3, in den RDS for Db2 die Sicherungsdateien hochlädt. Der Datentyp ist
varchar.Das Präfix ist auf 1024 Zeichen begrenzt. Es darf keinen führenden oder abschließenden Schrägstrich (/) enthalten. Aufgrund einer Einschränkung beim IBM Streaming zu Amazon S3 empfehlen wir, dass das Präfix Unterverzeichnisse einschließt.
Für eine bessere Dateiverwaltung erstellt RDS for Db2 anschließend zusätzliche Verzeichnisse.
s3_prefixRDS für Db2 lädt alle Sicherungsdateien auf hoch.s3_prefix/dbi_resource_id/db_nameWenn Sie einennum_fileshöheren Wert als1angeben, enthält dasdb_nameVerzeichnis mehr als eine Sicherungsdatei.Im Folgenden finden Sie ein Beispiel für einen Amazon S3 S3-Speicherort für Sicherungsdateien. Im Beispiel
backups/dailyist der Wert für dens3_prefixParameter festgelegt.backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB backup_type-
Der Sicherungstyp, der bestimmt, ob die Datenbank während der Sicherung verfügbar bleibt. Der Datentyp ist
varchar.Zulässige Werte:
-
OFFLINE— Die Datenbank ist während der Sicherung nicht verfügbar. Dieser Typ ist schneller, verursacht aber Ausfallzeiten. -
ONLINE— Die Datenbank bleibt während des Backups verfügbar.ONLINEist standardmäßig aufINCLUDE LOGSfestgelegt.
-
Die folgenden Parameter sind optional:
compression_option-
Die Art des verwendeten Komprimierungsalgorithmus, der sich auf die Backup-Zeit, die CPU-Auslastung und die Speicherkosten auswirkt. Der Datentyp ist
varchar. Der Standardwert istNONE.Zulässige Werte:
-
NONE— Die größte Dateigröße, die geringste CPU-Auslastung und die günstigsten Speicherkosten. -
STANDARD— Standard-Db2-Komprimierung. Nutztlibdb2compr.so. -
ZLIB— Verbesserte Db2-Komprimierung. Verwendetlibdb2zcompr.soSpeicherplatz, ist aber rechenintensiver und kostet am teuersten.
-
util_impact_priority-
Die Einstellung, mit der die Auswirkungen des Backups auf die Systemressourcen gesteuert werden. Der Datentyp ist
integer. Gültige Werte:1—100(von niedrig bis hoch). Der Standardwert ist50.Niedrigere Werte reduzieren die Auswirkungen des Backups auf die Systemressourcen, können jedoch die Zeit verlängern, die für die Sicherung der Datenbank benötigt wird. Höhere Werte können die Sicherung der Datenbank möglicherweise schneller abschließen, können sich jedoch auf andere Vorgänge auswirken. Die tatsächlichen Auswirkungen hängen von der Gesamtsystemauslastung und der
util_impact_limEinstellung ab. Sie können dieutil_impact_limEinstellung in Parametergruppen anzeigen und ändern. Weitere Informationen finden Sie unter Parameter von Amazon RDS für Db2. num_files-
Die Anzahl der parallel Upload-Streams zu Amazon S3. Der Datentyp ist
integer. Gültige Werte:1–256.Wir empfehlen, diesen Parameter erst festzulegen, nachdem Sie die Backup-Leistung auf die Standardwerte eingestellt haben, die Amazon RDS automatisch berechnet. Höhere Werte können die Leistung für große Backups verbessern, insbesondere bei Verbindungen mit hoher Bandbreite, aber ab einem bestimmten Punkt verschlechtern höhere Werte die Leistung. Achten Sie außerdem darauf, Ihre verfügbaren Systemressourcen und Netzwerkkapazitäten zu berücksichtigen.
parallelism-
Die Anzahl der Tablespaces, die das Backup-Hilfsprogramm parallel lesen kann. Der Datentyp ist
integer. Gültige Werte:1–256.Es wird empfohlen, diesen Parameter erst festzulegen, nachdem Sie die Backup-Leistung auf den Standardwert eingestellt haben, den die Db2-Engine automatisch als optimalen Wert berechnet. Wenn Sie diesen Parameter festlegen, validiert Amazon RDS anhand der verfügbaren Prozessoren und führt die Backup-Anfrage nicht aus, wenn die Rechenleistung nicht ausreicht.
num_buffers-
Die Anzahl der zu verwendenden Puffer. Der Datentyp ist
integer. Gültige Werte:1–268435456.Wir empfehlen, diesen Parameter erst festzulegen, nachdem Sie die Backup-Leistung auf die Standardeinstellung eingestellt haben, die Amazon RDS automatisch auf der Grundlage des Speichers berechnet. Wenn Sie diesen Parameter festlegen, validiert Amazon RDS anhand des verfügbaren Speichers und führt die Backup-Anfrage nicht aus, wenn der verfügbare Speicher nicht ausreicht. Wenn Sie an mehreren Speicherorten sichern (
num_filesist auf mehr als eingestellt1), kann eine höhere Anzahl von Puffern die Leistung verbessern. Wenn Sie dies nicht tuncompression_optionNONE, können Sie die Leistung verbessern, indem Sienum_buffersundparallelismerhöhen.
Nutzungshinweise
Diese gespeicherte Prozedur erstellt asynchrone Backup-Aufgaben, die das Backup Ihrer Datenbank mithilfe der Amazon S3 S3-Integration direkt in Ihren Amazon S3 S3-Bucket streamen. Sie können Backups sowohl von Ihrem lokalen Server als auch von einer RDS for Db2-DB-Instance erstellen, sie auf Amazon S3 streamen und sie dann wiederherstellen, wo immer Sie möchten. Informationen zum Wiederherstellen einer Datenbank auf einer RDS for Db2-DB-Instance finden Sie unter. rdsadmin.restore_database
Bevor Sie die gespeicherte Prozedur aufrufen, lesen Sie die folgenden Hinweise:
-
Sie können jeweils nur eine Datenbank sichern.
-
Sie können eine Sicherung und Wiederherstellung nicht zusammen auf einer DB-Instance durchführen.
-
Die serverseitige Amazon S3 S3-Verschlüsselung mit AWS KMS (SSE-KMS) wird nicht unterstützt. Selbst wenn der S3-Bucket auf SSE-KMS eingestellt ist, verwenden die in den S3-Bucket hochgeladenen Dateien keine SSE-KMS-Verschlüsselung.
-
Um die Backup-Dateien auf Amazon S3 zu streamen, müssen Sie die Integration bereits konfiguriert haben. Weitere Informationen finden Sie unter Integration einer DB-Instance von Amazon RDS für Db2 mit Amazon S3.
-
Damit eine RDS for Db2-DB-Instance mit Amazon S3 interagieren kann, benötigen Sie eine VPC und einen Amazon S3 S3-Gateway-Endpunkt für die Nutzung privater Subnetze. Weitere Informationen erhalten Sie unter Schritt 1: Erstellen eines VPC-Gateway-Endpunkts für Amazon S3 und Schritt 2: Überprüfen, ob der VPC-Gateway-Endpunkt für Amazon S3 vorhanden ist.
Vor dem Aufrufen von rdsadmin.backup_database müssen Sie eine Verbindung mit der Datenbank rdsadmin herstellen. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre RDS for Db2-DB-Instance-Informationen:
db2 connect to rdsadmin usermaster_usernameusingmaster_password
Nachdem Sie Ihre Datenbank gesichert haben, stellen Sie sicher, dass Sie die Verbindung beenden.
terminate
Hinweise zur Überprüfung des Status einer Datenbanksicherung finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.backup_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Alle Beispiele sichern eine Datenbank, die im Amazon S3 S3-Bucket aufgerufen amzn-s3-demo-bucket und s3_prefix auf gesetzt wirdbackups/daily. MYDB
Beispiel #1: Geben Sie an, dass die Datenbank offline und nicht verfügbar ist, bei durchschnittlicher Auslastung und einem einzigen Upload-Stream
Im folgenden Beispiel ist die Datenbank offline, was schneller ist, aber bedeutet, dass die Datenbank während des Backups nicht verfügbar ist. Das Beispiel führt keine Komprimierung der Dateien durch, hat mittlere Auswirkungen auf die Systemressourcen und verwendet einen einzigen Upload-Stream zu Amazon S3.
db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 50, 1)"
Beispiel #2: Angabe der Datenbank online und verfügbar mit verbesserter Komprimierung, Medianauslastung und wenigen parallel Upload-Streams
Im folgenden Beispiel ist die Datenbank online und während der Sicherung verfügbar. In diesem Beispiel wird eine verbesserte Komprimierung durchgeführt, was zu einer geringen Dateigröße führt, aber CPU-intensiv ist. Es hat einen etwas überdurchschnittlichen Einfluss auf die Systemressourcen und verwendet fünf Upload-Streams zu Amazon S3.
db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'ONLINE', 'ZLIB', 60, 5)"
Beispiel #3: Mit Standardwerten und Systemberechnungen wird angegeben, dass die Datenbank offline und nicht verfügbar ist
Im folgenden Beispiel ist die Datenbank offline, was schneller ist, aber bedeutet, dass die Datenbank während der Sicherung nicht verfügbar ist. Das Beispiel verwendet die Standardkomprimierung der Dateien und die Auswirkungen auf die Systemressourcen. Es ermöglicht RDS for Db2 auch, die Anzahl der parallelen Upload-Streams zu Amazon S3, Tablespaces, die parallel gelesen werden sollen, und die zu verwendenden Puffer zu berechnen.
db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE')"
Beispiel #4: Angabe, dass die Datenbank offline und nicht verfügbar ist, ohne Komprimierung, hohe Auslastung und benutzerdefinierte Berechnungen
Im folgenden Beispiel ist die Datenbank offline, was schneller ist, aber bedeutet, dass die Datenbank während der Sicherung nicht verfügbar ist. Das Beispiel führt keine Komprimierung der Dateien durch, hat einen hohen Einfluss auf die Systemressourcen und verwendet 20 Upload-Streams zu Amazon S3. Es legt die maximale Anzahl von Tablespaces fest, die parallel gelesen werden sollen, was dazu führen kann, dass die Backup-Anfrage fehlschlägt, wenn die Rechenleistung nicht ausreicht. Außerdem wird die maximale Anzahl der zu verwendenden Puffer festgelegt, was dazu führen kann, dass die Backup-Anfrage fehlschlägt, wenn der Arbeitsspeicher nicht ausreicht.
db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 90, 20, 256, 268435456)"
rdsadmin.restore_database
Stellt eine Datenbank aus einem Amazon-S3-Bucket für die DB-Instance von RDS für Db2 wieder her.
Syntax
db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix',restore_timestamp, 'backup_type')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Zieldatenbank, die in RDS für Db2 wiederhergestellt werden soll. Der Datentyp ist
varchar.Wenn der Quelldatenbankname beispielsweise lautete
TESTDBund Siedatabase_nameauf eingestellt habenNEWDB, stellt Amazon RDSNEWDBals Quelldatenbank wieder her. s3_bucket_name-
Der Name des Amazon-S3-Bucket, in dem sich das Backup befindet. Der Datentyp ist
varchar. s3_prefix-
Das Präfix, das beim Download für den Dateiabgleich verwendet werden soll. Der Datentyp ist
varchar.Wenn dieser Parameter leer ist, werden alle Dateien im Amazon S3 S3-Bucket verarbeitet. Nachfolgend ist ein Beispielpräfix angegeben:
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 restore_timestamp-
Der Zeitstempel für das Abbild des Datenbank-Backups. Der Datentyp ist
varchar.Der Zeitstempel ist im Namen der Backup-Datei enthalten. Beispielsweise ist
20230615010101der Zeitstempel für den DateinamenSAMPLE.0.rdsdb.DBPART000.20230615010101.001. backup_type-
Der Typ des Backups. Der Datentyp ist
varchar. Zulässige Werte:OFFLINE,ONLINE.Verwenden Sie
ONLINEfür Migrationen mit geringster Ausfallzeit. Weitere Informationen finden Sie unter Migrieren von Linux zu Linux fast ohne Ausfallzeit für Amazon RDS für Db2.
Nutzungshinweise
Sie können diese gespeicherte Prozedur verwenden, um eine Db2-Datenbank zu einer DB-Instance von RDS für Db2 zu migrieren. Weitere Informationen finden Sie unter Nutzung von AWS-Services zur Migration von Daten von Db2 zu Amazon RDS für Db2. Sie können diese gespeicherte Prozedur auch verwenden, um mehrere Kopien derselben Datenbank mit unterschiedlichen Datenbanknamen zu erstellen, die dasselbe Wiederherstellungsabbild nutzen.
Bevor Sie die gespeicherte Prozedur aufrufen, lesen Sie die folgenden Hinweise:
-
Bevor Sie eine Datenbank wiederherstellen, müssen Sie Speicherplatz für Ihre RDS for Db2-DB-Instance bereitstellen, der größer ist als die ursprüngliche Db2-Datenbank auf der Festplatte. Wenn Sie diese Option aktiviert haben
USE_STREAMING_RESTORE, streamt Amazon RDS bei der Wiederherstellung Ihres Backups die Sicherungsdateien direkt von Ihrem S3-Bucket auf Ihre RDS for Db2-DB-Instance. Wenn Sie die Aktivierung nicht aktivierenUSE_STREAMING_RESTORE, müssen Sie Speicherplatz für Ihre RDS for Db2-DB-Instance bereitstellen, der mindestens der Summe aus Backup-Größe und der ursprünglichen Db2-Datenbank auf der Festplatte entspricht. Weitere Informationen finden Sie unter Insufficient disk space. -
Wenn Sie das Backup wiederherstellen, extrahiert Amazon RDS die Backup-Datei auf der DB-Instance von RDS für Db2. Jede Backup-Datei darf maximal 5 TB umfassen. Wenn eine Sicherungsdatei größer als 5 TB ist, müssen Sie die Sicherungsdatei in kleinere Dateien aufteilen.
-
Um alle Dateien mithilfe der gespeicherten Prozedur
rdsadmin.restore_databasewiederherzustellen, geben Sie das Dateinummernsuffix nicht nach dem Zeitstempel in die Dateinamen ein. Das stellt beispielsweise die folgendens3_prefixbackupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101Dateien wieder her: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 -
RDS für Db2 unterstützt keine nichtautomatische Speicherung. Weitere Informationen finden Sie unter Tablespaces not restored.
-
RDS für Db2 unterstützt keine Routinen ohne Fencing. Weitere Informationen finden Sie unter Non-fenced routines not allowed.
-
Um die Leistung von Datenbankwiederherstellungsvorgängen zu verbessern, können Sie die Anzahl der Puffer, Puffermanipulatoren und die Anzahl der mehreren Sicherungspfade, die RDS verwenden soll, konfigurieren. Um die Speichernutzung zu optimieren und die Leistung potenziell zu verbessern, können Sie ein Backup auch direkt von Amazon S3 streamen. Verwenden Sie rdsadmin.show_configuration, um die aktuelle Konfiguration zu überprüfen. Verwenden Sie rdsadmin.set_configuration, um die Konfiguration zu ändern.
Informationen zum Onlineschalten der Datenbank und zum Anwenden zusätzlicher Transaktionsprotokolle nach dem Wiederherstellen der Datenbank finden Sie unter rdsadmin.rollforward_database.
Informationen zum Überprüfen des Wiederherstellungsstatus der Datenbank finden Sie unter rdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen von rdsadmin.restore_database zurückgegeben werden, finden Sie unter Fehler bei gespeicherten Prozeduren.
Beispiele
Das folgende Beispiel stellt eine Offline-Sicherung mit einer einzelnen Datei oder mehreren Dateien wieder her, die Folgendes aufweisen s3_prefixbackupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101:
db2 "call rdsadmin.restore_database( ?, 'SAMPLE', 'amzn-s3-demo-bucket', 'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101', 20230615010101, 'OFFLINE')"
rdsadmin.rollforward_database
Schaltet die Datenbank online und wendet zusätzliche Transaktionsprotokolle an, nachdem eine Datenbank durch Aufrufen von rdsadmin.restore_database wiederhergestellt wurde.
Syntax
db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name',s3_prefix, 'rollforward_to_option', 'complete_rollforward')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, für die der Vorgang ausgeführt werden soll. Der Datentyp ist
varchar. s3_bucket_name-
Der Name des Amazon-S3-Bucket, in dem sich das Backup befindet. Der Datentyp ist
varchar. s3_prefix-
Das Präfix, das beim Download für den Dateiabgleich verwendet werden soll. Der Datentyp ist
varchar.Wenn dieser Parameter leer ist, werden alle Dateien im S3-Bucket heruntergeladen. Im Folgenden ist ein Beispielpräfix angegeben:
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
Die folgenden Eingabeparameter sind optional:
rollforward_to_option-
Der Punkt, zu dem Sie ein Rollforward ausführen möchten. Der Datentyp ist
varchar. Gültige Werte:END_OF_LOGS,END_OF_BACKUPmit dem Zeitstempel im FormatYYYY-MM-DD-HH.MM.SS. Der Standardwert istEND_OF_LOGS. complete_rollforward-
Gibt an, ob der Rollforward-Prozess abgeschlossen werden soll. Der Datentyp ist
varchar. Der Standardwert istTRUE.Wenn
TRUE, dann ist die Datenbank nach Abschluss online und es kann darauf zugegriffen werden. WennFALSE, dann verbleibt die Datenbank im StatusROLL-FORWARD PENDING.
Nutzungshinweise
Sie können rds.rollforward_database für ein Online-Backup mit enthaltenen Protokollen verwenden, die in vielen verschiedenen Szenarien On-Premises erstellt werden.
Szenario 1: Wiederherstellen der Datenbank, Ausführen von Rollforward der enthaltenen Protokolle und Onlineschalten der Datenbank
Nachdem rdsadmin.restore_database() abgeschlossen wurde, verwenden Sie die Syntax in Beispiel 1, um die Datenbank mit den Transaktionsprotokollen online zu schalten.
Szenario 2: Onlineschalten der Datenbank, ohne ein Rollforward der enthaltenen Protokolle auszuführen
Nachdem rdsadmin.restore_database() abgeschlossen wurde, verwenden Sie die Syntax in Beispiel 2, um die Datenbank ohne die Transaktionsprotokolle online zu schalten.
Szenario 3: Ausführen eines Rollforward der im Backup enthaltenen Protokolle und Anwenden zusätzlicher Transaktionsprotokolle, wenn sie On-Premises erstellt werden
Nachdem rdsadmin.restore_database() abgeschlossen wurde, verwenden Sie die Syntax in Beispiel 3 oder Beispiel 4, um ein Rollforward der Protokolle auszuführen, ohne die Datenbank online zu schalten.
Wenn Sie complete_rollforward auf FALSE festlegen, befindet sich die Datenbank im Status ROLL-FORWARD PENDING und ist offline. Um die Datenbank online zu schalten, müssen Sie rdsadmin.complete_rollforward aufrufen.
Informationen zum Überprüfen des Rollforward-Status der Datenbank finden Sie unter rdsadmin.rollforward_status.
Beispiele
Beispiel 1: Onlineschalten der Datenbank mit Transaktionsprotokollen
Im folgenden Beispiel wird ein Rollforward zu einem Online-Backup der Datenbank mit Transaktionsprotokollen ausgeführt und die Datenbank dann online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"
Beispiel 2: Onlineschalten der Datenbank ohne Transaktionsprotokolle
Im folgenden Beispiel wird ein Rollforward zu einem Online-Backup der Datenbank ohne Transaktionsprotokolle durchgeführt und die Datenbank dann online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"
Beispiel 3: Nicht-Onlineschalten der Datenbank mit Transaktionsprotokollen
Im folgenden Beispiel wird ein Rollforward zu einem Online-Backup der Datenbank mit Transaktionsprotokollen ausgeführt und die Datenbank dann nicht online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"
Beispiel 4: Nicht-Onlineschalten der Datenbank mit zusätzlichen Transaktionsprotokollen
Im folgenden Beispiel wird ein Rollforward zu einem Online-Backup der Datenbank mit zusätzlichen Transaktionsprotokollen ausgeführt und die Datenbank dann nicht online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"
rdsadmin.rollforward_status
Gibt die Ausgabe von ROLLFORWARD DATABASE
zurück.database_name QUERY STATUS
Syntax
db2 "call rdsadmin.rollforward_status( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der Datenbank, für die der Vorgang ausgeführt werden soll. Der Datentyp ist
varchar.
Nutzungshinweise
Nach dem Aufrufen von rdsadmin.rollforward_database können Sie rdsadmin.rollforward_status aufrufen, um den Status des Rollforward in der Datenbank zu überprüfen.
Informationen zum Überprüfen des Status dieser gespeicherten Prozedur finden Sie unter rdsadmin.get_task_status.
rdsadmin.complete_rollforward
Schaltet die Datenbank aus dem Status ROLL-FORWARD PENDING online.
Syntax
db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der Datenbank, die Sie online schalten möchten. Der Datentyp ist
varchar.
Nutzungshinweise
Wenn Sie rdsadmin.rollforward_database aufgerufen haben, wobei complete_rollforward auf FALSE festgelegt ist, befindet sich die Datenbank im Status ROLL-FORWARD PENDING und ist offline. Rufen Sie rdsadmin.complete_rollforward auf, um den Rollforward-Prozess abzuschließen und die Datenbank online zu schalten.
Informationen zum Überprüfen des Abschlussstatus des Rollforward-Prozesses finden Sie unter rdsadmin.rollforward_status.
Beispiele
Im folgenden Beispiel wird die Datenbank TESTDB online geschaltet:
db2 "call rdsadmin.complete_rollforward( ?, 'TESTDB')"
rdsadmin.db2pd_command
Sammelt Informationen zu einer Datenbank von RDS für Db2.
Syntax
db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
Parameter
Der folgende Eingabeparameter ist erforderlich:
db2pd_cmd-
Der Name des Befehls
db2pd, den Sie ausführen möchten. Der Datentyp istvarchar.Der Parameter muss mit einem Bindestrich beginnen. Eine Liste der Parameter finden Sie in der IBM Db2-Dokumentation unter db2pd - Monitor and troubleshoot Db2 database command
. Die folgenden Optionen werden nicht unterstützt:
-
-addnode -
-alldatabases -
-alldbp -
-alldbs -
-allmembers -
-alm_in_memory -
-cfinfo -
-cfpool -
-command -
-dbpartitionnum -
-debug -
-dump -
-everything -
-file | -o -
-ha -
-interactive -
-member -
-pagesAnmerkung
-pages summarywird unterstützt. -
-pdcollection -
-repeat -
-stack -
-totalmem
Die Unteroption
filewird nicht unterstützt. Beispiel:db2pd -db testdb -tcbstats file=tcbstat.out.Die Verwendung der Option
stackswird nicht unterstützt. Beispiel:db2pd -edus interval=5 top=10 stacks. -
Nutzungshinweise
Mit dieser gespeicherten Prozedur werden Informationen gesammelt, die bei der Überwachung und Problembehandlung von Datenbanken von RDS für Db2 hilfreich sein können.
Die gespeicherte Prozedur verwendet das IBM-Dienstprogramm db2pd, um verschiedene Befehle auszuführen. Für das Dienstprogramm db2pd ist die Autorisierung SYSADM erforderlich, über die der Masterbenutzer von RDS für Db2 nicht verfügt. Mit der gespeicherten Amazon-RDS-Prozedur kann der Masterbenutzer das Dienstprogramm jedoch zum Ausführen verschiedener Befehle verwenden. Weitere Informationen zum Dienstprogramm finden Sie in der IBM Db2-Dokumentation unter db2pd - Monitor and troubleshoot Db2 database command
Die Ausgabe ist auf maximal 2 GB beschränkt.
Informationen zum Überprüfen des Erfassungsstatus von Datenbankinformationen finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Zurückgeben der Betriebszeit einer DB-Instance
Im folgenden Beispiel wird die Betriebszeit einer DB-Instance von RDS für Db2 zurückgegeben:
db2 "call rdsadmin.db2pd_command('-')"
Beispiel 2: Zurückgeben der Betriebszeit einer Datenbank
Im folgenden Beispiel wird die Betriebszeit der Datenbank TESTDB zurückgegeben:
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
Beispiel 3: Zurückgeben der Speicherauslastung einer DB-Instance
Im folgenden Beispiel wird die Speicherauslastung einer DB-Instance von RDS für Db2 zurückgegeben:
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
Beispiel 4: Zurückgeben von Speichersätzen einer DB-Instance und Datenbank
Im folgenden Beispiel werden die Speichersätze einer DB-Instance von RDS für Db2 und der Datenbank TESTDB zurückgegeben:
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
rdsadmin.force_application
Erzwingt die Deaktivierung von Anwendungen aus einer Datenbank von RDS für Db2.
Syntax
db2 "call rdsadmin.force_application( ?, 'applications')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
applications-
Die Anwendungen, für die Sie die Deaktivierung aus einer Datenbank von RDS für Db2 erzwingen möchten. Der Datentyp ist
varchar. Gültige Werte:ALLoderapplication_handle.Trennen Sie die Namen mehrerer Anwendungen durch Kommas. Beispiel: '
application_handle_1,application_handle_2'.
Nutzungshinweise
Mit dieser gespeicherten Prozedur wird die Deaktivierung aller Anwendungen aus einer Datenbank erzwungen, sodass Sie Wartungsarbeiten durchführen können.
Die gespeicherte Prozedur verwendet den IBM-Befehl FORCE APPLICATION. Für den Befehl FORCE APPLICATION ist die Autorisierung SYSADM, SYSMAINT oder SYSCTRL erforderlich, über die der Masterbenutzer von RDS für Db2 nicht verfügt. Mit der gespeicherten Amazon-RDS-Prozedur kann der Masterbenutzer den Befehl jedoch verwenden. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter FORCE APPLICATION command
Informationen zum Überprüfen des Status der erzwungenen Deaktivierung von Anwendungen aus einer Datenbank finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Festlegen aller Anwendungen
Im folgenden Beispiel wird die Deaktivierung aller Anwendungen aus einer Datenbank von RDS für Db2 erzwungen.
db2 "call rdsadmin.force_application( ?, 'ALL')"
Beispiel 2: Festlegen mehrerer Anwendungen
Im folgenden Beispiel wird die Deaktivierung der Anwendungs-Handles 9991, 8891 und 1192 aus einer Datenbank von RDS für Db2 erzwungen:
db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"
rdsadmin.set_archive_log_retention
Konfiguriert den Zeitraum (in Stunden) für die Beibehaltung von Archivprotokolldateien für die angegebene Datenbank von RDS für Db2.
Syntax
db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, für die die Beibehaltung des Archivprotokolls konfiguriert werden soll. Der Datentyp ist
varchar. archive_log_retention_hours-
Die Anzahl der Stunden, die die Archivprotokolldateien beibehalten werden sollen. Der Datentyp ist
smallint. Der Standardwert ist0und der Höchstwert168(7 Tage).Wenn der Wert
0ist, behält Amazon RDS die Archivprotokolldateien nicht bei.
Nutzungshinweise
Standardmäßig behält RDS für Db2 Protokolle 5 Minuten lang bei. Wenn Sie Replikationstools wie AWS DMS Change Data Capture (CDC) oder verwenden, empfehlen wirIBM Q Replication, die Protokollspeicherung in diesen Tools für mehr als 5 Minuten festzulegen.
Sie können die aktuelle Einstellung für die Beibehaltung von Archivprotokollen durch Aufrufen von rdsadmin.show_archive_log_retention einsehen.
Sie können die Einstellung für die Beibehaltung von Archivprotokollen in der Datenbank rdsadmin nicht konfigurieren.
Beispiele
Beispiel 1: Festlegen des Beibehaltungszeitraums
Im folgenden Beispiel wird der Beibehaltungszeitraum des Archivprotokolls für die Datenbank TESTDB auf 24 Stunden festgelegt.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
Beispiel 2: Deaktivieren des Beibehaltungszeitraums
Im folgenden Beispiel wird die Beibehaltung des Archivprotokolls für die Datenbank TESTDB deaktiviert.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"
rdsadmin.show_archive_log_retention
Gibt die aktuelle Einstellung für die Beibehaltung des Archivprotokolls für die angegebene Datenbank zurück.
Syntax
db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der Datenbank, für die die Beibehaltungseinstellung des Archivprotokolls angezeigt werden soll. Der Datentyp ist
varchar.
Beispiele
Im folgenden Beispiel wird die Einstellung für die Beibehaltung des Archivprotokolls für die Datenbank TESTDB veranschaulicht.
db2 "call rdsadmin.show_archive_log_retention( ?, 'TESTDB')"
rdsadmin.list_archive_log_information
Gibt Details zu den Archivprotokolldateien zurück, z. B. die Größe, das Datum und die Uhrzeit der Erstellung sowie den Namen der einzelnen Protokolldateien für die angegebene Datenbank. Außerdem wird die Gesamtspeichermenge zurückgegeben, die von den Protokolldateien in der Datenbank belegt wird.
Syntax
db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
database_name-
Der Name der Datenbank, für die die Archivprotokollinformationen aufgeführt werden sollen. Der Datentyp ist
varchar.
Beispiele
Im folgenden Beispiel werden Archivprotokollinformationen für die Datenbank TESTDB zurückgegeben.
db2 "call rdsadmin.list_archive_log_information( ?, 'TESTDB')"
rdsadmin.fgac_command
Führt fein abgestufte Befehle zur Zugriffskontrolle (FGAC) aus.
Syntax
db2 "call rdsadmin.fgac_command( ?, 'database_name', 'fgac_cmd')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, für die Sie FGAC-Befehle ausführen möchten. Der Datentyp ist
varchar. fgac_cmd-
Der detaillierte Zugriffskontrollbefehl, den Sie ausführen möchten. Der Datentyp ist
varchar.Die folgenden Befehle sind gültig:
-
ALTER MASK— Ändert eine bestehende Spaltenmaske in der Zugriffskontrolle für Zeilen und Spalten (RCAC). -
ALTER PERMISSION— Ändert die Eigenschaften einer bestehenden Zeilenberechtigung in RCAC. -
ALTER SECURITY POLICY— Ändert eine bestehende Sicherheitsrichtlinie für RCAC. -
ALTER SECURITY LABEL— Ändert die Eigenschaften eines vorhandenen Sicherheitslabels in der Label-Based Access Control (LBAC). -
ALTER TABLE— Ändert die Tabellenstruktur, einschließlich des Hinzufügens von RCAC- oder LBAC-Steuerelementen. -
CREATE MASK— Erzeugt eine neue Spaltenmaske für RCAC. -
CREATE PERMISSION— Erzeugt eine neue Zeilenberechtigung für RCAC. -
CREATE SECURITY LABEL— Erzeugt ein neues Sicherheitslabel für LBAC. -
CREATE SECURITY POLICY— Erstellt eine neue Sicherheitsrichtlinie für RCAC. -
DROP MASK— Löscht eine bestehende Spaltenmaske. -
DROP PERMISSION— Löscht eine bestehende Zeilenberechtigung. -
DROP SECURITY LABEL— Löscht ein Sicherheitslabel von LBAC. -
DROP SECURITY POLICY— Löscht eine bestehende RCAC-Sicherheitsrichtlinie. -
GRANT EXEMPTION ON RULE— Ermöglicht einem Benutzer, bestimmte LBAC-Regeln zu umgehen. -
GRANT SECURITY LABEL— Weist einem Benutzer ein LBAC-Sicherheitslabel zu. -
REVOKE EXEMPTION ON RULE— Entfernt die Ausnahme eines Benutzers von den LBAC-Regeln. -
REVOKE SECURITY LABEL— Entfernt ein LBAC-Sicherheitslabel von einem Benutzer.
-
Nutzungshinweise
Diese gespeicherte Prozedur steuert den Zugriff auf Zeilen- oder Spaltenebene auf Tabellendaten in Ihrer Datenbank auf einer RDS for Db2-DB-Instance. RDS for Db2 unterstützt zwei Arten von FGAC in der Datenbank:
-
Labelbasierte Zugriffskontrolle (LBAC)
-
Zugriffskontrolle für Zeilen und Spalten (RCAC)
Bevor Sie die gespeicherte Prozedur aufrufen, lesen Sie die folgenden Hinweise:
-
Um ein einfaches Anführungszeichen (') zu umgehen, verwenden Sie ein zusätzliches einfaches Anführungszeichen. Die folgenden Beispiele zeigen, wie man
'apple''banana', und maskiert'fruit'.db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')" -
Um Klammern ([]) zu umgehen, verwenden Sie einen umgekehrten Schrägstrich (\). Das folgende Beispiel zeigt, wie Sie entkommen können.
[''apple'',''banana'']db2 "call rdsadmin.fgac_command( ?, ' testdb', 'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"
Beispiele
In den folgenden Beispielen werden alle FGAC-Befehle in einer Datenbank namens ausgeführt. testdb
Beispiel 1: Erstellen einer neuen Sicherheitsbeschriftung namens FRUITSET
db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
Beispiel 2: Erstellen einer neuen Maske für die EMP_ID Spalte, die aktiviert ist, wenn sie auf weniger als drei gesetzt EMP_ID ist
db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"
Beispiel 3: Erstellen einer neuen Maske für die DEPARTMENT Spalte, die aktiviert ist, wenn auf gesetzt SESSION_USER ist security_user
db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"
Beispiel 4: Erstellen einer neuen Sicherheitsbeschriftung namens treelabel
db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT treelabel TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"