Attività comuni per i database
Puoi creare, eliminare o ripristinare i database sulla tua istanza database RDS per Db2. La creazione, l’eliminazione o il ripristino di database richiede un’autorità SYSADM di livello superiore, di cui l’utente principale non dispone. Puoi invece utilizzare le stored procedure di Amazon RDS.
Puoi anche eseguire attività di gestione comuni come il monitoraggio, la manutenzione e la raccolta di informazioni sui tuoi database.
Argomenti
Creazione di un database
Per creare un database sulla tua istanza database RDS per Db2, chiama la stored procedure rdsadmin.create_database. Per ulteriori informazioni, consulta CREATE DATABASE command
Nota
Se intendi modificare il parametro db2_compatibility_vector, modificalo prima di creare un database. Per ulteriori informazioni, consulta Impostazione del parametro db2_compatibility_vector.
Per creare un database:
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Crea un database chiamando
rdsadmin.create_database. Per ulteriori informazioni, consulta rdsadmin.create_database.db2 "call rdsadmin.create_database('database_name')" -
(Facoltativo) Crea database aggiuntivi chiamando
rdsadmin.create_databaseper ogni database che desideri creare. Ogni istanza database Db2 può contenere fino a 50 database. Per ulteriori informazioni, consulta rdsadmin.create_database.db2 "call rdsadmin.create_database('database_name')" -
(Facoltativo) Assicurati che il database sia stato creato utilizzando uno dei metodi seguenti:
-
Chiama
rdsadmin.list_databases. Per ulteriori informazioni, consulta rdsadmin.list_databases. -
Esegui il seguente comando SQL:
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"
-
Configurazione delle impostazioni per un database
Per configurare le impostazioni per un database sulla tua istanza database RDS per Db2, chiama la stored procedure rdsadmin.set_configuration. Ad esempio, puoi configurare il numero di buffer o manipolatori di buffer da creare durante un’operazione di ripristino.
Per configurare le impostazioni per un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Facoltativo) Controlla le impostazioni di configurazione correnti chiamando
rdsadmin.show_configuration. Per ulteriori informazioni, consulta rdsadmin.show_configuration.db2 "call rdsadmin.show_configuration('name')" -
Configura le impostazioni per il database chiamando
rdsadmin.set_configuration. Per ulteriori informazioni, consulta rdsadmin.set_configuration.db2 "call rdsadmin.set_configuration( 'name', 'value')"
Modifica dei parametri del database
Amazon RDS per Db2 utilizza tre tipi di parametri: parametri di configurazione del gestore di database, variabili di registro e parametri di configurazione del database. È possibile aggiornare i primi due tipi tramite gruppi di parametri e l’ultimo tipo tramite la stored procedure rdsadmin.update_db_param.
Nota
È possibile modificare solo i valori di parametri esistenti. Non è possibile aggiungere nuovi parametri non supportati da RDS per Db2.
Per ulteriori informazioni su questi parametri e su come modificarne i valori, consulta Parametri di Amazon RDS per Db2.
Configurazione della conservazione dei log
Per configurare il tempo per cui Amazon RDS mantiene i file di log per il tuo database RDS per Db2, chiama la stored procedure rdsadmin.set_archive_log_retention.
Per configurare la conservazione dei log per un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Facoltativo) Controlla la configurazione corrente per la conservazione dei log chiamando
rdsadmin.show_archive_log_retention. Per ulteriori informazioni, consulta rdsadmin.show_archive_log_retention.db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')" -
Configura la conservazione dei log per il database chiamando
rdsadmin.set_archive_log_retention. Per ulteriori informazioni, consulta rdsadmin.set_archive_log_retention.db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"
Elencare le informazioni relative ai log
Per elencare i dettagli sui file di log di archivio, ad esempio la dimensione totale di archiviazione utilizzata, chiama la stored procedure rdsadmin.list_archive_log_information.
Per elencare le informazioni relative ai log per un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Chiama
rdsadmin.list_archive_log_informationper ottenere un elenco di informazioni sui file di log. Per ulteriori informazioni, consulta rdsadmin.list_archive_log_information.db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"
Disattivazione di un database
Per disattivare un database sulla tua istanza database RDS per Db2, chiama la stored procedure rdsadmin.deactivate_database.
Per impostazione predefinita, Amazon RDS attiva un database quando si crea un database su un’istanza database RDS per Db2. È possibile disattivare i database di uso meno frequente per risparmiare risorse di memoria.
Per disattivare un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Disattiva un database chiamando
rdsadmin.deactivate_database. Per ulteriori informazioni, consulta rdsadmin.deactivate_database.db2 "call rdsadmin.deactivate_database( ?, 'database_name')"
Attivazione di un database
Per attivare un database su un’istanza database RDS per Db2 autonoma, chiama la stored procedure rdsadmin.activate_database.
Per impostazione predefinita, Amazon RDS attiva un database quando si crea un database su un’istanza database RDS per Db2. È possibile disattivare i database di uso meno frequente per risparmiare risorse di memoria, quindi attivare in seguito un database disattivato.
Per attivare un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Attiva un database chiamando
rdsadmin.activate_database. Per ulteriori informazioni, consulta rdsadmin.activate_database.db2 "call rdsadmin.activate_database( ?, 'database_name')"
Riattivazione di un database
Per riattivare un database su un’istanza database RDS per Db2 di origine replica, chiama la stored procedure rdsadmin.reactivate_database. Dopo aver apportato modifiche alle configurazioni del database, potrebbe essere necessario riattivare un database su un’istanza database RDS per Db2. Per stabilire se è necessario riattivare un database, connettiti al database ed esegui db2 get db cfg show detail.
Puoi anche chiamare questa stored procedure per riattivare un database su un’istanza database RDS per Db2 autonoma dopo aver apportato modifiche alla configurazione del database. In alternativa, è possibile riattivare un database su un’istanza database RDS per Db2 autonoma chiamando prima la stored procedure rdsadmin.deactivate_database e poi la stored procedure rdsadmin.activate_database. Per ulteriori informazioni, consultare Disattivazione di un database e Attivazione di un database.
Per riattivare un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Riattiva un database chiamando
rdsadmin.reactivate_database. Per ulteriori informazioni, consulta rdsadmin.reactivate_database.db2 "call rdsadmin.reactivate_database( ?, 'database_name')"
Eliminazione di un database.
Per eliminare un database dalla tua istanza database RDS per Db2, chiama la stored procedure rdsadmin.drop_database. Per ulteriori informazioni, consulta Dropping databases
Nota
È possibile eliminare un database chiamando la stored procedure solo se sono soddisfatte determinate condizioni. Per ulteriori informazioni, consulta Note per l'utilizzo per rdsadmin.drop_database.
Per eliminare un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Elimina un database chiamando
rdsadmin.drop_database. Per ulteriori informazioni, consulta rdsadmin.drop_database.db2 "call rdsadmin.drop_database('database_name')"
Ripristino di un database
Per spostare un database da un bucket Amazon S3 alla tua istanza database RDS per Db2, chiama la stored procedure rdsadmin.restore_database. Per ulteriori informazioni, consulta RESTORE DATABASE command
Per ripristinare un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
(Facoltativo) Controlla le impostazioni di configurazione correnti per ottimizzare l’operazione di ripristino chiamando
rdsadmin.show_configuration. Per ulteriori informazioni, consulta rdsadmin.show_configuration.db2 "call rdsadmin.show_configuration('name')" -
Configura le impostazioni per ottimizzare l’operazione di ripristino chiamando
rdsadmin.set_configuration. L’impostazione esplicita di questi valori può migliorare le prestazioni durante il ripristino di database con grandi volumi di dati. Per ulteriori informazioni, consulta rdsadmin.set_configuration.db2 "call rdsadmin.set_configuration( 'name', 'value')" -
Ripristina il database chiamando
rdsadmin.restore_database. Per ulteriori informazioni, consulta rdsadmin.restore_database.db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix',restore_timestamp, 'backup_type')" -
(Facoltativo) Assicurati che il database sia stato ripristinato chiamando
rdsadmin.list_databasese controllando che il database ripristinato sia elencato. Per ulteriori informazioni, consulta rdsadmin.list_databases. -
Riporta online il database e applica ulteriori log delle transazioni chiamando
rdsadmin.rollforward_database. Per ulteriori informazioni, consulta rdsadmin.rollforward_database.db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name',s3_prefix, 'rollforward_to_option', 'complete_rollforward')" -
(Facoltativo) Controlla lo stato della stored procedure
rdsadmin.rollforward_databasechiamando la stored procedure rdsadmin.rollforward_status. -
Se hai impostato
complete_rollforwardsuFALSEnel passaggio precedente, devi terminare di riportare online il database chiamandordsadmin.complete_rollforward. Per ulteriori informazioni, consulta rdsadmin.complete_rollforward.db2 "call rdsadmin.complete_rollforward( ?, 'database_name')" -
(Facoltativo) Controlla lo stato della stored procedure
rdsadmin.complete_rollforwardchiamando la stored procedure rdsadmin.rollforward_status.
Elencare i database
Puoi elencare tutti i database in esecuzione su Amazon RDS per Db2 chiamando la funzione definita dall’utente rdsadmin.list_databases.
Per elencare i tuoi database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Elenca i tuoi database chiamando
rdsadmin.list_databases. Per ulteriori informazioni, consulta rdsadmin.list_databases.db2 "select * from table(rdsadmin.list_databases())"
Raccolta di informazioni sui database
Per raccogliere informazioni su un database su un’istanza database RDS per Db2, chiama la stored procedure rdsadmin.db2pd_command. Queste informazioni possono essere utili per il monitoraggio dei database o per la risoluzione dei problemi.
Per raccogliere informazioni su un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Raccogli informazioni sul database chiamando
rdsadmin.db2pd_command. Per ulteriori informazioni, consulta rdsadmin.db2pd_command.db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
Forzare la disconnessione di applicazioni dai database
Per forzare la disconnessione di applicazioni da un database su un’istanza database RDS per Db2, chiama la stored procedure rdsadmin.force_application. Prima di eseguire la manutenzione dei database, forza la disconnessione delle applicazioni dai database.
Per forzare la disconnessione delle applicazioni da un database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 "connect to rdsadmin usermaster_usernameusingmaster_password" -
Forza la disconnessione delle applicazioni da un database chiamando
rdsadmin.force_application. Per ulteriori informazioni, consulta rdsadmin.force_application.db2 "call rdsadmin.force_application( ?, 'applications')"
Generazione di report sulle prestazioni
È possibile generare report sulle prestazioni con una procedura o uno script. Per informazioni sull’utilizzo di una procedura, consulta DBSUMMARY procedure ‐ Generate a summary report of system and application performance metrics
Db2 include un file db2mon.sh nella sua directory ~sqllib/sample/perf. L’esecuzione dello script produce un report completo e a basso costo sulle metriche SQL. Per scaricare il file db2mon.sh e i file di script correlati, consulta la directory perf
Per generare report sulle prestazioni con lo script
-
Connettiti al database Db2 utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituisci
master_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadminusermaster_usernameusingmaster_password -
Crea un pool di buffer denominato
db2monbpcon una dimensione di pagina 4096 chiamandordsadmin.create_bufferpool. Per ulteriori informazioni, consulta rdsadmin.create_bufferpool.db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)" -
Crea un tablespace temporaneo denominato
db2montmptbspche utilizza il pool di bufferdb2monbpchiamandordsadmin.create_tablespace. Per ulteriori informazioni, consulta rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')" -
Apri lo script
db2mon.she modifica la riga relativa alla connessione a un database.-
Rimuovi la seguente riga.
db2 -v connect to $dbName -
Sostituisci la riga del passaggio precedente con la riga seguente. Nell’esempio seguente, sostituisci
master_usernameemaster_passwordcon il nome utente principale e la password principale per la tua istanza database RDS per Db2.db2 -v connect to $dbName usermaster_usernameusingmaster_password -
Rimuovi le seguenti righe.
db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
-
-
Esegui lo script
db2mon.shper generare un report a determinati intervalli. Nell’esempio seguente, sostituisciabsolute_pathcon il percorso completo del file di script,rds_database_aliascon il nome del database esecondscon il numero di secondi (da 0 a 3600) tra le generazioni di report.absolute_path/db2mon.shrds_database_aliasseconds| tee -a db2mon.outExamples (Esempi)
L’esempio seguente mostra che il file di script si trova nella directory
perfsotto la directoryhome./home/db2inst1/sqllib/samples/perf/db2mon.shrds_database_aliasseconds| tee -a db2mon.out -
Elimina il pool di buffer e il tablespace creati per il file
db2mon.sh. Nell’esempio seguente, sostituiscimaster_usernameemaster_passwordcon il nome utente principale e la password principale per la tua istanza database RDS per Db2. Sostituiscidatabase_namecon il nome del tuo database. Per ulteriori informazioni, consultare rdsadmin.drop_tablespace e 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')"