Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle - 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à.

Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle

Utilizza un archivio dell'istanza per gli spazi di tabella temporanei e Database Smart Flash Cache (la cache flash) su classi di istanza database RDS per Oracle supportate.

Panoramica dell'archivio dell'istanza RDS per Oracle

Un archivio dell'istanza fornisce uno spazio di archiviazione temporaneo a livello di blocco per un'istanza database RDS per Oracle. È possibile utilizzare un archivio dell'istanza per l'archiviazione temporanea di informazioni che cambiano di frequente.

L'archivio dell'istanza è basato su dispositivi NVMe (Non-Volatile Memory Express) fisicamente collegati al computer host. Questo archivio è ottimizzato per bassa latenza, prestazioni I/O casuali e velocità di trasmissione effettiva di lettura sequenziale.

La dimensione dell'archivio dell'istanza varia in base al tipo di istanza database. Per ulteriori informazioni sull'archivio dell'istanza, consulta Instance store Amazon EC2 nella Guida per l'utente di Amazon Elastic Compute Cloud per istanze Linux.

Tipi di dati nell'archivio dell'istanza RDS per Oracle

In un archivio dell'istanza puoi inserire i seguenti tipi di dati temporanei RDS per Oracle:

Spazio di tabella temporaneo

Oracle Database utilizza gli spazi di tabella temporanei per archiviare i risultati delle query intermedie che non rientrano nella memoria. Le query più grandi possono generare grandi quantità di dati intermedi che devono essere temporaneamente memorizzati nella cache, ma non devono essere persistenti. In particolare, uno spazio di tabella temporaneo è utile per ordinamenti, aggregazioni di hash e join. Se l'istanza database RDS per Oracle utilizza Enterprise Edition o Standard Edition 2, puoi inserire uno spazio di tabella temporaneo in un archivio dell'istanza.

Cache flash

La cache flash migliora le prestazioni delle letture casuali a blocco singolo nel percorso convenzionale. È consigliabile dimensionare la cache per adattarla alla maggior parte dei set di dati attivi. Se l'istanza database RDS per Oracle utilizza Enterprise Edition, è possibile inserire la cache flash in un archivio dell'istanza.

Per impostazione predefinita, un archivio dell'istanza è configurato per uno spazio di tabella temporaneo ma non per la cache flash. Non è possibile inserire i file di dati Oracle e i file di registro del database in un archivio dell'istanza.

Vantaggi dell'archivio dell'istanza RDS per Oracle

Potresti prendere in considerazione l'utilizzo di un archivio dell'istanza per archiviare file e cache temporanei che puoi perdere. Se desideri migliorare le prestazioni del database o se un carico di lavoro in aumento causa problemi di prestazioni per l'archivio Amazon EBS, valuta la possibilità di dimensionarlo a una classe di istanza che supporti un archivio dell'istanza.

Posizionando lo spazio di tabella temporaneo e la cache flash in un archivio dell'istanza, si ottengono i seguenti vantaggi:

  • Minori latenze di lettura

  • Velocità di trasmissione effettiva più alta

  • Carico ridotto sui volumi Amazon EBS

  • Riduzione dei costi di archivio e snapshot grazie al carico ridotto di Amazon EBS

  • Minore necessità di eseguire il provisioning di IOPS elevati, con conseguente riduzione dei costi complessivi

Posizionando lo spazio di tabella temporaneo nell'archivio dell'istanza, si ottiene un immediato incremento delle prestazioni per le query che utilizzano lo spazio temporaneo. Quando posizioni la cache flash nell'archivio dell'istanza, le letture dei blocchi memorizzati nella cache hanno in genere una latenza molto inferiore rispetto alle letture di Amazon EBS. La cache flash deve essere "riscaldata" prima di offrire vantaggi in termini di prestazioni. La cache si riscalda da sola perché il database scrive i blocchi nella cache flash man mano che escono dalla cache del buffer del database.

Nota

In alcuni casi, la cache flash provoca un sovraccarico delle prestazioni a causa della gestione della cache. Prima di attivare la cache flash in un ambiente di produzione, ti consigliamo di analizzare il carico di lavoro e testare la cache in un ambiente di test.

Classi di istanza supportate per l'archivio dell'istanza RDS per Oracle

Amazon RDS supporta l'archivio dell'istanza per le seguenti classi di istanza database:

  • db.m5d

  • db.r5d

  • db.x2idn

  • db.x2iedn

RDS per Oracle supporta le classi di istanza database precedenti solo per il modello di licenza BYOL. Per ulteriori informazioni, consulta Classi di istanze RDS per Oracle DB supportate e Bring Your Own License (BYOL) per EE e SE2.

Per visualizzare lo spazio di archiviazione totale dell'istanza per i tipi di istanza database supportati, esegui il comando riportato di seguito in AWS CLI.

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=*5d.*large*" \ --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table

Il comando precedente restituisce la dimensione del dispositivo raw per l'archivio dell'istanza. RDS per Oracle utilizza una piccola parte di questo spazio per la configurazione. Lo spazio nell'archivio dell'istanza disponibile per gli spazi di tabella temporanei o per la cache flash è leggermente inferiore.

Versioni del motore supportate per l'archivio dell'istanza RDS per Oracle

L'archivio dell'istanza è supportato nelle seguenti versioni del motore RDS per Oracle:

  • 21.0.0.0.ru-2022-01.rur-2022-01.r1 o versioni successive di Oracle Database 21c

  • 19.0.0.0.ru-2020-10.rur-2020-10.r1 o versioni successive di Oracle Database 19c

Regioni AWS supportate per l'archivio dell'istanza RDS per Oracle

L'archivio dell'istanza è disponibile in tutte le Regioni AWS in cui sono supportati uno o più tipi di istanza. Per ulteriori informazioni sulle classi di istanza db.m5d e db.r5d, consulta Classi di istanze database. Per ulteriori informazioni sulle classi di istanza supportate da Amazon RDS per Oracle, consulta Classi di istanze RDS per Oracle DB.

Costo dell'archivio dell'istanza RDS per Oracle

Il costo dell'archivio dell'istanza è incluso nel costo delle istanze attivate dall'archivio dell'istanza. L'attivazione di un archivio dell'istanza in un'istanza database RDS per Oracle non comporta costi aggiuntivi. Per ulteriori informazioni sulle istanze attivate dall'archivio dell'istanza, consulta Classi di istanza supportate per l'archivio dell'istanza RDS per Oracle.

Attivazione di un archivio dell'istanza RDS per Oracle

Per attivare l'archivio dell'istanza per i dati temporanei di RDS per Oracle, procedi in uno dei seguenti modi:

Configurazione di un archivio dell'istanza RDS per Oracle

Per impostazione predefinita, il 100% dello spazio dell'archivio dell'istanza viene allocato allo spazio di tabella temporaneo. Per configurare l'archivio dell'istanza per allocare spazio alla cache flash e allo spazio di tabella temporaneo, imposta i seguenti parametri nel gruppo di parametri per l'istanza:

db_flash_cache_size={DBInstanceStore*{0,2,4,6,8,10}/10}

Questo parametro specifica la quantità di spazio di archiviazione allocata per la cache flash. Questo parametro è valido solo per Oracle Database Enterprise Edition. Il valore di default è {DBInstanceStore*0/10}. Se imposti un valore diverso da zero per db_flash_cache_size, l'istanza RDS per Oracle abilita la cache flash dopo il riavvio dell'istanza.

rds.instance_store_temp_size={DBInstanceStore*{0,2,4,6,8,10}/10}

Questo parametro specifica la quantità di spazio di archiviazione allocata per lo spazio di tabella temporaneo. Il valore di default è {DBInstanceStore*10/10}. Questo parametro è modificabile per Oracle Database Enterprise Edition e di sola lettura per Standard Edition 2. Se imposti un valore diverso da zero per rds.instance_store_temp_size, Amazon RDS alloca lo spazio nell'archivio dell'istanza per lo spazio di tabella temporaneo.

È possibile impostare i parametri db_flash_cache_size e rds.instance_store_temp_size per le istanze database che non utilizzano un archivio dell'istanza. In questo caso, entrambe le impostazioni restituiscono il risultato di 0, che disattiva la caratteristica. In questo caso, puoi utilizzare lo stesso gruppo di parametri per istanze di dimensioni diverse e per istanze che non utilizzano un archivio dell'istanza. Se modifichi questi parametri, assicurati di riavviare le istanze associate in modo che le modifiche abbiano effetto.

Importante

Se allochi spazio per uno spazio di tabella temporaneo, Amazon RDS non crea automaticamente lo spazio di tabella temporaneo. Per informazioni su come creare lo spazio di tabella temporaneo nell'archivio dell'istanza, consulta Creazione di un spazio di tabella temporaneo nell'archivio dell'istanza.

Il valore combinato dei parametri precedenti non deve superare 10/10 o 100%. La tabella seguente illustra le impostazioni valide e non valide dei parametri.

Impostazione db_flash_cache_size Impostazione rds.instance_store_temp_size Spiegazione

db_flash_cache_size={DBInstanceStore*0/10}

rds.instance_store_temp_size={DBInstanceStore*10/10}

Questa è una configurazione valida per tutte le edizioni di Oracle Database. Amazon RDS alloca il 100% dello spazio dell'archivio dell'istanza allo spazio di tabella temporaneo. Questa è l'impostazione predefinita.

db_flash_cache_size={DBInstanceStore*10/10}

rds.instance_store_temp_size={DBInstanceStore*0/10}

Questa configurazione è valida solo per Oracle Database Enterprise Edition. Amazon RDS alloca il 100% dello spazio dell'archivio dell'istanza alla cache flash.

db_flash_cache_size={DBInstanceStore*2/10}

rds.instance_store_temp_size={DBInstanceStore*8/10}

Questa configurazione è valida solo per Oracle Database Enterprise Edition. Amazon RDS alloca il 20% dello spazio dell'archivio dell'istanza alla cache flash e l'80% dello spazio dell'archivio dell'istanza allo spazio di tabella temporaneo.

db_flash_cache_size={DBInstanceStore*6/10}

rds.instance_store_temp_size={DBInstanceStore*4/10}

Questa configurazione è valida solo per Oracle Database Enterprise Edition. Amazon RDS alloca il 60% dello spazio dell'archivio dell'istanza alla cache flash e il 40% dello spazio dell'archivio dell'istanza allo spazio di tabella temporaneo.

db_flash_cache_size={DBInstanceStore*2/10}

rds.instance_store_temp_size={DBInstanceStore*4/10}

Questa configurazione è valida solo per Oracle Database Enterprise Edition. Amazon RDS alloca il 20% dello spazio dell'archivio dell'istanza alla cache flash e il 40% dello spazio dell'archivio dell'istanza allo spazio di tabella temporaneo.

db_flash_cache_size={DBInstanceStore*8/10}

rds.instance_store_temp_size={DBInstanceStore*8/10}

Questa configurazione non è valida perché la percentuale combinata di spazio dell'archivio dell'istanza supera il 100%. In questi casi, il tentativo di Amazon RDS non riesce.

Considerazioni sulla modifica del tipo di istanza database

La modifica del tipo di istanza database può influire sulla configurazione della cache flash o dello spazio di tabella temporaneo nell'archivio dell'istanza. Considera le seguenti modifiche e gli effetti:

Aumento o riduzione dell'istanza database che supporta l'archivio dell'istanza.

I seguenti valori aumentano o diminuiscono proporzionalmente alla nuova dimensione dell'archivio dell'istanza:

  • La nuova dimensione della cache flash.

  • Lo spazio allocato agli spazi di tabella temporanei che risiedono nell'archivio dell'istanza.

Ad esempio, l'impostazione db_flash_cache_size={DBInstanceStore*6/10} su un'istanza db.m5d.4xlarge fornisce circa 340 GB di spazio nella cache flash. Se aumenti il tipo di istanza a db.m5d.8xlarge, lo spazio della cache flash aumenta fino a circa 680 GB.

Modifica di un'istanza database che non utilizza un archivio dell'istanza in un'istanza che ne utilizza uno.

Se db_flash_cache_size è impostato su un valore maggiore di 0, la cache flash è configurata. Se rds.instance_store_temp_size è impostato su un valore maggiore di 0, lo spazio dell'archivio dell'istanza viene allocato per essere utilizzato da una spazio di tabella temporaneo. RDS per Oracle non sposta automaticamente i file temporanei nell'archivio dell'istanza. Per informazioni sull'utilizzo dello spazio allocato, consulta Creazione di un spazio di tabella temporaneo nell'archivio dell'istanza o Aggiunta di un file temporaneo all'archivio dell'istanza in una replica di lettura.

Modifica di un'istanza database che utilizza un archivio dell'istanza in un'istanza che non ne utilizza uno.

In questo caso, RDS per Oracle rimuove la cache flash. RDS ricrea il file temporaneo che si trova attualmente nell'archivio dell'istanza su un volume Amazon EBS. La dimensione massima del nuovo file temporaneo è la dimensione precedente del parametro rds.instance_store_temp_size.

Utilizzo di un archivio dell'istanza in una replica di lettura Oracle

Le repliche di lettura supportano la cache flash e gli spazi di tabella temporanei in un archivio dell'istanza. Sebbene la cache flash funzioni allo stesso modo dell'istanza database primaria, nota le seguenti differenze per gli spazi di tabella temporanei:

  • Non è possibile creare uno spazio di tabella temporaneo in una replica di lettura. Se crei un nuovo spazio di tabella temporaneo sull'istanza primaria, RDS per Oracle replica le informazioni nello spazio di tabella senza file temporanei. Per aggiungere un nuovo file temporaneo, utilizza una delle seguenti tecniche:

    • Usa la procedura Amazon RDS rdsadmin.rdsadmin_util.add_inst_store_tempfile. RDS per Oracle crea un file temporaneo nell'archivio dell'istanza della replica di lettura e lo aggiunge alla spazio di tabella temporaneo specificato.

    • Esegui il comando ALTER TABLESPACE … ADD TEMPFILE. RDS per Oracle inserisce il file temporaneo nell'archivio Amazon EBS.

    Nota

    Le dimensioni dei file temporanei e i tipi di archivio possono essere diversi nell'istanza database primaria e nella replica di lettura.

  • È possibile gestire l'impostazione predefinita della spazio di tabella temporaneo solo nell'istanza database primaria. RDS per Oracle replica l'impostazione in tutte le repliche di lettura.

  • È possibile configurare i gruppi di spazi di tabella temporanei solo nell'istanza database primaria. RDS per Oracle replica l'impostazione in tutte le repliche di lettura.

Configurazione di un gruppo di spazi di tabella temporanei in un archivio dell'istanza e in Amazon EBS

Puoi configurare un gruppo di spazi di tabella temporanei per includere spazi di tabella temporanei sia in un archivio dell'istanza che in Amazon EBS. Questa tecnica è utile quando si desidera uno spazio di archiviazione temporaneo superiore a quello consentita dall'impostazione massima di rds.instance_store_temp_size.

Quando configuri un gruppo di spazi di tabella temporanei in un archivio dell'istanza e in Amazon EBS, i due spazi di tabella hanno caratteristiche prestazionali significativamente diverse. Oracle Database sceglie lo spazio di tabella per servire le query in base a un algoritmo interno. Pertanto, query simili possono variare in termini di prestazioni.

In genere, si crea una spazio di tabella temporaneo nell'archivio dell'istanza come segue:

  1. Crea una spazio di tabella temporaneo nell'archivio dell'istanza.

  2. Imposta il nuovo spazio di tabella come spazio di tabella temporaneo predefinito del database.

Se la dimensione dello spazio di tabella nell'archivio dell'istanza è insufficiente, puoi creare uno spazio di archiviazione temporaneo aggiuntivo come segue:

  1. Assegna lo spazio di tabella temporaneo nell'archivio dell'istanza a un gruppo di spazi di tabella temporanei.

  2. Crea un nuovo spazio di tabella temporaneo in Amazon EBS se non ne esiste uno.

  3. Assegna lo spazio di tabella temporaneo in Amazon EBS allo stesso gruppo di spazi di tabella che include lo spazio di tabella dell'archivio dell'istanza.

  4. Imposta il gruppo di spazi di tabella come spazio di tabella temporaneo predefinito.

L'esempio seguente presuppone che la dimensione della spazio di tabella temporaneo nell'archivio dell'istanza non soddisfi i requisiti dell'applicazione. L'esempio crea lo spazio di tabella temporaneo temp_in_inst_store nell'archivio dell'istanza, lo assegna al gruppo di spazi di tabella temp_group, aggiunge lo spazio di tabella Amazon EBS esistente denominato temp_in_ebs a questo gruppo e imposta il gruppo come spazio di tabella temporaneo predefinito.

SQL> EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace('temp_in_inst_store'); PL/SQL procedure successfully completed. SQL> ALTER TABLESPACE temp_in_inst_store TABLESPACE GROUP temp_group; Tablespace altered. SQL> ALTER TABLESPACE temp_in_ebs TABLESPACE GROUP temp_group; Tablespace altered. SQL> EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace('temp_group'); PL/SQL procedure successfully completed. SQL> SELECT * FROM DBA_TABLESPACE_GROUPS; GROUP_NAME TABLESPACE_NAME ------------------------------ ------------------------------ TEMP_GROUP TEMP_IN_EBS TEMP_GROUP TEMP_IN_INST_STORE SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'; PROPERTY_VALUE -------------- TEMP_GROUP

Rimozione di un archivio dell'istanza RDS per Oracle

Per rimuovere l'archivio dell'istanza, modifica l'istanza database RDS per Oracle per utilizzare un tipo di istanza che non supporta l'archivio dell'istanza, ad esempio db.m5 o db.r5.