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 für RDS for Db2
Die in diesem Thema beschriebenen integrierten gespeicherten Prozeduren verwalten Datenbanken für Amazon RDS for Db2. Um diese Prozeduren auszuführen, muss der Masterbenutzer zuerst eine Verbindung zur rdsadmin
Datenbank herstellen.
Diese gespeicherten Prozeduren werden für eine Vielzahl von Aufgaben verwendet. Diese Liste ist nicht umfassend.
Informationen zu deren Syntax, Parametern, Nutzungshinweisen und Beispielen finden Sie in den folgenden integrierten gespeicherten Prozeduren.
Gespeicherte Prozeduren
rdsadmin.create_database
Erstellt eine Datenbank.
Syntax
db2 "call rdsadmin.create_database('
database_name
')"
Parameter
Anmerkung
Diese gespeicherte Prozedur validiert die Kombination der erforderlichen Parameter nicht. Beim Aufrufen rdsadmin.get_task_status kann die benutzerdefinierte Funktion aufgrund einer Kombination vondatabase_codeset
,, einen Fehler zurückgebendatabase_territory
, database_collation
die nicht gültig ist. Weitere Informationen finden Sie unter Codepage, Gebiet und Sortierung für Ihre Datenbank auswählen
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 Schreibatomizitä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 abgebrochen werden oder dass unvollständige Daten auf den Schreibtisch geschrieben werden. Wenn Sie Seiten mit 32 KiB verwenden, empfehlen wir Ihnen, die point-in-time Wiederherstellung und automatische Backups zu aktivieren. Andernfalls laufen Sie Gefahr, dass Sie zerrissene Seiten nicht wiederherstellen können. Weitere Informationen erhalten Sie unter Einführung in Backups und Wiederherstellung einer DB-Instance zu einem 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 aus zwei Buchstaben bestehende Ländercode für die Datenbank. Der Datentyp ist
varchar
. Der Standardwert istUS
. database_collation
-
Die Sortierreihenfolge, die bestimmt, wie in der Datenbank gespeicherte Zeichenketten sortiert und verglichen werden. Der Datentyp ist
varchar
.Zulässige Werte:
-
COMPATIBILITY
— Eine IBM Db2 Version 2-Kollationssequenz. -
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 037 (EBCDIC, US-Englisch). -
EBCDIC_932_5035
— Japanische ASCII-Codepage, Sortierung; CCSID 500 (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. Zeichenketten werden Byte für Byte verglichen. -
IDENTITY_16BIT
— Das Kompatibilitätskodierungsschema für UTF-16:8-Bit-Kollationssequenz (CESU-8). Weitere Informationen finden Sie im technischen Unicode-Bericht #26 auf der Website des Unicode-Konsortiums. -
NLSCHAR
— Nur zur Verwendung mit der thailändischen Codepage (CP874). -
SYSTEM
— Wenn Sie verwendenSYSTEM
, verwendet die Datenbank die Sortierreihenfolge automatisch fürdatabase_codeset
unddatabase_territory
.
Der Standardwert ist
IDENTITY
.Darüber hinaus unterstützt RDS for Db2 die folgenden Kollatierungsgruppen: und.
language-aware-collation
locale-sensitive-collation
Weitere Informationen finden Sie unter Auswählen einer Kollation für eine Unicode-Datenbankim IBM Db2 -Dokumentation. -
database_autoconfigure_str
-
Die
AUTOCONFIGURE
Befehlssyntax, zum Beispiel.'AUTOCONFIGURE APPLY DB'
Der Datentyp istvarchar
. Die Standardeinstellung ist eine leere Zeichenfolge oder Null.Weitere Informationen finden Sie unter .AUTOCONFIGURE Befehl
in der IBM Db2 -Dokumentation.
Nutzungshinweise
Wenn Sie den db2_compatibility_vector
Parameter ändern möchten, ändern Sie den Parameter, bevor Sie eine Datenbank erstellen. Weitere Informationen finden Sie unter Einstellung des Parameters db2_compatibility_vector.
Besondere Überlegungen:
-
Der an die Db2-Instanz gesendete
CREATE DATABASE
Befehl verwendet dieRESTRICTIVE
Option. -
RDS für Db2 verwendet
AUTOMATIC STORAGE
nur Tablespaces. -
RDS für Db2 verwendet die Standardwerte für und.
NUMSEGS
DFT_EXTENT_SZ
-
RDS für Db2 verwendet Speicherverschlüsselung und unterstützt keine Datenbankverschlüsselung.
Weitere Informationen zu diesen Überlegungen finden Sie unter CREATE DATABASE Befehl
Vor dem Aufrufen rdsadmin.create_database
müssen Sie eine Verbindung zur rdsadmin
Datenbank herstellen. Ersetzen Sie im folgenden Beispiel master_username
und master_password
durch Ihre RDS for Db2-DB-Instance-Informationen:
db2 connect to rdsadmin user
master_username
usingmaster_password
Hinweise zur Überprüfung des Status beim Erstellen einer Datenbank finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.create_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird eine Datenbank erstellt, die TESTJP
mit einer korrekten Kombination der database_collation
Parameter database_code_set
database_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 Datenbank, die deaktiviert werden soll. Der Datentyp ist
varchar
.
Nutzungshinweise
Sie können Datenbanken deaktivieren, um Speicherressourcen zu sparen oder andere Änderungen an der Datenbankkonfiguration vorzunehmen. Rufen Sie die rdsadmin.activate_database gespeicherte Prozedur auf, um deaktivierte Datenbanken wieder online zu schalten.
Hinweise zur Überprüfung des Status der Deaktivierung einer Datenbank finden Sie unter. rdsadmin.get_task_status
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.deactivate_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird eine TESTDB
aufgerufene Datenbank 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 unterNutzungshinweise.
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 sind standardmäßig aktiviert, wenn sie erstellt werden. Wenn Sie eine Datenbank auf einer eigenständigen DB-Instance deaktivieren, um Speicherressourcen zu sparen oder andere Änderungen an der Datenbankkonfiguration vorzunehmen, rufen Sie die rdsadmin.activate_database
gespeicherte Prozedur auf, um die Datenbank erneut zu aktivieren.
Hinweise zur Überprüfung des Status der Aktivierung einer Datenbank finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.activate_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Das folgende Beispiel aktiviert eine Datenbank namensTESTDB
.
db2 "call rdsadmin.activate_database(?, 'TESTDB')"
rdsadmin.reactivate_database
Reaktiviert eine Datenbank.
Hinweise zu den Unterschieden zwischen rdsadmin.activate_database und finden Sie rdsadmin.reactivate_database
unterNutzungshinweise.
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 Datenbank, die reaktiviert werden soll. Der Datentyp ist
varchar
.
Nutzungshinweise
Wenn Sie die rdsadmin.reactivate_database
gespeicherte Prozedur aufrufen, deaktiviert die gespeicherte Prozedur zuerst die Datenbank, indem sie die rdsadmin.deactivate_database gespeicherte Prozedur aufruft, und aktiviert dann die Datenbank, indem sie die rdsadmin.activate_database gespeicherte Prozedur aufruft.
Nachdem Sie Änderungen an den Datenbankkonfigurationen vorgenommen haben, müssen Sie möglicherweise eine Datenbank auf einer RDS for Db2-DB-Instance reaktivieren. Um festzustellen, ob Sie eine Datenbank reaktivieren müssen, stellen Sie eine Verbindung mit der Datenbank her und führen Sie den Befehl aus. db2 get db cfg show detail
Für eine Datenbank auf einer eigenständigen DB-Instance können Sie die rdsadmin.reactivate_database
Store-Prozedur verwenden, um die Datenbank zu reaktivieren. Oder, wenn Sie die rdsadmin.deactivate_database gespeicherte Prozedur bereits aufgerufen haben, können Sie stattdessen die rdsadmin.activate_database gespeicherte Prozedur aufrufen.
Hinweise zur Überprüfung des Status der Reaktivierung einer Datenbank finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.reactivate_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird eine TESTDB
aufgerufene Datenbank reaktiviert.
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 Datenbank, die gelöscht werden soll. Der Datentyp ist
varchar
.
Nutzungshinweise
Sie können eine Datenbank rdsadmin.drop_database
nur löschen, indem Sie sie aufrufen, wenn die folgenden Bedingungen erfüllt sind:
-
Sie haben den Namen der Datenbank nicht angegeben, als Sie Ihre RDS for Db2-DB-Instance mit der Amazon RDS-Konsole oder der AWS CLI erstellt haben. Weitere Informationen finden Sie unter Erstellen einer DB-Instance.
-
Sie haben die Datenbank erstellt, indem Sie die rdsadmin.create_database gespeicherte Prozedur aufgerufen haben.
-
Sie haben die Datenbank aus einem Offline- oder Sicherungsabbild wiederhergestellt, indem Sie die rdsadmin.restore_database gespeicherte Prozedur aufgerufen haben.
Vor dem Aufrufen rdsadmin.drop_database
müssen Sie eine Verbindung mit der rdsadmin
Datenbank herstellen. Ersetzen Sie im folgenden Beispiel master_username
und master_password
durch Ihre RDS for Db2-DB-Instance-Informationen:
db2 connect to rdsadmin user
master_username
usingmaster_password
Hinweise zur Überprüfung des Status beim Löschen einer Datenbank finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.drop_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Im folgenden Beispiel wird eine Datenbank mit dem Namen gelöschtTESTDB
:
db2 "call rdsadmin.drop_database('TESTDB')"
rdsadmin.update_db_param
Aktualisiert Datenbankparameter.
Syntax
db2 "call rdsadmin.update_db_param( '
database_name
', 'parameter_to_modify
', 'changed_value
)"
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 Amazon RDS für Db2-Parameter. changed_value
-
Der Wert, auf den der Parameterwert geändert werden soll. Der Datentyp ist
varchar
.
Nutzungshinweise
Hinweise zur Überprüfung des Status der Aktualisierung von Datenbankparametern finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.update_db_param
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Beispiel 1: Einen Parameter aktualisieren
Im folgenden Beispiel archretrydelay
wird der Parameter 100
für eine Datenbank mit dem Namen auf aktualisiertTESTDB
:
db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"
Beispiel 2: Die Validierung von Objekten verzögern
Im folgenden Beispiel wird die Validierung von erstellten Objekten in einer Datenbank verschoben, die aufgerufen wird, um eine Überprüfung der Abhängigkeiten TESTDB
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 für die Konfigurationseinstellung. Der Datentyp ist
varchar
.
Nutzungshinweise
Die folgende Tabelle zeigt die Konfigurationseinstellungen, mit denen Sie steuern könnenrdsadmin.set_configuration
.
Name | Beschreibung |
---|---|
|
Die Anzahl der Puffer, die während eines Wiederherstellungsvorgangs erstellt werden sollen. Dieser Wert muss kleiner als die Gesamtspeichergröße der DB-Instance-Klasse sein. Wenn diese Einstellung nicht konfiguriert ist, bestimmt Db2 den Wert, der während des Wiederherstellungsvorgangs verwendet werden soll. Weitere Informationen finden Sie hier: IBM Db2 Dokumentation |
|
Die Anzahl der Puffermanipulatoren, die während eines Wiederherstellungsvorgangs erstellt werden sollen. Dieser Wert muss kleiner als das Doppelte der Zahl von v CPUs für die DB-Instance sein. Wenn diese Einstellung nicht konfiguriert ist, bestimmt Db2 den Wert, der während des Wiederherstellungsvorgangs verwendet werden soll. Weitere Informationen finden Sie hier: IBM Db2 Dokumentation |
Beispiele
Beispiel 1: Angabe der Anzahl der zu erstellenden Puffermanipulatoren
Im folgenden Beispiel wird die RESTORE_DATABASE_PARALLELISM
Konfiguration auf festgelegt. 8
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"
Beispiel 2: Angeben der Anzahl der zu erstellenden Puffer
Im folgenden Beispiel wird die RESTORE_DATABASE_NUM_BUFFERS
Konfiguration auf 150
festgelegt.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"
rdsadmin.show_configuration
Gibt die aktuellen Einstellungen zurück, die Sie mithilfe der gespeicherten Prozedur festlegen könnenrdsadmin.set_configuration
.
Syntax
db2 "call rdsadmin.show_configuration( '
name
')"
Parameter
Der folgende Parameter ist optional:
name
-
Der Name der Konfigurationseinstellung, über die 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.
-
Nutzungshinweise
Wenn Sie den Namen einer Konfigurationseinstellung nicht angeben, werden Informationen für alle Konfigurationseinstellungen rdsadmin.show_configuration
zurückgegeben, die Sie mithilfe der gespeicherten Prozedur festlegen können. rdsadmin.set_configuration
Beispiele
Im folgenden Beispiel werden Informationen zur aktuellen RESTORE_DATABASE_PARALLELISM
Konfiguration zurückgegeben.
db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"
rdsadmin.restore_database
Stellt eine Datenbank aus einem Amazon S3 S3-Bucket auf Ihrer RDS for Db2-DB-Instance 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 for Db2 wiederhergestellt werden soll. Der Datentyp ist
varchar
.Wenn der Quelldatenbankname beispielsweise lautete
TESTDB
und Siedatabase_name
auf eingestellt habenNEWDB
, stellt Amazon RDSNEWDB
als Quelldatenbank wieder her. s3_bucket_name
-
Der Name des Amazon S3 S3-Buckets, in dem sich Ihr Backup befindet. Der Datentyp ist
varchar
. s3_prefix
-
Das Präfix, das für den Dateiabgleich beim Herunterladen verwendet werden soll. Der Datentyp ist
varchar
.Wenn dieser Parameter leer ist, werden alle Dateien im Amazon S3 S3-Bucket heruntergeladen. Das Folgende ist ein Beispiel für ein Präfix:
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
restore_timestamp
-
Der Zeitstempel des Datenbank-Backup-Images. Der Datentyp ist
varchar
.Der Zeitstempel ist im Namen der Sicherungsdatei enthalten.
20230615010101
Ist zum Beispiel der Zeitstempel für den Dateinamen.SAMPLE.0.rdsdb.DBPART000.20230615010101.001
backup_type
-
Die Art der Sicherung. Der Datentyp ist
varchar
. Zulässige Werte:OFFLINE
,ONLINE
.Wird
ONLINE
für Migrationen verwendet, bei denen fast keine Ausfallzeiten auftreten. Weitere Informationen finden Sie unter Migration von Linux to Linux mit nahezu null Ausfallzeiten für Amazon for Db2 RDS.
Nutzungshinweise
Sie können diese gespeicherte Prozedur verwenden, um eine Db2-Datenbank auf eine RDS for Db2-DB-Instance zu migrieren. Weitere Informationen finden Sie unter Nutzung von AWS Services zur Migration von Daten von Db2 zu Amazon RDS for Db2. Sie können diese gespeicherte Prozedur auch verwenden, um mehrere Kopien derselben Datenbank mit unterschiedlichen Datenbanknamen zu erstellen, die dasselbe Wiederherstellungsabbild verwenden.
Bevor Sie die gespeicherte Prozedur aufrufen, sollten Sie sich die folgenden Überlegungen ansehen:
-
Bevor Sie eine Datenbank wiederherstellen, müssen Sie Speicherplatz für Ihre RDS for Db2-DB-Instance bereitstellen, der mindestens der Summe der Größe Ihres Backups 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 Sicherungsdatei auf Ihrer RDS for Db2-DB-Instance. Jede Backup-Datei muss 5 TB oder kleiner sein. Wenn eine Sicherungsdatei größer als 5 TB ist, müssen Sie die Sicherungsdatei in kleinere Dateien aufteilen.
-
Um alle Dateien mithilfe der
rdsadmin.restore_database
gespeicherten Prozedur wiederherzustellen, geben Sie das Dateinummersuffix nach dem Zeitstempel nicht in die Dateinamen ein. Das stellt beispielsweise die folgendens3_prefix
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
Dateien 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 for 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 von RDS zu verwendenden Puffer und Puffermanipulatoren konfigurieren. Um die aktuelle Konfiguration zu überprüfen, verwenden Sie. rdsadmin.show_configuration Um die Konfiguration zu ändern, verwenden Sierdsadmin.set_configuration.
Informationen zum Onlineschalten der Datenbank und zum Anwenden zusätzlicher Transaktionslogs nach dem Wiederherstellen der Datenbank finden Sie unterrdsadmin.rollforward_database.
Hinweise zur Überprüfung des Status der Datenbankwiederherstellung finden Sie unterrdsadmin.get_task_status.
Informationen zu Fehlermeldungen, die beim Aufrufen zurückgegeben werdenrdsadmin.restore_database
, finden Sie unterBehebung von Fehlern bei gespeicherten Prozeduren.
Beispiele
Das folgende Beispiel stellt eine Offline-Sicherung mit einer einzelnen Datei oder mehreren Dateien wieder her, die Folgendes aufweisen s3_prefix
backupfolder/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
Bringt die Datenbank online und wendet zusätzliche Transaktionsprotokolle an, nachdem eine Datenbank durch einen Aufruf wiederhergestellt wurderdsadmin.restore_database.
Syntax
db2 "call rdsadmin.rollforward_database( ?, '
database_name
', 's3_bucket_name
',s3_prefix
, 'rollfoward_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 S3-Buckets, in dem sich Ihr Backup befindet. Der Datentyp ist
varchar
. s3_prefix
-
Das Präfix, das für den Dateiabgleich beim Herunterladen verwendet werden soll. Der Datentyp ist
varchar
.Wenn dieser Parameter leer ist, werden alle Dateien im S3-Bucket heruntergeladen. Das folgende Beispiel ist ein Beispielpräfix:
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
Die folgenden Eingabeparameter sind optional:
rollforward_to_option
-
Der Punkt, zu dem Sie weiterrollen möchten. Der Datentyp ist
varchar
. Zulässige Werte:END_OF_LOGS
,END_OF_BACKUP
. Der Standardwert istEND OF LOGS
. complete_rollforward
-
Gibt an, ob der Roll-Forward-Prozess abgeschlossen werden soll. Der Datentyp ist.
varchar
Der Standardwert istTRUE
.Wenn
TRUE
, dann ist die Datenbank nach Abschluss online und zugänglich. WennFALSE
, dann bleibt die Datenbank in einemROLL-FORWARD PENDING
Zustand.
Nutzungshinweise
Nach dem Aufruf müssen Sie aufrufenrdsadmin.restore_database, rollforward_database
um Archivprotokolle aus einem S3-Bucket anzuwenden. Sie können diese gespeicherte Prozedur auch verwenden, um nach dem Aufruf zusätzliche Transaktionsprotokolle wiederherzustellenrdsadmin.restore_database
.
Wenn Sie complete_rollforward
auf einstellenFALSE
, befindet sich Ihre Datenbank in einem ROLL-FORWARD PENDING
Zustand und ist offline. Um die Datenbank online zu schalten, müssen Sie anrufenrdsadmin.complete_rollforward.
Hinweise zur Überprüfung des Status beim Rollforward der Datenbank finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Die Datenbank mit Transaktionsprotokollen online schalten
Im folgenden Beispiel wird ein Rollforward zu einer Online-Sicherung der Datenbank mit Transaktionsprotokollen durchgeführt und die Datenbank anschließend online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"
Beispiel 2: Eine Datenbank ohne Transaktionsprotokolle online schalten
Im folgenden Beispiel wird ein Rollforward zu einer Online-Sicherung der Datenbank ohne Transaktionsprotokolle durchgeführt und die Datenbank anschließend online geschaltet:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', '
amzn-s3-demo-bucket
', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"
Beispiel 3: Datenbank mit Transaktionsprotokollen wird nicht online geschaltet
Im folgenden Beispiel wird ein Rollforward zu einer Online-Sicherung der Datenbank mit Transaktionsprotokollen durchgeführt, ohne dass die Datenbank online geschaltet wird:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"
Beispiel 4: Die Datenbank mit zusätzlichen Transaktionsprotokollen wird nicht online geschaltet
Im folgenden Beispiel wird ein Rollforward zu einer Online-Sicherung der Datenbank mit zusätzlichen Transaktionsprotokollen durchgeführt, ohne dass die Datenbank online geschaltet wird:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', '
amzn-s3-demo-bucket
', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"
rdsadmin.complete_rollforward
Bringt die Datenbank aus einem ROLL-FORWARD PENDING
Status 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 stellen möchten. Der Datentyp ist
varchar
.
Nutzungshinweise
Wenn Sie rdsadmin.rollforward_database mit der complete_rollforward
Einstellung auf aufgerufen habenFALSE
, befindet sich Ihre Datenbank in einem ROLL-FORWARD PENDING
Status und ist offline. Rufen Sie an, um den Roll-Forward-Vorgang abzuschließen und die Datenbank online zu schalten. rdsadmin.complete_rollforward
Hinweise zur Überprüfung des Status des Abschlusses des Roll-Forward-Prozesses finden Sie unter. rdsadmin.get_task_status
Beispiele
Das folgende Beispiel zeigt TESTDB Datenbank online:
db2 "call rdsadmin.complete_rollfoward( ?, 'TESTDB')"
rdsadmin.db2pd_command
Sammelt Informationen über eine RDS for Db2-Datenbank.
Syntax
db2 "call rdsadmin.db2pd_command('
db2pd_cmd
')"
Parameter
Der folgende Eingabeparameter ist erforderlich:
db2pd_cmd
-
Der Name des
db2pd
Befehls, den Sie ausführen möchten. Der Datentyp istvarchar
.Der Parameter muss mit einem Bindestrich beginnen. Eine Liste der Parameter finden Sie unter db2pd — Db2-Datenbankbefehl überwachen und Fehler beheben
im IBM Db2 -Dokumentation. 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
-
-pages
Anmerkung
-pages summary
wird unterstützt. -
-pdcollection
-
-repeat
-
-stack
-
-totalmem
Die
file
Unteroption wird beispielsweise nicht unterstützt.db2pd -db testdb -tcbstats file=tcbstat.out
Die Verwendung der
stacks
Option wird beispielsweise nicht unterstützt.db2pd -edus interval=5 top=10 stacks
-
Nutzungshinweise
Diese gespeicherte Prozedur sammelt Informationen, die bei der Überwachung und Problembehandlung von RDS for Db2-Datenbanken helfen können.
Die gespeicherte Prozedur verwendet IBM db2pd
Hilfsprogramm zum Ausführen verschiedener Befehle. Das db2pd
Hilfsprogramm erfordert eine SYSADM
Autorisierung, über die der RDS for Db2-Masterbenutzer nicht verfügt. Mit der gespeicherten Amazon RDS-Prozedur kann der Masterbenutzer das Hilfsprogramm jedoch verwenden, um verschiedene Befehle auszuführen. Weitere Informationen über das Hilfsprogramm finden Sie unter db2pd — Db2-Datenbankbefehl überwachen und beheben
Die Ausgabe ist auf maximal 2 GB beschränkt.
Hinweise zur Überprüfung des Status der Erfassung von Informationen über die Datenbank finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Rückgabe der Verfügbarkeit der DB-Instance
Das folgende Beispiel gibt die Verfügbarkeit einer RDS für eine DB2-DB-Instance zurück:
db2 "call rdsadmin.db2pd_command('-')"
Beispiel 2: Rückgabe der Verfügbarkeit der Datenbank
Das folgende Beispiel gibt die Verfügbarkeit einer Datenbank mit dem Namen zurück: TESTDB
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
Beispiel 3: Rückgabe der Speichernutzung einer DB-Instance
Das folgende Beispiel gibt die Speichernutzung einer RDS für eine DB2-DB-Instance zurück:
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
Beispiel 4: Rückgabe von Speichersätzen von DB-Instance und Datenbank
Das folgende Beispiel gibt die Speichersätze einer RDS for Db2-DB-Instance und einer Datenbank namens TESTDB
zurück:
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
rdsadmin.force_application
Zwingt Anwendungen aus einer RDS for Db2-Datenbank.
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, die Sie aus einer RDS for Db2-Datenbank ausschalten möchten. Der Datentyp ist
varchar
. Gültige Werte:ALL
oderapplication_handle
.Trennen Sie die Namen mehrerer Anwendungen durch Kommas. Beispiel: '
application_handle_1
,application_handle_2
'.
Nutzungshinweise
Diese gespeicherte Prozedur zwingt alle Anwendungen aus einer Datenbank, sodass Sie Wartungsarbeiten durchführen können.
Die gespeicherte Prozedur verwendet die IBM FORCE APPLICATION
Befehl. Für den FORCE APPLICATION
Befehl ist eine SYSCTRL
Autorisierung SYSADM
SYSMAINT
, oder erforderlich, über die der RDS for Db2-Masterbenutzer nicht verfügt. Mit der gespeicherten Amazon RDS-Prozedur kann der Masterbenutzer den Befehl jedoch verwenden. Weitere Informationen finden Sie unter dem Befehl FORCE APPLICATION
Hinweise zur Überprüfung des Status beim Abschalten von Anwendungen aus einer Datenbank finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Alle Anwendungen angeben
Im folgenden Beispiel werden alle Anwendungen aus einer RDS for Db2-Datenbank entfernt:
db2 "call rdsadmin.force_application( ?, 'ALL')"
Beispiel 2: Angabe mehrerer Anwendungen
Im folgenden Beispiel werden Anwendungs-Handles 9991
8891
, und 1192
aus einer RDS for Db2-Datenbank deaktiviert:
db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"
rdsadmin.set_archive_log_retention
Konfiguriert den Zeitraum (in Stunden) für die Aufbewahrung von Archivprotokolldateien für die angegebene RDS for Db2-Datenbank.
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 Aufbewahrung von Archivprotokollen konfiguriert werden soll. Der Datentyp ist
varchar
. archive_log_retention_hours
-
Die Anzahl der Stunden, für die die Archiv-Protokolldateien aufbewahrt werden sollen. Der Datentyp ist
smallint
. Die Standardeinstellung ist0
, und das Maximum ist168
(7 Tage).Wenn der Wert ist
0
, speichert Amazon RDS die Archiv-Protokolldateien nicht.
Nutzungshinweise
Standardmäßig speichert RDS for Db2 Protokolle für 5 Minuten. Wir empfehlen, dass Sie Replikationstools verwenden, z. B. AWS DMS für Change Data Capture (CDC) oder IBM Q Replication, legen Sie in diesen Tools die Aufbewahrung von Protokollen für mehr als 5 Minuten fest.
Sie können die aktuellen Einstellungen für die Aufbewahrung von Archivprotokollen einsehen, indem Sie anrufenrdsadmin.show_archive_log_retention.
Sie können die Einstellung für die Aufbewahrung von Archivprotokollen in der rdsadmin
Datenbank nicht konfigurieren.
Beispiele
Beispiel 1: Einstellung der Aufbewahrungszeit
Im folgenden Beispiel wird die Aufbewahrungszeit des Archivprotokolls für eine aufgerufene Datenbank TESTDB
auf 24 Stunden festgelegt.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
Beispiel 2: Deaktivierung der Aufbewahrungszeit
Im folgenden Beispiel wird die Aufbewahrung von Archivprotokollen für eine Datenbank mit dem Namen deaktiviert. TESTDB
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"
rdsadmin.show_archive_log_retention
Gibt die aktuelle Aufbewahrungseinstellung für das Archivprotokoll 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 Einstellung zur Aufbewahrung von Archivprotokollen angezeigt werden soll. Der Datentyp ist
varchar
.
Beispiele
Das folgende Beispiel zeigt die Einstellung zur Aufbewahrung von Archivprotokollen für eine Datenbank namensTESTDB
.
db2 "call rdsadmin.show_archive_log_retention( ? 'TESTDB')"
rdsadmin.list_archive_log_information
Gibt Details zu den Archivprotokolldateien zurück, z. B. Größe, Datum und 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 Archivprotokollinformationen aufgelistet werden sollen. Der Datentyp ist
varchar
.
Beispiele
Das folgende Beispiel gibt Archivprotokollinformationen für eine Datenbank mit dem Namen zurückTESTDB
.
db2 "call rdsadmin.list_archive_log_information( ? 'TESTDB')"