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

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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', 'database_page_size', 'database_code_set', 'database_territory', 'database_collation', 'database_autoconfigure_str', 'database_non-restrictive')"

Parameters

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. Al contrario, le pagine da 32 KB rischiano scritture strappate o la scrittura di dati parziali sul disco. Se utilizzi pagine da 32 KiB, ti consigliamo di abilitare il point-in-time ripristino e i backup automatici. Altrimenti, corri il rischio di non riuscire a recuperare le pagine danneggiate. Per ulteriori informazioni, consultare 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 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.

database_non-restrictive

La concessione di autorità e privilegi predefiniti all'interno del database. Il tipo di dati è varchar. Il valore predefinito è N.

Valori validi:

  • N— Il database creato è restrittivo e non concede autorità o privilegi.

  • Y— Il database creato non è restrittivo e concede una serie di autorizzazioni al gruppo speciale. PUBLIC Per ulteriori informazioni, consulta Privilegi predefiniti concessi per la creazione di un database nella documentazione. 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 informazioni sull'istanza DB RDS for 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

L'esempio seguente crea un database chiamato TESTJP con una combinazione corretta di database_code_setdatabase_territory, e database_collation parametri 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')"

Parameters

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')"

Parameters

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')"

Parameters

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')"

Parameters

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 informazioni sull'istanza DB RDS for 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')"

Parameters

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')"

Parameters

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 Description

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, vedete il comando RESTORE DATABASE nella IBM Db2 documentazione.

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 v CPUs per l'istanza DB. Se questa impostazione non è configurata, Db2 determina il valore da utilizzare durante l’operazione di ripristino. Per ulteriori informazioni, vedete il comando RESTORE DATABASE nella IBM Db2 documentazione.

RESTORE_DATABASE_NUM_MULTI_PATHS

Il numero di percorsi (o I/O stream) da utilizzare durante un ripristino da un'operazione di Amazon S3. Per utilizzare questa impostazione di configurazione, è necessario disporre di più file di backup. Questo valore può migliorare le prestazioni durante il ripristino di database con grandi volumi di dati perché ripristina più file di backup del database in parallelo. Si consiglia di impostare questo valore in modo che corrisponda al numero dei file di backup del database. Per ulteriori informazioni, vedere il comando BACKUP DATABASE nella IBM Db2 documentazione.

USE_STREAMING_RESTORE

Speciifica se eseguire lo streaming dei dati di backup direttamente durante il ripristino anziché scaricare prima l'intero backup sull'istanza DB RDS for Db2 e poi estrarlo. L'impostazione USE_STREAMING_RESTORE su riduce TRUE in modo significativo i requisiti di archiviazione e può migliorare le prestazioni di ripristino. Questa impostazione richiede la versione 11.5.9.0.sb00063198.r1 o successiva del motore IBM Db2 e la connettività Amazon S3 tramite l'elastic network interface (ENI) del database. Per ulteriori informazioni, consulta IBM Db2 Storage remoto nella documentazione.

Esempi

Esempio 1: Specificazione 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')"

Esempio 2: Specificazione 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 3: Specificazione del numero di percorsi o I/O stream da utilizzare durante il ripristino

Nell’esempio seguente, la configurazione RESTORE_DATABASE_NUM_MULTI_PATHS viene impostata su 5.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_MULTI_PATHS', '5')"

Esempio 4: impostazione del ripristino per lo streaming dei dati di backup

Nell’esempio seguente, la configurazione USE_STREAMING_RESTORE viene impostata su TRUE.

db2 "call rdsadmin.set_configuration( 'USE_STREAMING_RESTORE', 'TRUE')"

rdsadmin.show_configuration

Restituisce le impostazioni correnti che è possibile definire utilizzando la stored procedure rdsadmin.set_configuration.

Sintassi

db2 "call rdsadmin.show_configuration( 'name')"

Parameters

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.

  • RESTORE_DATABASE_NUM_MULTI_PATHS— Il numero di percorsi (o I/O stream) da utilizzare durante un ripristino da un'operazione di ripristino da Amazon S3.

  • USE_STREAMING_RESTORE— Speciifica se eseguire lo streaming dei dati di backup direttamente durante il ripristino anziché scaricare prima tutti i dati di backup sull'istanza DB RDS for Db2 e poi estrarli.

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.backup_database

Esegue il backup di un database da un'istanza DB RDS for Db2 su un bucket Amazon S3.

Sintassi

db2 "call rdsadmin.backup_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', 'backup_type', 'compression_option', 'util_impact_priority', 'num_files', 'parallelism', 'num_buffers')"

Parameters

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 su un'istanza DB RDS for Db2 di cui eseguire il backup. Il tipo di dati è varchar.

Il database deve esistere nell'istanza DB. Non è possibile eseguire il backup del rdsadmin database.

s3_bucket_name

Il nome del bucket Amazon S3 in cui desideri che risieda il backup. Il tipo di dati è varchar.

Il bucket S3 deve esistere prima della chiamatardsadmin.backup_database, trovarsi nello stesso database di destinazione nell'istanza DB RDS for Db2 di cui desideri eseguire il backup ed essere accessibile tramite il Regione AWS ruolo IAM associato all'istanza DB.

s3_prefix

Il prefisso del percorso verso Amazon S3 in cui RDS per Db2 carica i file di backup. Il tipo di dati è varchar.

Il prefisso è limitato a 1024 caratteri. Non deve includere una barra iniziale o finale (/). A causa di una limitazione IBM dello streaming su Amazon S3, consigliamo che il prefisso includa le sottodirectory.

Per una migliore gestione dei file, RDS for Db2 crea directory aggiuntive in seguito. s3_prefix RDS for Db2 carica tutti i file di backup su. s3_prefix/dbi_resource_id/db_name Se si imposta un num_files valore superiore a1, la db_name directory conterrà più di un file di backup.

Di seguito è riportato un esempio di posizione Amazon S3 per i file di backup. Nell'esempio, backups/daily è il valore impostato per il s3_prefix parametro.

backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
backup_type

Il tipo di backup che determina se il database rimane disponibile durante il backup. Il tipo di dati è varchar.

Valori validi:

  • OFFLINE— Il database non è disponibile durante il backup. Questo tipo è più veloce, ma causa tempi di inattività.

  • ONLINE— Il database rimane disponibile durante il backup. Per impostazione predefinita, ONLINE è impostato su INCLUDE LOGS.

I parametri seguenti sono facoltativi:

compression_option

Il tipo di algoritmo di compressione utilizzato che influisce sui tempi di backup, sull'utilizzo della CPU e sui costi di archiviazione. Il tipo di dati è varchar. Il valore predefinito è NONE.

Valori validi:

  • NONE— La dimensione del file più grande, il minor utilizzo della CPU e i costi di archiviazione più bassi.

  • STANDARD— Compressione Db2 standard. Usilibdb2compr.so.

  • ZLIB— Compressione Db2 migliorata. Utilizzalibdb2zcompr.so, ma richiede un uso più intensivo della CPU e il costo di archiviazione più costoso.

util_impact_priority

L'impostazione che controlla l'impatto del backup sulle risorse di sistema. Il tipo di dati è integer. Valori validi: 1100 (dal più basso al più alto). Il valore predefinito è 50.

Valori inferiori riducono l'impatto del backup sulle risorse di sistema, ma possono aumentare il tempo necessario per eseguire il backup del database. Valori più elevati potrebbero completare il backup del database più rapidamente, ma potrebbero influire su altre operazioni. L'impatto effettivo dipende dall'utilizzo complessivo del sistema e dall'util_impact_limimpostazione. È possibile visualizzare e modificare l'util_impact_limimpostazione in gruppi di parametri. Per ulteriori informazioni, consulta Parametri di Amazon RDS per Db2.

num_files

Il numero di flussi di caricamento paralleli su Amazon S3. Il tipo di dati è integer. Valori validi: 1-256.

Ti consigliamo di impostare questo parametro solo dopo aver osservato le prestazioni di backup ai valori predefiniti calcolati automaticamente da Amazon RDS. Valori più alti potrebbero migliorare le prestazioni per i backup di grandi dimensioni, in particolare con connessioni a larghezza di banda elevata, ma a un certo punto, valori più alti peggiorano le prestazioni. Inoltre, assicurati di tenere conto delle risorse di sistema disponibili e della capacità di rete.

parallelism

Il numero di tablespace che l'utilità di backup può leggere in parallelo. Il tipo di dati è integer. Valori validi: 1-256.

Si consiglia di impostare questo parametro solo dopo aver osservato le prestazioni di backup al valore predefinito che il motore Db2 calcola automaticamente come valore ottimale. Se imposti questo parametro, Amazon RDS esegue la convalida rispetto ai processori disponibili e non eseguirà la richiesta di backup se la potenza di elaborazione è insufficiente.

num_buffers

Il numero di buffer da utilizzare. Il tipo di dati è integer. Valori validi: 1-268435456.

Ti consigliamo di impostare questo parametro solo dopo aver osservato le prestazioni di backup predefinite che Amazon RDS calcola automaticamente in base alla memoria. Se imposti questo parametro, Amazon RDS esegue la convalida in base alla memoria disponibile e non eseguirà la richiesta di backup se la memoria disponibile è insufficiente. Se esegui il backup su più sedi (num_filesè impostato su più di1), un numero maggiore di buffer potrebbe migliorare le prestazioni. Se non lo compression_option impostiNONE, puoi migliorare le prestazioni aumentando num_buffers e. parallelism

Note per l’utilizzo

Questa procedura memorizzata crea attività di backup asincrone che trasmettono il backup del database direttamente al bucket Amazon S3 utilizzando l'integrazione Amazon S3. Puoi eseguire backup sia dal tuo server locale che da un'istanza DB RDS per Db2, trasmetterli in streaming su Amazon S3 e ripristinarli dove vuoi. Per informazioni sul ripristino di un database su un'istanza DB RDS for Db2, consulta. rdsadmin.restore_database

Prima di chiamare la stored procedure, esamina le seguenti considerazioni:

Prima di chiamare rdsadmin.backup_database, è necessario connettersi al database rdsadmin. Nell'esempio seguente, sostituisci master_username e master_password con le informazioni sull'istanza DB RDS for Db2:

db2 connect to rdsadmin user master_username using master_password

Dopo aver eseguito il backup del database, assicuratevi di terminare la connessione.

terminate

Per informazioni sulla verifica dello stato del backup di un database, consulta. rdsadmin.get_task_status

Per i messaggi di errore restituiti durante la chiamata di rdsadmin.backup_database, consulta Errori delle stored procedure.

Esempi

Tutti gli esempi eseguono il backup di un database chiamato MYDB nel bucket Amazon S3 chiamato amzn-s3-demo-bucket e impostato su. s3_prefix backups/daily

Esempio #1: Specificazione del database offline e non disponibile con utilizzo medio e un singolo flusso di caricamento

Nell'esempio seguente, il database è offline, il che è più veloce ma significa che il database non è disponibile durante il backup. L'esempio non esegue alcuna compressione dei file, ha un impatto mediano sulle risorse di sistema e utilizza un singolo flusso di caricamento su Amazon S3.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 50, 1)"

Esempio #2: Specificazione del database online e disponibile con compressione avanzata, utilizzo mediano e pochi flussi di caricamento paralleli

Nell'esempio seguente, il database è online e disponibile durante il backup. L'esempio esegue una compressione avanzata, che si traduce in file di dimensioni ridotte, ma richiede un uso intensivo della CPU. Ha un impatto leggermente superiore alla media sulle risorse di sistema e utilizza cinque flussi di caricamento su Amazon S3.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'ONLINE', 'ZLIB', 60, 5)"

Esempio #3: Specificazione del database offline e non disponibile con impostazioni predefinite e calcoli di sistema

Nell'esempio seguente, il database è offline, il che è più veloce ma significa che il database non è disponibile durante il backup. L'esempio utilizza la compressione predefinita dei file e l'impatto sulle risorse di sistema. Consente inoltre a RDS for Db2 di calcolare il numero di flussi di caricamento paralleli su Amazon S3, i tablespace da leggere in parallelo e i buffer da utilizzare.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE')"

Esempio #4: Specificazione del database offline e non disponibile senza compressione, utilizzo elevato e calcoli personalizzati

Nell'esempio seguente, il database è offline, il che è più veloce ma significa che il database non è disponibile durante il backup. L'esempio non esegue alcuna compressione dei file, ha un impatto elevato sulle risorse di sistema e utilizza 20 flussi di caricamento su Amazon S3. Imposta il numero massimo di tablespace da leggere in parallelo, il che può causare il fallimento della richiesta di backup se la potenza di elaborazione è insufficiente. Imposta inoltre il numero massimo di buffer da utilizzare, il che può causare il fallimento della richiesta di backup se la memoria è insufficiente.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 90, 20, 256, 268435456)"

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')"

Parameters

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 impostato database_name suNEWDB, Amazon RDS esegue il ripristino 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, verranno elaborati tutti i file 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 fornire uno spazio di archiviazione per l'istanza DB RDS for Db2 superiore a quello del database Db2 originale su disco. Se l'opzione è abilitataUSE_STREAMING_RESTORE, quando ripristini il backup, Amazon RDS trasmette i file di backup direttamente dal bucket S3 all'istanza DB RDS for Db2. Se non lo abilitiUSE_STREAMING_RESTORE, devi fornire uno spazio di archiviazione per l'istanza DB RDS for Db2 uguale o superiore alla somma delle dimensioni del backup più il 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, di manipolatori di buffer e il numero di percorsi di backup multipli da utilizzare con RDS. Per ottimizzare l'utilizzo dello storage e migliorare potenzialmente le prestazioni, puoi anche eseguire lo streaming diretto di un backup da Amazon S3. 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

L'esempio seguente ripristina un backup offline con un singolo file 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')"

Parameters

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')"

Parameters

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')"

Parameters

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')"

Parameters

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')"

Parameters

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')"

Parameters

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. Si consiglia di utilizzare strumenti di replica come AWS DMS CDC (Change Data Capture) o IBM Q Replication di impostare la conservazione dei log in tali strumenti per più di 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')"

Parameters

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')"

Parameters

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')"

rdsadmin.fgac_command

Esegue comandi di controllo degli accessi a grana fine (FGAC).

Sintassi

db2 "call rdsadmin.fgac_command( ?, 'database_name', 'fgac_cmd')"

Parameters

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 si desidera eseguire i comandi FGAC. Il tipo di dati è varchar.

fgac_cmd

Il comando di controllo degli accessi dettagliato che si desidera eseguire. Il tipo di dati è varchar.

I seguenti comandi sono validi:

  • ALTER MASK— Modifica una maschera di colonna esistente nel controllo dell'accesso a righe e colonne (RCAC).

  • ALTER PERMISSION— Modifica le proprietà di un'autorizzazione di riga esistente in RCAC.

  • ALTER SECURITY POLICY— Modifica una politica di sicurezza esistente per RCAC.

  • ALTER SECURITY LABEL— Modifica le proprietà di un'etichetta di sicurezza esistente nel controllo degli accessi basato su etichette (LBAC).

  • ALTER TABLE— Modifica la struttura della tabella, inclusa l'aggiunta di controlli RCAC o LBAC.

  • CREATE MASK— Crea una nuova maschera di colonna per RCAC.

  • CREATE PERMISSION— Crea una nuova autorizzazione di riga per RCAC.

  • CREATE SECURITY LABEL— Crea una nuova etichetta di sicurezza per LBAC.

  • CREATE SECURITY POLICY— Crea una nuova politica di sicurezza per RCAC.

  • DROP MASK— Elimina una maschera di colonna esistente.

  • DROP PERMISSION— Elimina l'autorizzazione di una riga esistente.

  • DROP SECURITY LABEL— Elimina un'etichetta di sicurezza da LBAC.

  • DROP SECURITY POLICY— Elimina una politica di sicurezza RCAC esistente.

  • GRANT EXEMPTION ON RULE— Consente a un utente di ignorare regole LBAC specifiche.

  • GRANT SECURITY LABEL— Assegna un'etichetta di sicurezza LBAC a un utente.

  • REVOKE EXEMPTION ON RULE— Rimuove l'esenzione di un utente dalle regole LBAC.

  • REVOKE SECURITY LABEL— Rimuove un'etichetta di sicurezza LBAC da un utente.

Note per l’utilizzo

Questa stored procedure controlla l'accesso a livello di riga o colonna ai dati della tabella nel database su un'istanza DB RDS for Db2. RDS per Db2 supporta due tipi di FGAC sul database:

  • Controllo degli accessi basato su etichette (LBAC)

  • Controllo dell'accesso a righe e colonne (RCAC)

Prima di chiamare la stored procedure, esamina le seguenti considerazioni:

  • Per evitare una virgoletta singola ('), usa una virgoletta singola aggiuntiva. Gli esempi seguenti mostrano come fuggire 'apple''banana', e'fruit'.

    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')"
  • Per evitare le parentesi ([]), usate una barra rovesciata (\). L'esempio seguente mostra come fuggire. [''apple'',''banana'']

    db2 "call rdsadmin.fgac_command( ?, ' testdb', 'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"

Esempi

Gli esempi seguenti eseguono tutti i comandi FGAC su un database chiamato. testdb

Esempio 1: creazione di una nuova etichetta di sicurezza denominata FRUITSET

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"

Esempio 2: creazione di una nuova maschera per la EMP_ID colonna che è abilitata quando EMP_ID è impostata su meno di tre

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"

Esempio 3: creazione di una nuova maschera per la DEPARTMENT colonna che è abilitata quando SESSION_USER è impostata su security_user

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"

Esempio 4: creazione di una nuova etichetta di sicurezza denominata treelabel

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT treelabel TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"