DBAtlas · Atlas d'exploitation des bases de données

Chiffrer des tablespaces avec TDE (nouveaux et existants, en ligne/hors ligne)

OracleSécurité

Commande

-- Prerequisite: keystore OPEN and master key set (v$encryption_wallet.status = 'OPEN')

-- 1) New encrypted tablespace:
CREATE TABLESPACE customer_enc
  DATAFILE '+DATA' SIZE 1G AUTOEXTEND ON NEXT 256M MAXSIZE 20G
  ENCRYPTION USING 'AES256' ENCRYPT;

-- 2a) Encrypt an existing tablespace ONLINE (12.2+, needs extra space temporarily):
ALTER TABLESPACE customer_data ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
-- If not OMF: ... ENCRYPT FILE_NAME_CONVERT = ('customer_data01.dbf', 'customer_data01_enc.dbf');

-- 2b) OFFLINE conversion (no extra space, tablespace unavailable meanwhile):
ALTER TABLESPACE customer_data OFFLINE NORMAL;
ALTER TABLESPACE customer_data ENCRYPTION OFFLINE ENCRYPT;
ALTER TABLESPACE customer_data ONLINE;

-- 3) Progress and status:
SELECT t.name AS tablespace_name, e.encryptionalg, e.status, e.con_id
FROM   v$encrypted_tablespaces e
  JOIN v$tablespace t ON t.ts# = e.ts# AND t.con_id = e.con_id;
SELECT tablespace_name, encrypted FROM dba_tablespaces ORDER BY tablespace_name;

Ce que fait la commande

Le chiffrement de tablespace chiffre chaque bloc écrit dans les datafiles ; les données sont en clair dans le buffer cache, donc aucun changement d'application ni de SQL n'est nécessaire. La conversion en ligne construit une copie chiffrée du datafile et bascule dessus pendant que les DML continuent ; la conversion hors ligne chiffre les blocs sur place.

Quand l'utiliser

Pour chiffrer au repos les tablespaces applicatifs contenant des données sensibles, déplacer des données vers un nouveau tablespace chiffré, ou clore une constatation d'audit.

Attention

En on-premise, exige l'option Advanced Security (payante). La conversion en ligne nécessite un espace supplémentaire égal aux datafiles chiffrés et génère beaucoup d'E/S et de redo ; une standby Data Guard effectue le même travail. La conversion hors ligne doit être exécutée séparément sur une standby Data Guard. SYSTEM/SYSAUX/UNDO peuvent être chiffrés en ligne en 12.2+ mais demandent une attention particulière. Les sauvegardes de tablespaces chiffrés ne peuvent pas être restaurées sans le keystore.

Ouvrir dans DBAtlas →

Voir aussi