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à.
Utilizzo delle tablespace in RDS per Oracle
È possibile utilizzare i tablespace con RDS for Oracle, un'unità di archiviazione logica che archivia i dati del database.
Importante
Se l'istanza DB dispone di repliche, si consiglia di utilizzare le impostazioni dei gruppi di parametri anziché le modifiche a livello di sessione per gestire le posizioni dei file predefinite. Le modifiche a livello di sessione alle posizioni dei file predefinite nell'istanza principale non si riflettono automaticamente nelle repliche. L'utilizzo delle impostazioni dei gruppi di parametri garantisce la coerenza delle posizioni dei file tra le istanze primarie e di replica.
Argomenti
Specificazione delle posizioni dei file di database in RDS for Oracle
RDS per Oracle utilizza Oracle Managed Files (OMF) per denominare i file di database. Quando si creano file di database, il database ricava l'impostazione in base all'impostazione corrente del parametro di inizializzazione. DB_CREATE_FILE_DEST
Il valore predefinito del parametro di DB_CREATE_FILE_DEST inizializzazione è /rdsdbdata/db per i database autonomi e /rdsdbdata/db/pdb per l'architettura containerizzata (CDB/MT). Se l'istanza DB dispone di volumi di storage aggiuntivi, è possibile impostare le posizioni dei volumi. DB_CREATE_FILE_DEST Ad esempio, se la tua istanza ha un volume montato/rdsdbdata/db, puoi DB_CREATE_FILE_DEST impostarlo su questo valore.
È possibile modificare il DB_CREATE_FILE_DEST parametro a livello di sessione o a livello di istanza del database Oracle.
Modifica di DB_CREATE_FILE_SET a livello di istanza
Per modificare il parametro a livello di istanza, aggiorna il parametro nel gruppo di parametri assegnato all'istanza DB e applicalo. Per ulteriori informazioni, consultare Parametri di inizializzazione di RDS per Oracle e Modifica dei parametri in un gruppo di parametri database in Amazon RDS.
Modifica di DB_CREATE_FILE_DEST a livello di sessione
È possibile modificare il parametro a livello di sessione eseguendo un'ALTER
SESSIONistruzione. Questo approccio è utile quando si desidera creare file di database in una posizione specifica per una sessione particolare senza influire sull'intera istanza.
L'esempio seguente mostra come controllare il valore corrente del parametro e modificarlo per la sessione:
SHOW PARAMETER db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /rdsdbdata/db ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered. SHOW PARAMETER db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /rdsdbdata2/db
Creazione e dimensionamento di tablespace in RDS for Oracle
Quando si creano tablespace, il database crea i file di dati nel volume di archiviazione specificato dal parametro di inizializzazione al momento della DB_CREATE_FILE_DEST creazione. Per impostazione predefinita, se non si specifica una dimensione del file di dati, gli spazi di tabella vengono creati con il valore predefinito di AUTOEXTEND ON e nessuna dimensione massima. Nell'esempio seguente, il tablespace è estensibile automaticamente. users1
CREATE TABLESPACEusers1;
A causa di queste impostazioni predefinite, i tablespace possono aumentare e occupare tutto lo spazio di archiviazione allocato. Consigliamo di specificare una dimensione massima appropriata per tablespace permanenti e temporanei e che monitori attentamente l’utilizzo di spazio.
L'esempio seguente crea un tablespace denominato users2 con una dimensione iniziale di 1 gigabyte. Poiché la dimensione di un file di dati è specificata, ma AUTOEXTEND ON non è specificato, lo spazio di tabella non è estensibile automaticamente.
CREATE TABLESPACEusers2DATAFILE SIZE1G;
L'esempio seguente crea una tablespace denominata users3 con una dimensione iniziale di 1 gigabyte, estensione automatica attivata e una dimensione massima di 10 gigabyte.
CREATE TABLESPACEusers3DATAFILE SIZE1GAUTOEXTEND ON MAXSIZE10G;
L'esempio seguente crea un tablespace temporaneo denominato. temp01
CREATE TEMPORARY TABLESPACEtemp01;
Puoi ridimensionare un tablespace di file di grandi dimensioni utilizzando ALTER
TABLESPACE. Puoi specificare le dimensioni in kilobyte (K), megabyte (M), gigabyte (G), o terabyte (T). L'esempio seguente ridimensiona uno spazio tabella di un file di grandi dimensioni denominato users_bf a 200 MB.
ALTER TABLESPACEusers_bfRESIZE200M;
L'esempio seguente aggiunge un file di dati aggiuntivo a una tablespace di file di piccole dimensioni denominata. users_sf
ALTER TABLESPACEusers_sfADD DATAFILE SIZE100000MAUTOEXTEND ON NEXT250mMAXSIZEUNLIMITED;
Creazione di tablespace su volumi di archiviazione aggiuntivi in RDS per Oracle
Per creare un tablespace su un volume di archiviazione aggiuntivo, modificate il DB_CREATE_FILE_DEST parametro impostando la posizione del volume. L'esempio seguente imposta la posizione del file su. /rdsdbdata2/db
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered.
Nell'esempio seguente, create una tablespace sul volume aggiuntivo. /rdsdbdata2/db
CREATE TABLESPACE new_tablespace DATAFILE SIZE 10G; Tablespace created. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'NEW_TABLESPACE'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- NEW_TABLESPACE 7 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_newtable_a123b4c5_.dbf
Per creare una tablespace di file di piccole dimensioni e distribuirne i file di dati su diversi volumi di archiviazione, aggiungi i file di dati alla tablespace dopo averla creata. Nell'esempio seguente, crei una tablespace con i file di dati nella posizione predefinita di. /rdsdbdata/db Quindi impostate la destinazione predefinita su. /rdsdbdata/db2 Quando aggiungete un file di dati alla tablespace appena creata, il database memorizza il file in. /rdsdbdata/db2
ALTER SESSION SET db_create_file_dest = '/rdsdbdata/db'; Session altered. CREATE SMALLFILE TABLESPACE smalltbs DATAFILE SIZE 10G; Tablespace created. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'SMALLTBS'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- SMALLTBS 8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered. ALTER TABLESPACE smalltbs ADD DATAFILE SIZE 10G; Tablespace altered. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'SMALLTBS'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- SMALLTBS 8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf SMALLTBS 9 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_smalltbs_n564004g_.dbf
Impostazione del tablespace predefinito in RDS per Oracle
Puoi usare la procedura in Amazon RDS per impostare lo spazio di tabella predefinito rdsadmin.rdsadmin_util.alter_default_tablespace. La procedura alter_default_tablespace include i seguenti parametri.
| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|
|
|
varchar |
— |
Sì |
Il nome dello spazio tabella predefinito. |
L'esempio seguente imposta il tablespace predefinito su: users2
EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => 'users2');
Impostazione del tablespace temporaneo predefinito in RDS per Oracle
Puoi usare la procedura in Amazon RDS per impostare lo spazio di tabella temporaneo predefinito rdsadmin.rdsadmin_util.alter_default_temp_tablespace. La procedura alter_default_temp_tablespace include i seguenti parametri.
| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|
|
|
varchar |
— |
Sì |
Il nome dello spazio tabella predefinito temporaneo. |
L'esempio seguente imposta il tablespace temporaneo predefinito su. temp01
EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => 'temp01');
Creazione di un tablespace temporaneo nell’archivio dell’istanza
Per creare un tablespace temporaneo nell’archivio dell’istanza, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace. La procedura create_inst_store_tmp_tblspace include i seguenti parametri.
| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|
|
|
varchar |
— |
Sì |
Il nome dello spazio di tabella temporaneo. |
L'esempio seguente crea il tablespace temporaneo temp01 nell'instance store.
EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace(p_tablespace_name => 'temp01');
Importante
Durante l'esecuzione di rdsadmin_util.create_inst_store_tmp_tblspace, lo spazio di tabella temporaneo appena creato non viene impostato automaticamente come spazio di tabella temporaneo predefinito. Per impostarlo come predefinito, consulta Impostazione del tablespace temporaneo predefinito in RDS per Oracle.
Per ulteriori informazioni, consulta Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle.