DBAtlas · Atlas de operaciones de bases de datos

Cifrar tablespaces con TDE (nuevos y existentes, online/offline)

OracleSeguridad

Comando

-- 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;

Qué hace

El cifrado de tablespaces cifra cada bloque escrito en los datafiles; los datos están en claro en el buffer cache, por lo que no se necesitan cambios en la aplicación ni en el SQL. La conversión online construye una copia cifrada del datafile y cambia a ella mientras continúa el DML; la conversión offline cifra los bloques in situ.

Cuándo usarlo

Para cifrar en reposo los tablespaces de aplicación que contienen datos sensibles, mover datos a un nuevo tablespace cifrado o cerrar un hallazgo de auditoría.

Precaución

On-premises requiere la opción Advanced Security (costo adicional). La conversión online necesita un espacio adicional igual al de los datafiles que se cifran y genera mucha I/O y redo; un standby de Data Guard realiza el mismo trabajo. La conversión offline debe ejecutarse por separado en un standby de Data Guard. SYSTEM/SYSAUX/UNDO se pueden cifrar online en 12.2+ pero requieren cuidado adicional. Los backups de tablespaces cifrados no se pueden restaurar sin el keystore.

Abrir en DBAtlas →

Relacionado