Attività comuni per i tablespace - 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à.

Attività comuni per i tablespace

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

Creazione di un tablespace

Per creare un tablespace per il database RDS per Db2, chiama la stored procedure rdsadmin.create_tablespace. Per ulteriori informazioni, consulta CREATE TABLESPACE statement 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.

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_username e master_password con le tue informazioni.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Crea un tablespace chiamando rdsadmin.create_tablespace. Per ulteriori informazioni, consulta rdsadmin.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

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 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_username e master_password con le tue informazioni.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Modifica un tablespace chiamando rdsadmin.alter_tablespace. Per ulteriori informazioni, consulta rdsadmin.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

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 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_username e master_password con le tue informazioni.

    db2 "connect to rdsadmin user master_username using master_password"
  2. 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_tablespace.

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

Eliminazione di un tablespace

Per eliminare un tablespace per il database RDS per Db2, chiama la stored procedure rdsadmin.drop_tablespace. Prima di eliminare un tablespace, elimina tutti gli oggetti nel tablespace, come tabelle, indici o oggetti di grandi dimensioni (LOB). Per ulteriori informazioni, consulta Dropping table spaces 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, sostituisci master_username e master_password con le tue informazioni.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Elimina un tablespace chiamando rdsadmin.drop_tablespace. Per ulteriori informazioni, consulta rdsadmin.drop_tablespace.

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

Controllo dello stato di un tablespace

È 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, sostituisci rds_database_alias, master_username e master_password con le tue informazioni.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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

È 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, sostituisci rds_database_alias, master_username e master_password con le tue informazioni.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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

È 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

È 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_NAME e TABLE_NAME con il nome dello schema e il nome 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

È 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, sostituisci rds_database_alias, master_username e master_password con le tue informazioni:

    db2 connect to rds_database_alias user master_username using master_password
  2. 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"