Stored procedure relative ai tablespace per RDS per Db2
Le stored procedure integrate descritte in questo argomento gestiscono i tablespace per i database 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.
Fai riferimento alle seguenti stored procedure integrate per informazioni sulla sintassi, i parametri, le note per l’utilizzo e gli esempi.
Procedure archiviate
rdsadmin.create_tablespace
Crea un tablespace.
Sintassi
db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name',tablespace_page_size,tablespace_initial_size,tablespace_increase_size, 'tablespace_type', 'tablespace_prefetch_size')"
Parametri
I parametri seguenti sono obbligatori:
database_name-
Il nome del database in cui creare il tablespace. Il tipo di dati è
varchar. tablespace_name-
Il nome del tablespace da creare. Il tipo di dati è
varchar.Il nome del tablespace presenta le seguenti limitazioni:
-
Non può essere uguale al nome di un tablespace esistente nel database.
-
Può contenere solo i caratteri
_$#@a-zA-Z0-9. -
Non può iniziare con
_o$. -
Non può iniziare con
SYS.
-
I parametri seguenti sono facoltativi:
buffer_pool_name-
Il nome del pool di buffer a cui assegnare il tablespace. Il tipo di dati è
varchar. L'impostazione predefinita è una stringa vuota.Importante
È necessario disporre già di un pool di buffer della stessa dimensione di pagina da associare al tablespace.
tablespace_page_size-
La dimensione di pagina del tablespace, espressa in byte. Il tipo di dati è
integer. Valori validi:4096,8192,16384,32768. L’impostazione predefinita è la dimensione di pagina utilizzata al momento della creazione del database chiamando rdsadmin.create_database.Importante
Amazon RDS supporta l’atomicità di scrittura per pagine da 4 KiB, 8 KiB 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.
tablespace_initial_size-
La dimensione iniziale del tablespace in kilobyte (KB). Il tipo di dati è
integer. Valori validi:48o superiore. Il valore predefinito è null.Se non imposti un valore, Db2 imposta automaticamente un valore appropriato.
Nota
Questo parametro non è applicabile per i tablespace temporanei poiché questi vengono gestiti dal sistema.
tablespace_increase_size-
La percentuale in base alla quale aumentare la dimensione del tablespace quando è pieno. Il tipo di dati è
integer. Valori validi:1-100. Il valore predefinito è null.Se non imposti un valore, Db2 imposta automaticamente un valore appropriato.
Nota
Questo parametro non è applicabile per i tablespace temporanei poiché questi vengono gestiti dal sistema.
tablespace_type-
Il tipo di tablespace. Il tipo di dati è
char. Valori validi:U(per i dati dell’utente),T(per i dati temporanei dell’utente) oS(per i dati temporanei del sistema). Il valore predefinito èU. tablespace_prefetch_size-
La dimensione di pagina di prefetch del tablespace. Il tipo di dati è
char. Valori validi:AUTOMATIC(senza distinzione tra maiuscole e minuscole) o numeri interi positivi diversi da zero minori o uguali a 32.767.
Note per l'utilizzo
RDS per Db2 crea sempre un database di grandi dimensioni per i dati.
Per informazioni su come verificare lo stato della creazione di un tablespace, consulta rdsadmin.get_task_status.
Esempi
Esempio 1: creazione di un tablespace e assegnazione di un pool di buffer
L’esempio seguente crea un tablespace denominato SP8 e assegna il pool di buffer BP8 per il database TESTDB. Il tablespace ha una dimensione di pagina di 4.096 byte, una dimensione di pagina di 1.000 KB e una percentuale di incremento della dimensione di tabella del 50%.
db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 4096, 1000, 50)"
Esempio 2: creazione di un tablespace temporaneo e assegnazione di un pool di buffer
L’esempio seguente crea un tablespace temporaneo denominato SP8. Assegna un pool di buffer denominato BP8 della dimensione di 8 KiB per il database TESTDB.
db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 8192, NULL, NULL, 'T')"
Esempio 3: creazione di un tablespace e assegnazione di una dimensione di pagina di prefetch
L’esempio seguente crea un tablespace denominato SP8 per il database TESTDB. Il tablespace ha una dimensione di incremento iniziale pari a 50 e una dimensione di pagina di prefetch pari a 800.
db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', NULL, NULL, NULL, 50, NULL, '800')"
rdsadmin.alter_tablespace
Modifica un tablespace.
Sintassi
db2 "call rdsadmin.alter_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name',tablespace_increase_size, 'max_size', 'reduce_max', 'reduce_stop', 'reduce_value', 'lower_high_water', 'lower_high_water_stop', 'switch_online', 'tablespace_prefetch_size')"
Parametri
I parametri seguenti sono obbligatori:
database_name-
Il nome del database che utilizza il tablespace. Il tipo di dati è
varchar. tablespace_name-
Il nome del tablespace da modificare. Il tipo di dati è
varchar.
I parametri seguenti sono facoltativi:
buffer_pool_name-
Il nome del pool di buffer a cui assegnare il tablespace. Il tipo di dati è
varchar. L'impostazione predefinita è una stringa vuota.Importante
È necessario disporre già di un pool di buffer della stessa dimensione di pagina da associare al tablespace.
tablespace_increase_size-
La percentuale in base alla quale aumentare la dimensione del tablespace quando è pieno. Il tipo di dati è
integer. Valori validi:1-100. Il valore predefinito è0. max_size-
La dimensione massima per il tablespace. Il tipo di dati è
varchar. Valori validi:numero interoK|M|GoNONE. Il valore predefinito èNONE. reduce_max-
Specifica se ridurre il limite massimo consentito. Il tipo di dati è
char. Il valore predefinito èN. reduce_stop-
Specifica se interrompere un comando
reduce_maxoreduce_valueprecedente. Il tipo di dati èchar. Il valore predefinito èN. reduce_value-
Il numero o la percentuale in base a cui ridurre il limite massimo per il tablespace. Il tipo di dati è
varchar. Valori validi:numero interoK|M|Go1-100. Il valore predefinito èN. lower_high_water-
Specifica se eseguire il comando
ALTER TABLESPACE LOWER HIGH WATER MARK. Il tipo di dati èchar. Il valore predefinito èN. lower_high_water_stop-
Specifica se eseguire il comando
ALTER TABLESPACE LOWER HIGH WATER MARK STOP. Il tipo di dati èchar. Il valore predefinito èN. switch_online-
Specifica se eseguire il comando
ALTER TABLESPACE SWITCH ONLINE. Il tipo di dati èchar. Il valore predefinito èN. tablespace_prefetch_size-
La dimensione di pagina di prefetch del tablespace. Il tipo di dati è
char. Valori validi:AUTOMATIC(senza distinzione tra maiuscole e minuscole) o numeri interi positivi diversi da zero minori o uguali a 32.767.Nota
Questo parametro funziona solo con
buffer_pool_name,table_increase_size,max_sizeeswitch_online. Non funziona conreduce_max,reduce_stop,reduce_value,lower_high_waterelower_high_water_stop.
Note per l'utilizzo
Prima di chiamare la stored procedure, esamina le seguenti considerazioni:
-
La stored procedure
rdsadmin.alter_tablespacenon funziona su un tablespace contablespace_typeimpostato suTper i dati temporanei dell’utente. -
I parametri facoltativi
reduce_max,reduce_stop,reduce_value,lower_high_water,lower_high_water_stopeswitch_onlinesi escludono a vicenda. Non puoi combinarli con altri parametri facoltativi, ad esempiobuffer_pool_name, nel comandordsadmin.alter_tablespace. Per ulteriori informazioni, consulta Statement not valid.
Per informazioni su come verificare lo stato della modifica di un tablespace, consulta rdsadmin.get_task_status.
Per i messaggi di errore restituiti durante le chiamate alle stored procedure, consulta Errori delle stored procedure.
Esempi
Esempio 1: diminuzione del valore del limite massimo
L’esempio seguente modifica un tablespace denominato SP8 e assegna il pool di buffer BP8 per il database TESTDB al fine di diminuire il valore del limite massimo.
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'SP8', 'BP8', NULL, NULL, 'Y')"
Esempio 2: riduzione del limite massimo
L’esempio seguente esegue il comando REDUCE MAX su un tablespace denominato TBSP_TEST nel database TESTDB.
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, 'Y')"
Esempio 3: interruzione dei comandi per la riduzione del limite massimo
L’esempio seguente esegue il comando REDUCE STOP su un tablespace denominato TBSP_TEST nel database TESTDB.
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, 'Y')"
Esempio 4: modifica della dimensione di pagina di prefetch esistente
L’esempio seguente esegue il comando ALTER TABLESPACE SWITCH ONLINE su un tablespace denominato TSBP_TEST e modifica la dimensione di pagina di prefetch esistente in 64.
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ‘Y’, ‘64’)"
rdsadmin.rename_tablespace
Rinomina un tablespace.
Sintassi
db2 "call rdsadmin.rename_tablespace( ?, 'database_name', 'source_tablespace_name', 'target_tablespace_name')"
Parametri
I parametri seguenti sono obbligatori:
- ?
-
Un indicatore di parametro che genera un messaggio di errore. Questo parametro accetta solo ?.
database_name-
Il nome del database a cui appartiene il tablespace. Il tipo di dati è
varchar. source_tablespace_name-
Il nome del tablespace da rinominare. Il tipo di dati è
varchar. target_tablespace_name-
Il nuovo nome del tablespace. Il tipo di dati è
varchar.Il nuovo nome presenta le seguenti limitazioni:
-
Non può essere uguale al nome di un tablespace esistente.
-
Può contenere solo i caratteri
_$#@a-zA-Z0-9. -
Non può iniziare con
_o$. -
Non può iniziare con
SYS.
-
Note per l'utilizzo
Per informazioni su come verificare lo stato della ridenominazione di un tablespace, consulta rdsadmin.get_task_status.
Non è possibile rinominare i tablespace che appartengono al database rdsadmin.
Esempi
L’esempio seguente rinomina in SP9 un tablespace denominato SP8 nel database TESTDB.
db2 "call rdsadmin.rename_tablespace( ?, 'TESTDB', 'SP8', 'SP9')"
rdsadmin.drop_tablespace
Elimina un tablespace.
Sintassi
db2 "call rdsadmin.drop_tablespace( 'database_name', 'tablespace_name')"
Parametri
I parametri seguenti sono obbligatori:
database_name-
Il nome del database a cui appartiene il tablespace. Il tipo di dati è
varchar. tablespace_name-
Il nome del tablespace da eliminare. Il tipo di dati è
varchar.
Note per l'utilizzo
Per informazioni su come verificare lo stato dell’eliminazione di un tablespace, consulta rdsadmin.get_task_status.
Esempi
L’esempio seguente elimina un tablespace denominato SP8 dal database TESTDB.
db2 "call rdsadmin.drop_tablespace( 'TESTDB', 'SP8')"