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

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.

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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Erstellen Sie eine Datenbank, indem Sie rdsadmin.create_database aufrufen. Weitere Informationen finden Sie unter rdsadmin.create_database.

    db2 "call rdsadmin.create_database('database_name')"
  3. (Optional) Erstellen Sie weitere Datenbanken, indem Sie für jede Datenbank, die Sie erstellen möchten, rdsadmin.create_database aufrufen. 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')"
  4. (Optional) Vergewissern Sie sich, dass Ihre Datenbank mithilfe einer der folgenden Methoden erstellt wurde:

    • Rufen Sie die Seite rdsadmin.list_databases auf. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Optional) Überprüfen Sie Ihre aktuellen Konfigurationseinstellungen, indem Sie rdsadmin.show_configuration aufrufen. Weitere Informationen finden Sie unter rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Konfigurieren Sie die Einstellungen für die Datenbank, indem Sie rdsadmin.set_configuration aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Optional) Überprüfen Sie Ihre aktuelle Konfiguration für die Aufbewahrung von Protokollen, indem Sierdsadmin.show_archive_log_retention aufrufen. Weitere Informationen finden Sie unter rdsadmin.show_archive_log_retention.

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. Konfigurieren Sie die Aufbewahrung von Protokollen für die Datenbank, indem Sie rdsadmin.set_archive_log_retention aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Erhalten Sie eine Liste mit Informationen zu Protokolldateien, indem Sie rdsadmin.list_archive_log_information aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Deaktivieren Sie eine Datenbank, indem Sie rdsadmin.deactivate_database aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Aktivieren Sie eine Datenbank, indem Sie rdsadmin.activate_database aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Reaktivieren Sie eine Datenbank, indem Sie rdsadmin.reactivate_database aufrufen. 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 in der IBM Db2-Dokumentation.

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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Löschen Sie eine Datenbank, indem Sie rdsadmin.drop_database aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. (Optional) Überprüfen Sie Ihre aktuellen Konfigurationseinstellungen, um den Wiederherstellungsvorgang zu optimieren, indem Sie rdsadmin.show_configuration aufrufen. Weitere Informationen finden Sie unter rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Konfigurieren Sie die Einstellungen, um den Wiederherstellungsvorgang zu optimieren, indem Sie rdsadmin.set_configuration aufrufen. 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')"
  4. Stellen Sie die Datenbank wieder her, indem Sie rdsadmin.restore_database aufrufen. Weitere Informationen finden Sie unter rdsadmin.restore_database.

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. (Optional) Vergewissern Sie sich, dass Ihre Datenbank wiederhergestellt wurde, indem Sie rdsadmin.list_databases aufrufen und überprüfen, ob die wiederhergestellte Datenbank aufgeführt ist. Weitere Informationen finden Sie unter rdsadmin.list_databases.

  6. Schalten Sie die Datenbank wieder online und wenden Sie zusätzliche Transaktionsprotokolle an, indem Sie rdsadmin.rollforward_database aufrufen. 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')"
  7. (Optional) Überprüfen Sie den Status der gespeicherten Prozedur rdsadmin.rollforward_database, indem Sie die gespeicherte Prozedur rdsadmin.rollforward_status aufrufen.

  8. Wenn Sie complete_rollforward im vorherigen Schritt auf FALSE gesetzt haben, müssen Sie die Datenbank abschließend online schalten, indem Sie rdsadmin.complete_rollforward aufrufen. Weitere Informationen finden Sie unter rdsadmin.complete_rollforward.

    db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"
  9. (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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Listen Sie Ihre Datenbanken auf, indem Sie rdsadmin.list_databases aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Sammeln Sie Informationen zur Datenbank, indem Sie rdsadmin.db2pd_command aufrufen. 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
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Erzwingen Sie, dass Anwendungen aus einer Datenbank entfernt werden, indem Sie rdsadmin.force_application aufrufen. 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 im IBM-GitHub-Repository db2-samples.

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

    db2 connect to rdsadmin user master_username using master_password
  2. Erstellen Sie einen Pufferpool mit dem Namen db2monbp und einer Seitengröße von 4 096, indem Sie rdsadmin.create_bufferpool aufrufen. Weitere Informationen finden Sie unter rdsadmin.create_bufferpool.

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. Erstellen Sie einen temporären Tablespace mit dem Namen db2montmptbsp, der den db2monbp-Pufferpool verwendet, indem Sie rdsadmin.create_tablespace aufrufen. Weitere Informationen finden Sie unter rdsadmin.create_tablespace.

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. Öffnen Sie das Skript db2mon.sh und ändern Sie die Zeile, die sich auf die Verbindung zur Datenbank bezieht.

    1. Entfernen Sie die folgende Zeile.

      db2 -v connect to $dbName
    2. Ersetzen Sie die Zeile im vorherigen Schritt durch die folgende Zeile. Ersetzen Sie im folgenden Beispiel master_username und master_password durch den Hauptbenutzernamen und das Hauptpasswort für Ihre DB-Instance von RDS für Db2.

      db2 -v connect to $dbName user master_username using master_password
    3. 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
  5. Führen Sie das Skript db2mon.sh aus, um in bestimmten Intervallen einen Bericht auszugeben. Ersetzen Sie im folgenden Beispiel absolute_path durch den vollständigen Pfad zur Skriptdatei, rds_database_alias durch den Namen Ihrer Datenbank und Sekunden durch die Anzahl der Sekunden (0 bis 3 600) zwischen der Berichtsgenerierung.

    absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out

    Beispiele

    Das folgende Beispiel zeigt, dass sich die Skriptdatei im Verzeichnis perf unter dem Verzeichnis home befindet.

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. Löschen Sie den Pufferpool und den Tablespace, die für die Datei db2mon.sh erstellt wurden. Ersetzen Sie im folgenden Beispiel master_username und master_password durch den Hauptbenutzernamen und das Hauptpasswort für Ihre DB-Instance von RDS für Db2. Ersetzen Sie database_name durch den Namen Ihrer Datenbank. Weitere Informationen erhalten Sie unter rdsadmin.drop_tablespace und rdsadmin.drop_bufferpool.

    db2 connect to rdsadmin user master_username using master_password db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"