Stored procedure relative ai database per RDS per Db2
Le stored procedure integrate descritte in questo argomento gestiscono i database per Amazon RDS per Db2. Per eseguire queste procedure, l’utente master deve prima connettersi al database rdsadmin.
Queste stored procedure vengono utilizzate in diverse attività. L'elenco non è completo.
Per informazioni sulla sintassi, i parametri, le note per l’utilizzo e gli esempi, fai riferimento alle seguenti stored procedure integrate.
Stored procedure
rdsadmin.create_database
Crea un database.
Sintassi
db2 "call rdsadmin.create_database('database_name')"
Parametri
Nota
Questa stored procedure non convalida la combinazione dei parametri richiesti. Quando si chiama rdsadmin.get_task_status, la funzione definita dall’utente potrebbe restituire un errore a causa di una combinazione di database_codeset, database_territory e database_collation non valida. Per ulteriori informazioni, consulta Choosing the code page, territory, and collation for your database
Il parametro seguente è obbligatorio:
database_name-
Il nome del database da creare. Il tipo di dati è
varchar.
I parametri seguenti sono facoltativi:
database_page_size-
La dimensione predefinita della pagina del database. Valori validi:
4096,8192,16384,32768. Il tipo di dati èinteger. Il valore predefinito è8192.Importante
Amazon RDS supporta l’atomicità di scrittura per pagine da 4, 8 e 16 KiB. Per contro, le pagine da 32 KiB rischiano di causare scritture incomplete o la scrittura parziale dei dati sul desktop. Se utilizzi pagine da 32 KiB, ti consigliamo di abilitare il recupero point-in-time e i backup automatici. Altrimenti, corri il rischio di non riuscire a recuperare le pagine danneggiate. Per ulteriori informazioni, consulta Introduzione ai backup e Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS.
database_code_set-
Il set di codici per il database. Il tipo di dati è
varchar. Il valore predefinito èUTF-8. database_territory-
Il codice di due lettere del paese per il database. Il tipo di dati è
varchar. Il valore predefinito èUS. database_collation-
La sequenza di regole di confronto che determina il modo in cui le stringhe di caratteri archiviate nel database vengono ordinate e confrontate. Il tipo di dati è
varchar.Valori validi:
-
COMPATIBILITY: una sequenza di regole di confronto IBM Db2 versione 2. -
EBCDIC_819_037: tabella codici ISO alfabeto latino, regole di confronto; CCSID 037 (EBCDIC inglese statunitense). -
EBCDIC_819_500: tabella codici ISO alfabeto latino, regole di confronto; CCSID 500 (EBCDIC internazionale). -
EBCDIC_850_037: tabella codici ASCII alfabeto latino, regole di confronto; CCSID 037 (EBCDIC inglese statunitense). -
EBCDIC_850_500: tabella codici ASCII alfabeto latino, regole di confronto; CCSID 500 (EBCDIC internazionale). -
EBCDIC_932_5026: tabella codici ASCII alfabeto giapponese, regole di confronto; CCSID 5026 (EBCDIC inglese statunitense). -
EBCDIC_932_5035: tabella codici ASCII alfabeto giapponese, regole di confronto; CCSID 5035 (EBCDIC internazionale). -
EBCDIC_1252_037: tabella codici Windows alfabeto latino, regole di confronto; CCSID 037 (EBCDIC inglese statunitense). -
EBCDIC_1252_500: tabella codici Windows alfabeto latino, regole di confronto; CCSID 500 (EBCDIC internazionale). -
IDENTITY: regole di confronto predefinite. Le stringhe vengono confrontate byte per byte. -
IDENTITY_16BIT: lo schema di codifica di compatibilità per UTF-16: sequenza di regole di confronto a 8 bit (CESU-8). Per ulteriori informazioni, consulta l’Unicode Technical Report #26sul sito web Unicode Consortium. -
NLSCHAR: da utilizzare solo con la tabella codici alfabeto thailandese (CP874). -
SYSTEM: se utilizziSYSTEM, il database applica automaticamente la sequenza di regole di confronto perdatabase_codesetedatabase_territory.
Il valore predefinito è
IDENTITY.Inoltre, RDS per Db2 supporta i seguenti gruppi di regole di confronto:
language-aware-collationelocale-sensitive-collation. Per ulteriori informazioni, consulta Choosing a collation for a Unicode databasenella documentazione di IBM Db2. -
database_autoconfigure_str-
La sintassi del comando
AUTOCONFIGURE, ad esempio'AUTOCONFIGURE APPLY DB'. Il tipo di dati èvarchar. L’impostazione predefinita è una stringa vuota o null.Per ulteriori informazioni, consulta AUTOCONFIGURE command
nella documentazione di IBM Db2.
Note per l'utilizzo
Se intendi modificare il parametro db2_compatibility_vector, modificalo prima di creare un database. Per ulteriori informazioni, consulta Impostazione del parametro db2_compatibility_vector.
Considerazioni speciali:
-
Il comando
CREATE DATABASEinviato all’istanza Db2 utilizza l’opzioneRESTRICTIVE. -
RDS per Db2 utilizza solo tablespace
AUTOMATIC STORAGE. -
RDS per Db2 utilizza i valori predefiniti per
NUMSEGSeDFT_EXTENT_SZ. -
RDS per Db2 utilizza la crittografia dell’archiviazione e non supporta la crittografia del database.
Per ulteriori informazioni su queste considerazioni, consulta CREATE DATABASE command
Prima di chiamare rdsadmin.create_database, è necessario connettersi al database rdsadmin. Nell’esempio seguente, sostituisci master_username e master_password con le tue credenziali per l’istanza database RDS per Db2.
db2 connect to rdsadmin usermaster_usernameusingmaster_password
Per informazioni su come verificare lo stato della creazione di un database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.create_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente viene creato un database chiamato TESTJP con una combinazione corretta dei parametri database_code_set, database_territory e database_collation per il Giappone:
db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"
rdsadmin.deactivate_database
Disattiva un database.
Sintassi
db2 "call rdsadmin.deactivate_database( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database da disattivare. Il tipo di dati è
varchar.
Note per l'utilizzo
È possibile disattivare i database per risparmiare risorse di memoria o per apportare altre modifiche alla configurazione del database. Per riportare online i database disattivati, chiama la stored procedure rdsadmin.activate_database.
Non è possibile disattivare un database su un’istanza database di origine durante la replica chiamando la stored procedure rdsadmin.deactivate_database.
Per informazioni su come verificare lo stato della disattivazione di un database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.deactivate_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente viene disattivato un database denominato TESTDB.
db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"
rdsadmin.activate_database
Attiva un database.
Per ulteriori informazioni sulla differenza tra rdsadmin.reactivate_database e rdsadmin.activate_database, consulta Note per l'utilizzo.
Sintassi
db2 "call rdsadmin.activate_database( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database da attivare. Il tipo di dati è
varchar.
Note per l'utilizzo
Tutti i database vengono attivati per impostazione predefinita al momento della creazione. Se per risparmiare risorse di memoria o apportare altre modifiche alla configurazione del database si disattiva un database su un’istanza database autonoma, chiama la stored procedure rdsadmin.activate_database per riattivarlo.
Questa stored procedure attiva solo un database che si trova su un’istanza database autonoma e che è stato disattivato chiamando la stored procedure rdsadmin.deactivate_database. Per attivare un database su un’istanza database di origine di replica, è necessario chiamare la stored procedure rdsadmin.reactivate_database.
Per informazioni su come verificare lo stato dell’attivazione di un database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.activate_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente viene attivato un database denominato TESTDB.
db2 "call rdsadmin.activate_database(?, 'TESTDB')"
rdsadmin.reactivate_database
Riattiva un database.
Per informazioni sulle differenze tra rdsadmin.activate_database e rdsadmin.reactivate_database, consulta Note per l'utilizzo.
Sintassi
db2 "call rdsadmin.reactivate_database( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database da riattivare. Il tipo di dati è
varchar.
Note per l'utilizzo
Quando si chiama la stored procedure rdsadmin.reactivate_database, questa prima disattiva il database chiamando la stored procedure rdsadmin.deactivate_database, quindi lo attiva chiamando la stored procedure rdsadmin.activate_database.
Dopo aver apportato modifiche alle configurazioni dei 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.
Per un database su un’istanza database autonoma, per la riattivazione è possibile utilizzare la stored procedure rdsadmin.reactivate_database. Oppure, se hai già chiamato la stored procedure rdsadmin.deactivate_database, puoi invece chiamare la stored procedure rdsadmin.activate_database.
Per un database su un’istanza database di origine di replica, per la riattivazione è necessario utilizzare la stored procedure rdsadmin.reactivate_database.
Per informazioni su come verificare lo stato della riattivazione di un database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.reactivate_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente viene riattivato un database denominato TESTDB.
db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"
rdsadmin.drop_database
Rimuovi un database.
Sintassi
db2 "call rdsadmin.drop_database('database_name')"
Parametri
Il parametro seguente è obbligatorio:
database_name-
Nome del database da rimuovere. Il tipo di dati è
varchar.
Note per l'utilizzo
È possibile eliminare un database chiamando rdsadmin.drop_database solo se sono soddisfatte le seguenti condizioni:
-
Non hai specificato il nome del database quando hai creato l’istanza database RDS per Db2 utilizzando la console Amazon RDS o la AWS CLI. Per ulteriori informazioni, consulta Creazione di un'istanza database.
-
Hai creato il database chiamando la stored procedure rdsadmin.create_database.
-
Hai ripristinato il database da un’immagine offline o di cui è stato eseguito il backup chiamando la stored procedure rdsadmin.restore_database.
Prima di chiamare rdsadmin.drop_database, è necessario connettersi al database rdsadmin. Nell’esempio seguente, sostituisci master_username e master_password con le tue credenziali per l’istanza database RDS per Db2.
db2 connect to rdsadmin usermaster_usernameusingmaster_password
Per informazioni su come verificare lo stato dell’eliminazione di un database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.drop_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente viene rimosso un database denominato TESTDB.
db2 "call rdsadmin.drop_database('TESTDB')"
rdsadmin.update_db_param
Aggiorna i parametri del database.
Sintassi
db2 "call rdsadmin.update_db_param( 'database_name', 'parameter_to_modify', 'changed_value', 'restart_database')"
Parametri
I parametri seguenti sono obbligatori:
database_name-
Il nome del database per cui eseguire l’attività. Il tipo di dati è
varchar. parameter_to_modify-
Il nome del parametro da modificare. Il tipo di dati è
varchar. Per ulteriori informazioni, consulta Parametri di Amazon RDS per Db2. changed_value-
Il valore in cui modificare il valore del parametro. Il tipo di dati è
varchar.
Il parametro seguente è facoltativo:
restart_database-
Specifica se RDS riavvia il database in caso fosse necessario un riavvio. Il tipo di dati è
varchar. Per modificarelogprimaryelogfilsiz, imposta questo parametro su'YES'.
Note per l'utilizzo
Per informazioni su come verificare lo stato dell’aggiornamento dei parametri del database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.update_db_param, consulta Errori delle stored procedure.
Esempi
Esempio 1: aggiornamento di un parametro
Nell’esempio seguente il parametro archretrydelay viene aggiornato a 100 per un database chiamato TESTDB:
db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"
Esempio 2: rinvio della convalida degli oggetti
Nell’esempio seguente viene posticipata la convalida degli oggetti creati su un database denominato TESTDB per evitare il controllo delle dipendenze:
db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"
rdsadmin.set_configuration
Configura impostazioni specifiche per il database.
Sintassi
db2 "call rdsadmin.set_configuration( 'name', 'value')"
Parametri
I parametri seguenti sono obbligatori:
name-
Il nome dell’impostazione di configurazione. Il tipo di dati è
varchar. value-
Il valore dell’impostazione di configurazione. Il tipo di dati è
varchar.
Note per l'utilizzo
La tabella riportata di seguito mostra le impostazioni di configurazione che è possibile controllare con rdsadmin.set_configuration.
| Nome | Descrizione |
|---|---|
|
|
Il numero di buffer da creare durante un’operazione di ripristino. Questo valore deve essere inferiore alla dimensione totale della memoria della classe dell’istanza database. Se questa impostazione non è configurata, Db2 determina il valore da utilizzare durante l’operazione di ripristino. Per ulteriori informazioni, consulta la documentazione relativa ad IBM Db2 |
|
|
Il numero di manipolatori di buffer da creare durante un’operazione di ripristino. Questo valore deve essere inferiore al doppio del numero di vCPU per l’istanza database. Se questa impostazione non è configurata, Db2 determina il valore da utilizzare durante l’operazione di ripristino. Per ulteriori informazioni, consulta la documentazione relativa ad IBM Db2 |
Esempi
Esempio 1: specifica del numero di manipolatori di buffer da creare
Nell’esempio seguente, la configurazione RESTORE_DATABASE_PARALLELISM viene impostata su 8.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"
Esempio 2: specifica del numero di buffer da creare
Nell’esempio seguente, la configurazione RESTORE_DATABASE_NUM_BUFFERS viene impostata su 150.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"
rdsadmin.show_configuration
Restituisce le impostazioni correnti che è possibile definire utilizzando la stored procedure rdsadmin.set_configuration.
Sintassi
db2 "call rdsadmin.show_configuration( 'name')"
Parametri
Il parametro seguente è facoltativo:
name-
Il nome dell’impostazione di configurazione per cui restituire informazioni. Il tipo di dati è
varchar.Le opzioni di configurazione valide sono:
-
RESTORE_DATABASE_NUM_BUFFERS: il numero di buffer da creare durante un’operazione di ripristino.
-
RESTORE_DATABASE_PARALLELISM: il numero di manipolatori di buffer da creare durante un’operazione di ripristino.
-
Note per l'utilizzo
Se non si specifica il nome di un’impostazione di configurazione, rdsadmin.show_configuration restituisce informazioni per tutte le impostazioni di configurazione che è possibile definire utilizzando la stored procedure rdsadmin.set_configuration.
Esempi
Nell’esempio seguente vengono restituite informazioni sulla configurazione RESTORE_DATABASE_PARALLELISM corrente.
db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"
rdsadmin.restore_database
Ripristina un database da un bucket Amazon S3 su un’istanza database RDS per Db2.
Sintassi
db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix',restore_timestamp, 'backup_type')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
I parametri di input seguenti sono obbligatori:
database_name-
Il nome del database di destinazione da ripristinare in RDS per Db2. Il tipo di dati è
varchar.Ad esempio, se il nome del database di origine era
TESTDBe hai impostatodatabase_namesuNEWDB, Amazon RDS esegue il ripristino diNEWDBcome database di origine. s3_bucket_name-
Il nome del bucket Amazon S3 in cui risiede il backup. Il tipo di dati è
varchar. s3_prefix-
Il prefisso da utilizzare per la corrispondenza dei file durante il download. Il tipo di dati è
varchar.Se questo parametro è vuoto, tutti i file verranno scaricati nel bucket Amazon S3. Di seguito è riportato un prefisso di esempio.
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 restore_timestamp-
Il timestamp dell’immagine di backup del database. Il tipo di dati è
varchar.Il timestamp è incluso nel nome del file di backup. Ad esempio,
20230615010101è il timestamp del nome fileSAMPLE.0.rdsdb.DBPART000.20230615010101.001. backup_type-
Il tipo di backup. Il tipo di dati è
varchar. Valori validi:OFFLINE,ONLINE.Utilizza
ONLINEper migrazioni con tempo di inattività prossimo allo zero. Per ulteriori informazioni, consulta Migrazione da Linux a Linux con tempo di inattività quasi nullo per Amazon RDS per Db2.
Note per l'utilizzo
È possibile utilizzare questa stored procedure per eseguire la migrazione di un’istanza database Db2 a un’istanza database RDS per Db2. Per ulteriori informazioni, consulta Utilizzo dei servizi AWS per migrare i dati da Db2 ad Amazon RDS per Db2. È inoltre possibile utilizzare questa stored procedure per creare più copie dello stesso database con nomi di database diversi che utilizzano la stessa immagine di ripristino.
Prima di chiamare la stored procedure, esamina le seguenti considerazioni:
-
Prima di ripristinare un database, è necessario eseguire il provisioning dello spazio di archiviazione per l’istanza database RDS per Db2, che è uguale o superiore alla somma delle dimensioni del backup e della dimensione del database Db2 originale su disco. Per ulteriori informazioni, consulta Insufficient disk space.
-
Quando ripristini il backup, Amazon RDS estrae il file di backup sulla tua istanza database RDS per Db2. Ogni file di backup deve avere una dimensione pari o inferiore a 5 TB. Se un file di backup supera i 5 TB, devi dividerlo in file più piccoli.
-
Per ripristinare tutti i file utilizzando la stored procedure
rdsadmin.restore_database, non includere nei nomi dei file il suffisso numerico del file dopo il timestamp. Ad esempio,s3_prefixbackupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101ripristina i seguenti file: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 per Db2 non supporta l’archiviazione non automatica. Per ulteriori informazioni, consulta Tablespaces not restored.
-
RDS per Db2 non supporta routine non recintate. Per ulteriori informazioni, consulta Non-fenced routines not allowed.
-
Per migliorare le prestazioni delle operazioni di ripristino del database, è possibile configurare il numero di buffer e di manipolatori di buffer da utilizzare con RDS. Per controllare la configurazione corrente, utilizza rdsadmin.show_configuration. Per modificare la configurazione, utilizza rdsadmin.set_configuration.
Per portare il database online e applicare log delle transazioni aggiuntivi dopo il ripristino del database, consulta rdsadmin.rollforward_database.
Per informazioni su come verificare lo stato del ripristino del database, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante la chiamata di rdsadmin.restore_database, consulta Errori delle stored procedure.
Esempi
Nell’esempio seguente, un backup offline viene ripristinato con uno o più file con 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
Porta il database online e applica log delle transazioni aggiuntivi dopo aver ripristinato un database chiamando rdsadmin.restore_database.
Sintassi
db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name',s3_prefix, 'rollforward_to_option', 'complete_rollforward')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
I parametri di input seguenti sono obbligatori:
database_name-
Il nome del database su cui eseguire l’operazione. Il tipo di dati è
varchar. s3_bucket_name-
Il nome del bucket Amazon S3 in cui risiede il backup. Il tipo di dati è
varchar. s3_prefix-
Il prefisso da utilizzare per la corrispondenza dei file durante il download. Il tipo di dati è
varchar.Se questo parametro è vuoto, tutti i file verranno scaricati nel bucket S3. Di seguito è riportato un prefisso di esempio.
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
I parametri seguenti sono facoltativi:
rollforward_to_option-
Il punto verso cui vuoi effettuare il roll forward. Il tipo di dati è
varchar. Valori validi:END_OF_LOGS,END_OF_BACKUPcon il timestamp nel formatoYYYY-MM-DD-HH.MM.SS. Il valore predefinito èEND_OF_LOGS. complete_rollforward-
Specifica se completare il processo di roll-forward. Il tipo di dati è
varchar. Il valore predefinito èTRUE.Se
TRUE, dopo il completamento il database è online e accessibile. SeFALSE, allora il database rimane in uno statoROLL-FORWARD PENDING.
Note per l'utilizzo
È possibile utilizzare rds.rollforward_database per un backup online che includa i log prodotti on-premises in molti scenari diversi.
Scenario 1: ripristino del database, roll forward dei log inclusi e messa online del database
Al termine di rdsadmin.restore_database(), utilizza la sintassi indicata nell’Esempio 1 per portare online il database con i log delle transazioni.
Scenario 2: messa online del database senza roll forward dei log inclusi.
Al termine di rdsadmin.restore_database(), utilizza la sintassi indicata nell’Esempio 2 per portare online il database senza i log delle transazioni.
Scenario 3: roll forward dei log inclusi nel backup e applicazione di log delle transazioni aggiuntivi man mano che vengono prodotti on-premises
Al termine del rdsadmin.restore_database(), utilizza la sintassi indicata nell’Esempio 3 o Esempio 4 per effettuare il roll forward dei log senza portare online il database.
Se imposti complete_rollforward su FALSE, il database è in uno stato ROLL-FORWARD PENDING e offline. Per portare il database online, devi chiamare rdsadmin.complete_rollforward.
Per informazioni su come verificare lo stato del roll-forward del database, consulta rdsadmin.rollforward_status.
Esempi
Esempio 1: messa online del database con i log delle transazioni
Nell’esempio seguente viene effettuato il roll forward a un backup online del database con i log delle transazioni con successiva messa online del database:
db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"
Esempio 2: messa online del database senza i log delle transazioni
Nell’esempio seguente viene effettuato il roll forward a un backup online del database senza i log delle transazioni con successiva messa online del database:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"
Esempio 3: messa online del database con i log delle transazioni non eseguita
Nell’esempio seguente viene effettuato il roll forward a un backup online del database con i log delle transazioni senza successiva messa online del database:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"
Esempio 4: messa online del database con log delle transazioni aggiuntivi non eseguita
Nell’esempio seguente viene effettuato il roll forward a un backup online del database con i log delle transazioni aggiuntivi senza successiva messa online del database:
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"
rdsadmin.rollforward_status
Restituisce l’output di ROLLFORWARD DATABASE
.database_name QUERY STATUS
Sintassi
db2 "call rdsadmin.rollforward_status( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database su cui eseguire l’operazione. Il tipo di dati è
varchar.
Note per l'utilizzo
Dopo aver chiamato rdsadmin.rollforward_database, puoi chiamare rdsadmin.rollforward_status per verificare lo stato del roll forward nel database.
Per informazioni su come verificare lo stato di questa stored procedure, consulta rdsadmin.get_task_status.
rdsadmin.complete_rollforward
Porta il database online da uno stato ROLL-FORWARD PENDING.
Sintassi
db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database che desideri portare online. Il tipo di dati è
varchar.
Note per l'utilizzo
Se hai chiamato rdsadmin.rollforward_database con complete_rollforward impostato su FALSE, il tuo database è in uno stato ROLL-FORWARD PENDING e offline. Per completare il roll forward e portare il database online, chiama rdsadmin.complete_rollforward.
Per informazioni su come verificare lo stato del completamento del processo di roll-forward, consulta rdsadmin.rollforward_status.
Esempi
Nell’esempio seguente il database TESTDB viene portato online:
db2 "call rdsadmin.complete_rollforward( ?, 'TESTDB')"
rdsadmin.db2pd_command
Raccoglie informazioni su un database RDS per Db2.
Sintassi
db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
Parametri
Il parametro di input seguente è obbligatorio:
db2pd_cmd-
Il nome del comando
db2pdche desideri eseguire. Il tipo di dati èvarchar.Il parametro deve iniziare con un trattino. Per un elenco di parametri, consulta db2pd - Monitor and troubleshoot Db2 database command
nella documentazione di IBM Db2. Le seguenti opzioni non sono supportate:
-
-addnode -
-alldatabases -
-alldbp -
-alldbs -
-allmembers -
-alm_in_memory -
-cfinfo -
-cfpool -
-command -
-dbpartitionnum -
-debug -
-dump -
-everything -
-file | -o -
-ha -
-interactive -
-member -
-pagesNota
-pages summaryè supportato. -
-pdcollection -
-repeat -
-stack -
-totalmem
L’opzione secondaria
filenon è supportata, ad esempiodb2pd -db testdb -tcbstats file=tcbstat.out.L’utilizzo dell’opzione
stacksnon è supportato, ad esempiodb2pd -edus interval=5 top=10 stacks. -
Note per l'utilizzo
Questa stored procedure raccoglie informazioni che possono contribuire al monitoraggio e alla risoluzione dei problemi dei database RDS per Db2.
La stored procedure ricorre all’utility IBM db2pd per eseguire vari comandi. L’utility db2pd richiede l’autorizzazione SYSADM, di cui l’utente master RDS per Db2 non dispone. Tuttavia, con la stored procedure di Amazon RDS, l’utente master è in grado di ricorrere all’utility per eseguire vari comandi. Per ulteriori informazioni sull’utility, consulta db2pd - Monitor and troubleshoot Db2 database command
L’output è limitato a un massimo di 2 GB.
Per informazioni su come verificare lo stato della raccolta delle informazioni sul database, consulta rdsadmin.get_task_status.
Esempi
Esempio 1: restituzione del tempo di attività dell’istanza database
Nell’esempio seguente viene restituito il tempo di attività di un’istanza database RDS per Db2:
db2 "call rdsadmin.db2pd_command('-')"
Esempio 2: restituzione del tempo di attività del database
Nell’esempio seguente viene restituito il tempo di attività di un database denominato TESTDB:
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
Esempio 3: restituzione dell’utilizzo della memoria di un’istanza database
Nell’esempio seguente viene restituito l’utilizzo della memoria di un’istanza database RDS per Db2:
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
Esempio 4: restituzione di set di memoria dell’istanza database e del database
Nell’esempio seguente vengono restituiti i set di memoria di un’istanza database RDS per Db2 e di un database denominato TESTDB:
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
rdsadmin.force_application
Forza la disconnessione delle applicazioni da un database RDS per Db2.
Sintassi
db2 "call rdsadmin.force_application( ?, 'applications')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
applications-
Le applicazioni che desideri disconnettere da un database RDS per Db2. Il tipo di dati è
varchar. Valori validi:ALLoapplication_handle.Separa i nomi di più applicazioni con virgole. Esempio: '
application_handle_1,application_handle_2'.
Note per l'utilizzo
Questa stored procedure forza la disconnessione tutte le applicazioni da un database in modo da poter eseguire la manutenzione.
La stored procedure utilizza il comando IBM FORCE APPLICATION. Il comando FORCE APPLICATION richiede l’autorizzazione SYSADM, SYSMAINT o SYSCTRL, di cui l’utente master RDS per Db2 non dispone. Tuttavia, con la stored procedure di Amazon RDS, l’utente master è in grado di utilizzare il comando. Per ulteriori informazioni, consulta FORCE APPLICATION command
Per informazioni sulla verifica dello stato dell’esclusione di applicazioni da un database, consulta rdsadmin.get_task_status.
Esempi
Esempio 1: specifica di tutte le applicazioni
Nell’esempio seguente viene forzata la disconnessione di tutte le applicazioni da un database RDS per Db2:
db2 "call rdsadmin.force_application( ?, 'ALL')"
Esempio 2: specificazione di più applicazioni
Nell’esempio seguente viene forzata la disconnessione degli handle 9991, 8891 e 1192 da un database RDS per Db2:
db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"
rdsadmin.set_archive_log_retention
Configura la quantità di tempo (in ore) della conservazione dei file di log archiviati per il database RDS per Db2 specificato.
Sintassi
db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
I parametri di input seguenti sono obbligatori:
database_name-
Il nome del database per cui configurare la conservazione dei log archiviati. Il tipo di dati è
varchar. archive_log_retention_hours-
Il numero di ore della conservazione dei file di log archiviati. Il tipo di dati è
smallint. Il valore predefinito è0e il valore massimo è168(7 giorni).Se il valore è
0, Amazon RDS non conserva i file di log archiviati.
Note per l'utilizzo
Per impostazione predefinita, RDS per Db2 conserva i log per 5 minuti. È consigliabile utilizzare strumenti di replica come AWS DMS per l’acquisizione dei dati di modifica (CDC) o IBM Q Replication e impostare in tali strumenti un tempo di conservazione dei log superiore a 5 minuti.
Per visualizzare l’impostazione corrente di conservazione dei log archiviati, chiama rdsadmin.show_archive_log_retention.
Non è possibile configurare l’impostazione di conservazione dei log archiviati nel database rdsadmin.
Esempi
Esempio 1: impostazione del tempo di conservazione
Nell’esempio seguente, il tempo di conservazione dei log archiviati per un database denominato TESTDB viene impostato su 24 ore.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
Esempio 2: disabilitazione del tempo di conservazione
Nell’esempio seguente, il tempo di conservazione dei log archiviati per un database denominato TESTDB viene disabilitato.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"
rdsadmin.show_archive_log_retention
Restituisce l’impostazione corrente di conservazione dei log archiviati per il database specificato.
Sintassi
db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database di cui visualizzare l’impostazione di conservazione dei log archiviati. Il tipo di dati è
varchar.
Esempi
Nell’esempio seguente viene mostrata l’impostazione del tempo di conservazione dei log archiviati per un database denominato TESTDB.
db2 "call rdsadmin.show_archive_log_retention( ? 'TESTDB')"
rdsadmin.list_archive_log_information
Restituisce dettagli sui file di log archiviati, come la dimensione, la data e l’ora di creazione e il nome dei singoli file di log, per il database specificato. Restituisce inoltre la quantità totale di archiviazione utilizzata dai file di log nel database.
Sintassi
db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"
Parametri
Il parametro di output seguente è obbligatorio:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo
?
Il parametro di input seguente è obbligatorio:
database_name-
Il nome del database di cui visualizzare le informazioni relative ai log archiviati. Il tipo di dati è
varchar.
Esempi
Nell’esempio seguente vengono restituite le informazioni relative ai log archiviati per un database denominato TESTDB.
db2 "call rdsadmin.list_archive_log_information( ? 'TESTDB')"