

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

# Attività comuni per i tablespace
<a name="db2-managing-tablespaces"></a>

È possibile creare, modificare, rinominare o eliminare tablespace per un database RDS per Db2. La creazione, la modifica, la ridenominazione o l’eliminazione di tablespace richiede un’autorità `SYSADM` di livello superiore, di cui l’utente principale non dispone. Puoi invece utilizzare le stored procedure di Amazon RDS.

**Topics**
+ [Creazione di un tablespace](#db2-creating-tablespace)
+ [Modifica di un tablespace](#db2-altering-tablespace)
+ [Ridenominazione di un tablespace](#db2-renaming-tablespace)
+ [Eliminazione di un tablespace](#db2-dropping-tablespace)
+ [Controllo dello stato di un tablespace](#db2-checking-tablespaces-procedure)
+ [Restituzione di informazioni dettagliate sui tablespace](#db2-tablespaces-info-db2pd)
+ [Elencare lo stato e il gruppo di archiviazione per un tablespace](#db2-state-storage-group-tablespace-sql)
+ [Elencare i tablespace di una tabella](#db2-return-tablespaces-sql)
+ [Elencare i container di tablespace](#db2-listing-tablespace-containers)

## Creazione di un tablespace
<a name="db2-creating-tablespace"></a>

Per creare un tablespace per il database RDS per Db2, chiama la stored procedure `rdsadmin.create_tablespace`. Per ulteriori informazioni, consulta [CREATE TABLESPACE statement](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-tablespace) nella documentazione di IBM Db2.

**Importante**  
Per creare un tablespace, è necessario disporre di un pool di buffer della stessa dimensione di pagina da associare al tablespace. Per ulteriori informazioni, consulta [Attività comuni per i pool di buffer](db2-managing-buffer-pools.md).

**Per creare un tablespace**

1. Connettiti al database `rdsadmin` utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituisci *master\$1username* e *master\$1password* con le tue informazioni.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Crea un tablespace chiamando `rdsadmin.create_tablespace`. Per ulteriori informazioni, consulta [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace). 

   ```
   db2 "call rdsadmin.create_tablespace(
       'database_name', 
       'tablespace_name',
       'buffer_pool_name', 
       tablespace_initial_size, 
       tablespace_increase_size, 
       'tablespace_type')"
   ```

## Modifica di un tablespace
<a name="db2-altering-tablespace"></a>

Per modificare un tablespace per il database RDS per Db2, chiama la stored procedure `rdsadmin.alter_tablespace`. Questa stored procedure consente di modificare il pool di buffer di un tablespace, abbassare il livello più alto o portare online un tablespace. Per ulteriori informazioni, consulta [ALTER TABLESPACE statement](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-tablespace) nella documentazione di IBM Db2.

**Per modificare un tablespace**

1. Connettiti al database `rdsadmin` utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituisci *master\$1username* e *master\$1password* con le tue informazioni.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifica un tablespace chiamando `rdsadmin.alter_tablespace`. Per ulteriori informazioni, consulta [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace). 

   ```
   db2 "call rdsadmin.alter_tablespace(
       'database_name', 
       'tablespace_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       tablespace_increase_size, 
       'max_size', 'reduce_max', 
       'reduce_stop', 
       'reduce_value', 
       'lower_high_water', 
       'lower_high_water_stop', 
       'switch_online')"
   ```

## Ridenominazione di un tablespace
<a name="db2-renaming-tablespace"></a>

Per cambiare il nome di un tablespace per il database RDS per Db2, chiama la stored procedure `rdsadmin.rename_tablespace`. Per ulteriori informazioni, consulta [RENAME TABLESPACE statement](https://www.ibm.com/docs/en/db2/11.5?topic=statements-rename-tablespace) nella documentazione di IBM Db2.

**Per rinominare un tablespace**

1. Connettiti al database `rdsadmin` utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituisci *master\$1username* e *master\$1password* con le tue informazioni.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Rinomina un tablespace chiamando `rdsadmin.rename_tablespace`. Per ulteriori informazioni, incluse le restrizioni che riguardano il nome che è possibile assegnare a un tablespace, consulta [rdsadmin.rename\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace).

   ```
   db2 "call rdsadmin.rename_tablespace(
       'database_name', 
       'source_tablespace_name',
       'target_tablespace_name')"
   ```

## Eliminazione di un tablespace
<a name="db2-dropping-tablespace"></a>

Per eliminare un tablespace per il database RDS per Db2, chiama la stored procedure `rdsadmin.drop_tablespace`. Prima di eliminare una tablespace, rilasciate prima tutti gli oggetti nella tablespace, ad esempio tabelle, indici o oggetti di grandi dimensioni (). LOBs Per ulteriori informazioni, consulta [Dropping table spaces](https://www.ibm.com/docs/en/db2/11.5?topic=spaces-dropping-table) nella documentazione di IBM Db2.

**Per eliminare un tablespace**

1. Connettiti al database `rdsadmin` utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, *master\$1username* sostituite e con le vostre informazioni. *master\$1password*

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Elimina un tablespace chiamando `rdsadmin.drop_tablespace`. Per ulteriori informazioni, consulta [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace). 

   ```
   db2 "call rdsadmin.drop_tablespace(
       'database_name', 
       'tablespace_name')"
   ```

## Controllo dello stato di un tablespace
<a name="db2-checking-tablespaces-procedure"></a>

 È possibile controllare lo stato di un tablespace utilizzando la funzione `cast`.

**Per controllare lo stato di un tablespace**

1. Connettiti al database Db2 utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente *rds\$1database\$1alias**master\$1username*, sostituisci e *master\$1password* con le tue informazioni.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Ottieni un output di riepilogo.

   Per un output di riepilogo:

   ```
   db2 "select cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
   ```

## Restituzione di informazioni dettagliate sui tablespace
<a name="db2-tablespaces-info-db2pd"></a>

È possibile restituire informazioni su un tablespace per uno o tutti i membri utilizzando la funzione `cast`. 

**Per restituire informazioni dettagliate sui tablespace**

1. Connettiti al database Db2 utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente *rds\$1database\$1alias**master\$1username*, sostituisci e *master\$1password* con le tue informazioni.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Ottieni informazioni dettagliate su tutti i tablespace nel database per un membro o per tutti i membri.

   Per un membro:

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "
   ```

   Per tutti i membri:

   ```
   db2 "select cast(member as smallint) as member
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
   ```

## Elencare lo stato e il gruppo di archiviazione per un tablespace
<a name="db2-state-storage-group-tablespace-sql"></a>

È possibile elencare lo stato e il gruppo di archiviazione per un tablespace eseguendo un’istruzione SQL.

Per elencare lo stato e il gruppo di archiviazione di un tablespace, esegui la seguente istruzione SQL:

```
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name,
                  varchar(TBSP_STATE, 30) state,
                  tbsp_type,
                  varchar(storage_group_name,30) storage_group
FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
```

## Elencare i tablespace di una tabella
<a name="db2-return-tablespaces-sql"></a>

È possibile elencare i tablespace di una tabella eseguendo un’istruzione SQL.

Per elencare i tablespace di una tabella, esegui la seguente istruzione SQL. Nell'esempio seguente, sostituisci *SCHEMA\$1NAME* e *TABLE\$1NAME* con i nomi dello schema e della tabella:

```
db2 "SELECT 
   VARCHAR(SD.TBSPACE,30) AS DATA_SPACE,
   VARCHAR(SL.TBSPACE,30) AS LONG_SPACE,
   VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE
 FROM 
   SYSCAT.DATAPARTITIONS P 
   JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID 
   LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID
   LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID
 WHERE
    TABSCHEMA = 'SCHEMA_NAME'
 AND TABNAME   = 'TABLE_NAME'"
```

## Elencare i container di tablespace
<a name="db2-listing-tablespace-containers"></a>

È possibile elencare tutti i container di tablespace o specifici container di tablespace utilizzando il comando `cast`.

**Per elencare i container di tablespace per un tablespace**

1. Connettiti al database Db2 utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente *rds\$1database\$1alias**master\$1username*, sostituisci e *master\$1password* con le tue informazioni:

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Ottieni un elenco di tutti i container di tablespace nel database o specifici container di tablespace.

   Per tutti i container di tablespace:

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"
   ```

   Per container di tablespace specifici:

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"
   ```