Configurare le funzioni di Oracle Database per l'infrastruttura Exadata Cloud

Questo argomento descrive come configurare Oracle Multitenant, la cifratura delle tablespace e le pagine Enormi da utilizzare con l'istanza dell'infrastruttura Exadata Cloud.

Uso di Oracle Multitenant in un'istanza dell'infrastruttura Exadata Cloud

Quando si crea un'istanza dell'infrastruttura Exadata Cloud che utilizza Oracle Database 12c o versione successiva, viene creato un ambiente Oracle Multitenant.

L'architettura multi-tenant consente a un database Oracle di funzionare come un container database (CDB) multi-tenant che include zero, uno o più pluggable database (PDB). Un PDB è una raccolta portatile di schemi, oggetti di schema e oggetti non di schema che viene visualizzata in un client Oracle Net Services come database non CDB. Tutti i database Oracle che utilizzano versioni precedenti a Oracle Database 12c non sono CDB.

Per utilizzare la cifratura dei dati trasparente (TDE) Oracle in un pluggable database (PDB), è necessario creare e attivare una chiave di cifratura master per il PDB.

In un ambiente multi-tenant, ogni PDB dispone della propria chiave di cifratura master memorizzata in un singolo keystore utilizzato da tutti i contenitori.

È necessario esportare e importare la chiave di cifratura master per qualsiasi PDB cifrato collegato al CDB dell'istanza dell'infrastruttura Exadata Cloud.

Se il PDB di origine è cifrato, è necessario esportare la chiave di cifratura principale, quindi importarla.

È possibile esportare e importare tutte le chiavi di cifratura principali TDE che appartengono al PDB esportando e importando le chiavi di cifratura principali TDE da un PDB. L'esportazione e l'importazione delle chiavi di cifratura principali TDE supportano le operazioni di scollegamento e collegamento del PDB. Durante lo scollegamento e il collegamento di un PDB, vengono coinvolte tutte le chiavi di cifratura principali TDE che appartengono a un PDB, nonché i metadati.

Vedere "Exporting and Importing TDE Master Encryption Keys for a PDB" in Oracle Database Advanced Security Guide per la release 19, 18, 12.2 o 12.1.

Vedere "ADMINISTER KEY MANAGEMENT" in Oracle Database SQL Language Reference per le release 19, 18, 12.2 o 12.1.

Per determinare se è necessario creare e attivare una chiave di cifratura per il PDB

Per creare e attivare la chiave di cifratura master in un PDB

Per esportare e importare una chiave di cifratura master

Gestione della cifratura della tablespace

Per impostazione predefinita, tutte le nuove tablespace create in un database Exadata vengono cifrate.

Tuttavia, le tablespace create inizialmente al momento della creazione del database potrebbero non essere cifrate per impostazione predefinita.

  • Per i database che utilizzano Oracle Database 12c Release 2 o successiva, vengono cifrate solo le tablespace USERS create inizialmente al momento della creazione del database. Non vengono cifrate altre tablespace, incluse quelle non USERS, in:
    • Il contenitore radice (CDB$ROOT).
    • Il pluggable database iniziale (PDB$SEED).
    • Il primo PDB creato al momento della creazione del database.
  • Per i database che utilizzano Oracle Database 12c Release 1 o Oracle Database 11g, nessuna delle tablespace create inizialmente al momento della creazione del database viene cifrata.

Per ulteriori informazioni sull'implementazione della cifratura delle tablespace in Exadata e su come influisce sui vari scenari di distribuzione, vedere Funzionamento della cifratura delle tablespace di Oracle Database in Oracle Cloud.

Creazione delle tablespace cifrate

Le tablespace create dall'utente vengono cifrate per impostazione predefinita.

Per impostazione predefinita, tutte le nuove tablespace create utilizzando il comando SQL CREATE TABLESPACE vengono cifrate con l'algoritmo di cifratura AES128. Non è necessario includere la clausola USING 'encrypt_algorithm' per utilizzare la cifratura predefinita.

È possibile specificare un altro algoritmo supportato includendo la clausola 'encrypt_algorithm' USING nel comando CREATE TABLESPACE. Gli algoritmi supportati sono AES256, AES192, AES128 e 3DES168.

Gestione della cifratura della tablespace

È possibile gestire il keystore software (noto come wallet Oracle in Oracle Database 11g), la chiave di cifratura master e controllare se la cifratura è abilitata per impostazione predefinita.

Gestione della chiave di cifratura principale

La cifratura delle tablespace utilizza un'architettura basata su chiavi a due livelli per cifrare (e decifrare) in modo trasparente le tablespace. La chiave di cifratura master viene memorizzata in un modulo di sicurezza esterno (keystore software). Questa chiave di cifratura principale viene utilizzata per cifrare la chiave di cifratura della tablespace, che a sua volta viene utilizzata per cifrare e decifrare i dati nella tablespace.

Quando si crea un database in un'istanza di Exadata Cloud Service, viene creato un keystore software locale. Il keystore è locale per i nodi di calcolo ed è protetto dalla password di amministrazione specificata durante il processo di creazione del database. Il keystore del software di login automatico viene aperto automaticamente all'avvio del database.

È possibile modificare (rotazione) la chiave di cifratura master utilizzando l'istruzione ADMINISTER KEY MANAGEMENT SQL. Ad esempio:

SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'tag'
IDENTIFIED BY password WITH BACKUP USING 'backup';
keystore altered.

Vedere "Managing the TDE Master Encryption Key" nel manuale Oracle Database Advanced Security Guide per la Release 19, 18, 12.2 o 12.1 o "Setting and Resetting the Master Encryption Key" nel manuale Oracle Database Advanced Security Administrator's Guide per la Release 11.2.

Controllo della cifratura della tablespace predefinita

Il parametro di inizializzazione ENCRYPT_NEW_TABLESPACES controlla la cifratura predefinita delle nuove tablespace. Nei database Exadata, questo parametro è impostato su CLOUD_ONLY per impostazione predefinita.

I valori di questo parametro sono i seguenti.

Valore descrizione;
ALWAYS Durante la creazione, le tablespace vengono cifrate in modo trasparente con l'algoritmo AES128 a meno che non venga specificato un altro algoritmo nella clausola ENCRYPTION.
CLOUD_ONLY Le tablespace create in un database Exadata vengono cifrate in modo trasparente con l'algoritmo AES128 a meno che non venga specificato un algoritmo diverso nella clausola ENCRYPTION. Per i database non cloud, le tablespace vengono cifrate solo se viene specificata la clausola ENCRYPTION. ENCRYPTION è il valore predefinito.
DDL Durante la creazione, le tablespace non vengono cifrate in modo trasparente per impostazione predefinita e vengono cifrate solo se viene specificata la clausola ENCRYPTION.
Nota

Con Oracle Database 12c Release 2 (12.2) o successiva, non è più possibile creare una tablespace non cifrata in un database Exadata. Se si imposta ENCRYPT_NEW_TABLESPACES su DDL e si esegue un comando CREATE TABLESPACE senza specificare una clausola ENCRYPTION, viene restituito un messaggio di errore.

Gestione di pagine enormi

Huge Pages offre notevoli vantaggi in termini di prestazioni a Oracle Database in sistemi con grandi quantità di memoria. Oracle Database su un'istanza dell'infrastruttura Exadata Cloud fornisce impostazioni di configurazione che utilizzano pagine enormi per impostazione predefinita; tuttavia, è possibile apportare modifiche manuali per ottimizzare la configurazione di pagine enormi.

Huge Pages è una funzionalità integrata nel kernel Linux 2.6. L'abilitazione di Huge Pages consente al sistema operativo di supportare pagine di memoria di grandi dimensioni. L'utilizzo di Huge Pages può migliorare le prestazioni del sistema riducendo la quantità di risorse di memoria e CPU del sistema necessarie per gestire le tabelle delle pagine Linux, che memorizzano la mappatura tra gli indirizzi di memoria virtuale e fisica. Per i database Oracle, l'utilizzo di Huge Pages può ridurre drasticamente il numero di voci della tabella delle pagine associate all'area SGA (System Global Area).

Nelle istanze dell'infrastruttura Exadata Cloud, una pagina standard è di 4 KB, mentre una pagina enorme è di 2 MB per impostazione predefinita. Pertanto, un Oracle Database su un sistema DB Exadata con un'area SGA da 50 GB richiede 13.107.200 pagine standard per ospitare l'area SGA, rispetto alle sole 25.600 pagine significative. Il risultato sono tabelle di pagine molto più piccole, che richiedono meno memoria da memorizzare e meno risorse CPU da accedere e gestire.

Regolazione della configurazione delle pagine enormi

La configurazione di Huge Pages per Oracle Database è un processo in due fasi:

  • A livello di sistema operativo, la quantità complessiva di memoria allocata alle pagine enormi è controllata dalla voce vm.nr_hugepages nel file /etc/sysctl.conf. Questa impostazione viene eseguita su ogni nodo di calcolo nell'ambiente ed è consigliabile che l'impostazione sia coerente in tutti i nodi di calcolo. Per modificare l'allocazione della pagina Enorme, è possibile eseguire il seguente comando su ogni nodo di calcolo come utente root:

    # sysctl -w vm.nr_hugepages=value 

    dove value è il numero di pagine enormi che si desidera allocare.

    Nelle istanze dell'infrastruttura Exadata Cloud, ogni pagina enorme è di 2 MB per impostazione predefinita. Pertanto, per allocare 50 GB di memoria a Huge Pages è possibile eseguire il seguente comando:

    # sysctl -w vm.nr_hugepages=25600
  • A livello di Oracle Database, l'uso delle pagine enormi è controllato dall'impostazione del parametro di istanza USE_LARGE_PAGES. Questa impostazione si applica a ogni istanza di database in un database in cluster. Oracle consiglia di impostare un'impostazione coerente in tutte le istanze di database associate a un database. Di seguito sono riportate le opzioni disponibili.
    • TRUE: specifica che l'istanza di database può utilizzare le pagine Enormi, se disponibili. Per tutte le versioni di Oracle Database dopo 11.2.0.3, Oracle alloca più SGA possibile, utilizzando Huge Pages. Quando l'allocazione Huge Page è esaurita, vengono utilizzate le pagine di memoria standard.
    • FALSE: specifica che l'istanza di database non utilizza le pagine Enormi. Questa impostazione non è generalmente consigliata se sono disponibili pagine di grandi dimensioni.
    • ONLY: specifica che l'istanza di database deve utilizzare le pagine Enormi. Con questa impostazione, l'avvio dell'istanza di database non riesce se l'intera SGA non può essere inserita nelle pagine Enormi.

Se si apportano modifiche a livello di sistema operativo o di Oracle Database, assicurarsi che la configurazione complessiva funzioni.

Per ulteriori informazioni, vedere Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems per la release 19, 18, 12.1 o 11.2 per una panoramica generale di Huge Pages e per ulteriori informazioni sulla configurazione di Huge Pages. Inoltre, vedere USE_LARGE_PAGES in Oracle Database Reference per la release 12.2, 12.1 o 11.2.