Stored procedure relative ai database per RDS per Db2 - Amazon Relational Database Service

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.

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 nella documentazione di IBM Db2.

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 #26 sul sito web Unicode Consortium.

  • NLSCHAR: da utilizzare solo con la tabella codici alfabeto thailandese (CP874).

  • SYSTEM: se utilizzi SYSTEM, il database applica automaticamente la sequenza di regole di confronto per database_codeset e database_territory.

Il valore predefinito è IDENTITY.

Inoltre, RDS per Db2 supporta i seguenti gruppi di regole di confronto: language-aware-collation e locale-sensitive-collation. Per ulteriori informazioni, consulta Choosing a collation for a Unicode database nella 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 DATABASE inviato all’istanza Db2 utilizza l’opzione RESTRICTIVE.

  • RDS per Db2 utilizza solo tablespace AUTOMATIC STORAGE.

  • RDS per Db2 utilizza i valori predefiniti per NUMSEGS e DFT_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 nella documentazione di IBM Db2.

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 user master_username using master_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 user master_username using master_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 modificare logprimary e logfilsiz, 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

RESTORE_DATABASE_NUM_BUFFERS

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.

RESTORE_DATABASE_PARALLELISM

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 TESTDB e hai impostato database_name su NEWDB, Amazon RDS esegue il ripristino di NEWDB come 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 file SAMPLE.0.rdsdb.DBPART000.20230615010101.001.

backup_type

Il tipo di backup. Il tipo di dati è varchar. Valori validi: OFFLINE, ONLINE.

Utilizza ONLINE per 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_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 ripristina 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_BACKUP con il timestamp nel formato YYYY-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. Se FALSE, allora il database rimane in uno stato ROLL-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 db2pd che 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

  • -pages

    Nota

    -pages summary è supportato.

  • -pdcollection

  • -repeat

  • -stack

  • -totalmem

L’opzione secondaria file non è supportata, ad esempio db2pd -db testdb -tcbstats file=tcbstat.out.

L’utilizzo dell’opzione stacks non è supportato, ad esempio db2pd -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 nella documentazione di IBM Db2.

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: ALL o application_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 nella documentazione di IBM Db2.

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 è 0 e 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')"