Häufige Aufgaben in Bezug auf Datenbanken
Sie können Datenbanken auf Ihrer DB-Instance von RDS für Db2 erstellen, löschen oder wiederherstellen. Das Erstellen, Löschen oder Wiederherstellen von Datenbanken erfordert eine höhere SYSADM-Autoritätsebene, die dem Hauptbenutzer nicht zur Verfügung steht. Verwenden Sie stattdessen gespeicherte Amazon-RDS-Prozeduren.
Sie können auch allgemeine Verwaltungsaufgaben wie Überwachung, Wartung und Erfassung von Informationen über Ihre Datenbanken ausführen.
Themen
Erstellen einer Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.create_database auf, um eine Datenbank auf Ihrer DB-Instance von RDS für Db2 zu erstellen. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter CREATE DATABASE command
Anmerkung
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.
So erstellen Sie eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Erstellen Sie eine Datenbank, indem Sie
rdsadmin.create_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.create_database.db2 "call rdsadmin.create_database('database_name')" -
(Optional) Erstellen Sie weitere Datenbanken, indem Sie für jede Datenbank, die Sie erstellen möchten,
rdsadmin.create_databaseaufrufen. Jede Db2-DB-Instance kann bis zu 50 Datenbanken enthalten. Weitere Informationen finden Sie unter rdsadmin.create_database.db2 "call rdsadmin.create_database('database_name')" -
(Optional) Vergewissern Sie sich, dass Ihre Datenbank mithilfe einer der folgenden Methoden erstellt wurde:
-
Rufen Sie die Seite
rdsadmin.list_databasesauf. Weitere Informationen finden Sie unter rdsadmin.list_databases. -
Führen Sie den folgenden SQL-Befehl aus:
db2 "select varchar(r.task_type,25) as task_type, r.database_name, varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name, varchar(bson_to_json(task_input_params),256) as input_params, varchar(r.task_output,1024) as task_output from table(rdsadmin.get_task_status(null,null,'create_database')) as r order by created_at desc"
-
Konfigurieren von Einstellungen für eine Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.set_configuration auf, um die Einstellungen für eine Datenbank auf Ihrer DB-Instance von RDS für Db2 zu konfigurieren. Sie könnten beispielsweise die Anzahl der Puffer oder Puffermanipulatoren konfigurieren, die während eines Wiederherstellungsvorgangs erstellt werden sollen.
So konfigurieren Sie die Einstellungen für eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Optional) Überprüfen Sie Ihre aktuellen Konfigurationseinstellungen, indem Sie
rdsadmin.show_configurationaufrufen. Weitere Informationen finden Sie unter rdsadmin.show_configuration.db2 "call rdsadmin.show_configuration('name')" -
Konfigurieren Sie die Einstellungen für die Datenbank, indem Sie
rdsadmin.set_configurationaufrufen. Weitere Informationen finden Sie unter rdsadmin.set_configuration.db2 "call rdsadmin.set_configuration( 'name', 'value')"
Ändern von Datenbankparametern
In Amazon RDS für Db2 werden drei Typen von Parametern verwendet: Konfigurationsparameter für den Datenbankmanager, Registrierungsvariablen und Datenbankkonfigurationsparameter. Sie können die ersten beiden Typen mithilfe der Parametergruppen und den letzten Typ mithilfe der gespeicherten Prozedur rdsadmin.update_db_param aktualisieren.
Anmerkung
Sie können nur die Werte vorhandener Parameter ändern. Sie können keine neuen Parameter hinzufügen, die RDS für Db2 nicht unterstützt.
Weitere Informationen zu diesen Parametern und zur Änderung ihrer Werte finden Sie unter Parameter von Amazon RDS für Db2.
Konfigurieren der Aufbewahrung von Protokollen
Rufen Sie die gespeicherte Prozedur rdsadmin.set_archive_log_retention auf, um zu konfigurieren, wie lange Amazon RDS Protokolldateien für Ihre Datenbank von RDS für Db2 aufbewahrt.
So konfigurieren die Aufbewahrung von Protokollen für eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Optional) Überprüfen Sie Ihre aktuelle Konfiguration für die Aufbewahrung von Protokollen, indem Sie
rdsadmin.show_archive_log_retentionaufrufen. Weitere Informationen finden Sie unter rdsadmin.show_archive_log_retention.db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')" -
Konfigurieren Sie die Aufbewahrung von Protokollen für die Datenbank, indem Sie
rdsadmin.set_archive_log_retentionaufrufen. Weitere Informationen finden Sie unter rdsadmin.set_archive_log_retention.db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"
Auflisten von Protokollinformationen
Rufen Sie die gespeicherte Prozedur rdsadmin.list_archive_log_information auf, um Details zu Archivprotokolldateien aufzulisten, einschließlich Angaben zur genutzten Gesamtspeichergröße.
So listen Sie Protokollinformationen für eine Datenbank auf
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Erhalten Sie eine Liste mit Informationen zu Protokolldateien, indem Sie
rdsadmin.list_archive_log_informationaufrufen. Weitere Informationen finden Sie unter rdsadmin.list_archive_log_information.db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"
Deaktivieren einer Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.deactivate_database auf, um eine Datenbank auf Ihrer DB-Instance von RDS für Db2 zu deaktivieren.
Standardmäßig aktiviert Amazon RDS die Datenbank, wenn Sie sie auf Ihrer DB-Instance von RDS für Db2 erstellen. Sie können selten verwendete Datenbanken deaktivieren, um Speicherressourcen zu schonen.
So deaktivieren Sie eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Deaktivieren Sie eine Datenbank, indem Sie
rdsadmin.deactivate_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.deactivate_database.db2 "call rdsadmin.deactivate_database( ?, 'database_name')"
Aktivieren einer Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.activate_database auf, um eine Datenbank auf einer eigenständigen DB-Instance von RDS für Db2 zu aktivieren.
Standardmäßig aktiviert Amazon RDS die Datenbank, wenn Sie sie auf Ihrer DB-Instance von RDS für Db2 erstellen. Sie können selten verwendete Datenbanken deaktivieren, um Speicherressourcen zu schonen, und eine deaktivierte Datenbank später wieder aktivieren.
So aktivieren Sie eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Aktivieren Sie eine Datenbank, indem Sie
rdsadmin.activate_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.activate_database.db2 "call rdsadmin.activate_database( ?, 'database_name')"
Reaktivieren einer Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.reactivate_database auf, um eine Datenbank auf einer replizierten Quell-DB-Instance von RDS für Db2 zu reaktivieren. 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.
Sie können diese gespeicherte Prozedur auch aufrufen, um eine Datenbank auf einer eigenständigen DB-Instance von RDS für Db2 zu reaktivieren, nachdem Sie Änderungen an den Datenbankkonfigurationen vorgenommen haben. Oder Sie könnten eine Datenbank auf einer eigenständigen DB-Instance von RDS für Db2 reaktivieren, indem Sie zuerst die gespeicherte Prozedur rdsadmin.deactivate_database und dann die gespeicherte Prozedur rdsadmin.activate_database aufrufen. Weitere Informationen erhalten Sie unter Deaktivieren einer Datenbank und Aktivieren einer Datenbank.
So reaktivieren Sie eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Reaktivieren Sie eine Datenbank, indem Sie
rdsadmin.reactivate_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.reactivate_database.db2 "call rdsadmin.reactivate_database( ?, 'database_name')"
Löschen einer Datenbank.
Rufen Sie die gespeicherte Prozedur rdsadmin.drop_database auf, um eine Datenbank von Ihrer DB-Instance von RDS für Db2 zu löschen. Weitere Informationen finden Sie unter Löschen von Datenbanken
Anmerkung
Sie können eine Datenbank nur dann durch Aufrufen der gespeicherten Prozedur löschen, wenn bestimmte Bedingungen erfüllt sind. Weitere Informationen erhalten Sie unter Nutzungshinweise für rdsadmin.drop_database.
So löschen Sie eine Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Löschen Sie eine Datenbank, indem Sie
rdsadmin.drop_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.drop_database.db2 "call rdsadmin.drop_database('database_name')"
Wiederherstellen einer Datenbank
Rufen Sie die gespeicherte Prozedur rdsadmin.restore_database auf, um eine Datenbank aus einem Amazon-S3-Bucket in Ihre DB-Instance von RDS für Db2 zu verschieben. Weitere Informationen finden Sie in der IBM Db2-Dokumentation unter RESTORE DATABASE command
So stellen Sie eine Datenbank wieder her
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Optional) Überprüfen Sie Ihre aktuellen Konfigurationseinstellungen, um den Wiederherstellungsvorgang zu optimieren, indem Sie
rdsadmin.show_configurationaufrufen. Weitere Informationen finden Sie unter rdsadmin.show_configuration.db2 "call rdsadmin.show_configuration('name')" -
Konfigurieren Sie die Einstellungen, um den Wiederherstellungsvorgang zu optimieren, indem Sie
rdsadmin.set_configurationaufrufen. Das explizite Festlegen dieser Werte kann beim Wiederherstellen von Datenbanken mit großen Datenmengen die Leistung verbessern. Weitere Informationen finden Sie unter rdsadmin.set_configuration.db2 "call rdsadmin.set_configuration( 'name', 'value')" -
Stellen Sie die Datenbank wieder her, indem Sie
rdsadmin.restore_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.restore_database.db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix',restore_timestamp, 'backup_type')" -
(Optional) Vergewissern Sie sich, dass Ihre Datenbank wiederhergestellt wurde, indem Sie
rdsadmin.list_databasesaufrufen und überprüfen, ob die wiederhergestellte Datenbank aufgeführt ist. Weitere Informationen finden Sie unter rdsadmin.list_databases. -
Schalten Sie die Datenbank wieder online und wenden Sie zusätzliche Transaktionsprotokolle an, indem Sie
rdsadmin.rollforward_databaseaufrufen. Weitere Informationen finden Sie unter rdsadmin.rollforward_database.db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name',s3_prefix, 'rollforward_to_option', 'complete_rollforward')" -
(Optional) Überprüfen Sie den Status der gespeicherten Prozedur
rdsadmin.rollforward_database, indem Sie die gespeicherte Prozedur rdsadmin.rollforward_status aufrufen. -
Wenn Sie
complete_rollforwardim vorherigen Schritt aufFALSEgesetzt haben, müssen Sie die Datenbank abschließend online schalten, indem Sierdsadmin.complete_rollforwardaufrufen. Weitere Informationen finden Sie unter rdsadmin.complete_rollforward.db2 "call rdsadmin.complete_rollforward( ?, 'database_name')" -
(Optional) Überprüfen Sie den Status der gespeicherten Prozedur
rdsadmin.complete_rollforward, indem Sie die gespeicherte Prozedur rdsadmin.rollforward_status aufrufen.
Auflisten von Datenbanken
Sie können alle Datenbanken auflisten, die auf Amazon RDS für Db2 ausgeführt werden, indem Sie die benutzerdefinierte Funktion rdsadmin.list_databases aufrufen.
So listen Sie Ihre Datenbanken auf
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Listen Sie Ihre Datenbanken auf, indem Sie
rdsadmin.list_databasesaufrufen. Weitere Informationen finden Sie unter rdsadmin.list_databases.db2 "select * from table(rdsadmin.list_databases())"
Sammeln von Informationen zu Datenbanken
Rufen Sie die gespeicherte Prozedur rdsadmin.db2pd_command auf, um Informationen über eine Datenbank auf einer DB-Instance von RDS für Db2 zu sammeln. Diese Informationen können Ihnen bei der Überwachung Ihrer Datenbanken oder bei der Behebung von Fehlern behilflich sein.
So sammeln Sie Informationen zu einer Datenbank
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Sammeln Sie Informationen zur Datenbank, indem Sie
rdsadmin.db2pd_commandaufrufen. Weitere Informationen finden Sie unter rdsadmin.db2pd_command.db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
Erzwingen, dass Anwendungen von Datenbanken entfernt werden
Rufen Sie die gespeicherte Prozedur rdsadmin.force_application auf, um zu erzwingen, dass Anwendungen aus einer Datenbank auf Ihrer DB-Instance von RDS für Db2 entfernt werden. Bevor Sie Wartungsarbeiten an Ihren Datenbanken durchführen, erzwingen Sie, dass Anwendungen von Ihren Datenbanken entfernt werden.
So erzwingen Sie, dass Anwendungen aus einer Datenbank entfernt werden
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur
rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Erzwingen Sie, dass Anwendungen aus einer Datenbank entfernt werden, indem Sie
rdsadmin.force_applicationaufrufen. Weitere Informationen finden Sie unter rdsadmin.force_application.db2 "call rdsadmin.force_application( ?, 'applications')"
Generieren von Leistungsberichten
Sie können Leistungsberichte mithilfe einer Prozedur oder eines Skripts generieren. Informationen zur Verwendung einer Prozedur finden Sie in der IBM Db2-Dokumentation unter DBSUMMARY procedure – Generate a summary report of system and application performance metrics
Das Verzeichnis ~sqllib/sample/perf von Db2 umfasst eine db2mon.sh-Datei. Durch die Ausführung des Skripts wird ein kostengünstiger, umfangreicher SQL-Metrikbericht erstellt. Informationen zum Herunterladen der db2mon.sh-Datei und der zugehörigen Skriptdateien finden Sie im Verzeichnis perf
So generieren Sie Leistungsberichte mithilfe des Skripts
-
Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel
master_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadminusermaster_usernameusingmaster_password -
Erstellen Sie einen Pufferpool mit dem Namen
db2monbpund einer Seitengröße von 4 096, indem Sierdsadmin.create_bufferpoolaufrufen. Weitere Informationen finden Sie unter rdsadmin.create_bufferpool.db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)" -
Erstellen Sie einen temporären Tablespace mit dem Namen
db2montmptbsp, der dendb2monbp-Pufferpool verwendet, indem Sierdsadmin.create_tablespaceaufrufen. Weitere Informationen finden Sie unter rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')" -
Öffnen Sie das Skript
db2mon.shund ändern Sie die Zeile, die sich auf die Verbindung zur Datenbank bezieht.-
Entfernen Sie die folgende Zeile.
db2 -v connect to $dbName -
Ersetzen Sie die Zeile im vorherigen Schritt durch die folgende Zeile. Ersetzen Sie im folgenden Beispiel master_username und
master_passworddurch den Hauptbenutzernamen und das Hauptpasswort für Ihre DB-Instance von RDS für Db2.db2 -v connect to $dbName usermaster_usernameusingmaster_password -
Entfernen Sie die folgenden Zeilen.
db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
-
-
Führen Sie das Skript
db2mon.shaus, um in bestimmten Intervallen einen Bericht auszugeben. Ersetzen Sie im folgenden Beispielabsolute_pathdurch den vollständigen Pfad zur Skriptdatei,rds_database_aliasdurch den Namen Ihrer Datenbank undSekundendurch die Anzahl der Sekunden (0 bis 3 600) zwischen der Berichtsgenerierung.absolute_path/db2mon.shrds_database_aliasseconds| tee -a db2mon.outBeispiele
Das folgende Beispiel zeigt, dass sich die Skriptdatei im Verzeichnis
perfunter dem Verzeichnishomebefindet./home/db2inst1/sqllib/samples/perf/db2mon.shrds_database_aliasseconds| tee -a db2mon.out -
Löschen Sie den Pufferpool und den Tablespace, die für die Datei
db2mon.sherstellt wurden. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch den Hauptbenutzernamen und das Hauptpasswort für Ihre DB-Instance von RDS für Db2. Ersetzen Siedatabase_namedurch den Namen Ihrer Datenbank. Weitere Informationen erhalten Sie unter rdsadmin.drop_tablespace und rdsadmin.drop_bufferpool.db2 connect to rdsadmin usermaster_usernameusingmaster_passworddb2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"